25章試験に基づく開発者
論理は、あなたをAからBへと導いてくれる。想像は、あなたをどこにでも連れて行ってくれる。
――アルベルト・アインシュタイン
ソフトウェア開発組織に何年も閉じ込められて何千時間もの苦い経験をした後は、ソフトウェア開発は第二の天性になります。使っているプログラミング言語の構文に慣れ、プログラム設計の概念を理解し、優れたコードとひどいコードの違いを分かるようになってしまえば、意識して努力しなくても適切なコーディング上の決定を自然と行えるようになっています。日々のコーディング活動と「小さい設計」は本能になります。指が覚えているので、正しい構文が書けます。
何も考えずに「衝動的に行動する」やり方は、カウボーイコーダーの兆候ですが、経験を積んだプログラマは、深く考えることなく驚くほど効率的に働くことができます。これは、経験がもたらす恩恵です。
あなたは、その段階に達していますか。
「24章 学びを愛して生きる」で述べられている能力の四段階(Four Stages of Competence)モデルによれば、理想の状態は自覚のない有能(unconscious competence)です。意識的に考えなくてもできる行動であれば、行っていることと、それがどれほど困難であるかを正確に気づいていなくても効果的に行える仕事なのです。
自覚のない有能の状態に達するには多くの活動があります。活動によっては専門的です。一方で、活動によっては日常的であり、人は注意深くなくても歩いたり食べたりできます。人々が能力の四段階でスキルの向上を自覚できる活動は、自動車の運転です。
運転は、プログラミングと興味深い類似があります。運転を学ぶことは、ソフトウェア開発を学ぶことと多くの類似があり、二つを比較することで教訓を学ぶことができます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access