Miyagi

 

Armağan Amcalar

CraftSummit 2015, Istanbul
May 30th, 2015

The Secret of

Who am I?

Armağan Amcalar
Co-founder, Chief Software Architect
Startup Kitchen

hobby projects

pedals.io
trax.io

Craft|krɑːft|noun

1. An occupation that favors skilled labor over capital and requires training, dexterity and mastery.

Aesthetics!

Skilled labor

Labor that produces unique, value-added outcome. Not monotonous, no mass production.

No two code base is the same and one is always required to solve new problems.

Mastery

A new graduate is very different from an experienced engineer.

But an engineer who spent years without gaining mastery is also a lot different than an engineer who achieved mastery in a shorter time.

Dexterity

Required to solve complex problems relatively easily.

 

A dexterous developer solves problems easily and for once. An inept developer's code may break or needs fixing the next day, or may even never work.

Aesthetics

Master software craftsmen take care to produce well-formed code, useful and consistent API, solid software architecture and even that pixel-perfect front-end application.

 

They take pride in their work as their work pleases the eyes and the soul.

Problem

Software engineering taught in schools is not a real craftsmanship training.

 

Craftsmanship training takes long years, working actively on the area of profession, producing real output. The master passes the intricacies and the secrets to the apprentice on a one-on-one interaction.

Learning from the book?

No fear, no pain, no defeat in this dojo.

A complete poser.

Trust. Concentrate. Imagine a picture in your mind and apply it.

If come from inside, the picture is right.

The purpose of Karate is not only fighting.

Solving real problems, discovering a better approach, creating better code, better value.

You train to not have to fight.

Karate is in your brain and heart.
Not your belt.

We use canvas belt.

The best way to earn respect is to fight good.

Don't ask, just learn.

Think outside the fence!

Balance good, everything good.

You always want to learn the cool things but balance is important.

First learn to stand. Then you can learn to fly.

Trust the quality of what you know, not quantity.

I hate fighting.

There is always someone better than you.

Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple.

But it’s worth it in the end because once you get there, you can move mountains.”

—Steve Jobs

A licence never replaces your eye, ear and brain.

Your heart tells if you are brave. A medal tells only if you are lucky.

For a person with no forgiveness in the heart, living is even a worse punishment than death.

For a person with no forgiveness in the heart, living is even a worse punishment than death.

If your roots are strong, you can grow no matter what.

Ten Commandments of Bertrand Russell

1) Do not feel absolutely certain of anything.

3) Never try to discourage thinking for you are sure to succeed.

4) When you meet with opposition, even if it should be from your husband or your children, endeavor to overcome it by argument and not by authority, for a victory dependent upon authority is unreal and illusory.

7) Do not fear to be eccentric in opinion, for every opinion now accepted was once eccentric.

8) Find more pleasure in intelligent dissent than in passive agreement, for, if you value intelligence as you should, the former implies a deeper agreement than the latter.

The best training is by "doing".

Choose one of your student's dreams (of a startup idea).


Develop together.

GitHub or GitLab for SCM & code review.

Teach resource allocation
and process planning.

When do you do architecture? In what order do you develop the software? How do you prioritize the work ahead?

Trello for process management.

Prefer asynchronous and written communication.

The student can read and learn from the old archives when needed.

Slack for communication.

Focus.
Your best karate is still inside you.

Now is the time to let it out.

Thank you.

Let's keep in touch!

Armağan Amcalar

armagan@amcalar.com
twitter: @aamcalar
github: dashersw
blog: arm.ag

The Secret of Miyagi

By Armağan Amcalar

The Secret of Miyagi

Software craftsmanship and craftsmanship training is a very hard and tedious journey. In this talk, I will unravel the challenges in craftsmanship training via examples from Mr. Miyagi's teaching.

  • 4,459