The Clean Coder ch14 Mentoring

The Clean Coder勉強メモ

出典: 


Mentoring, Apprenticeship, And Craftsmanship

  • CSを納めた学生の質にがっかり

    • プログラムのなんたるかをちゃんと教わってない

Degrees of Failure

  • 修士のインターン生が「プログラム書いたことないんです」という惨状
  • できる奴は大学前から独学してて、入学後も継続していたりする
  • 学校で教えることと実務との乖離

Mentoring

Digi-Comp I, My First Computer

  • はじめてのプログラムの話
  • プラスチックでできた3ビット有限オートマトン
  • 12歳の子どもにもわかるようにブール代数のマニュアルを書いてくれた人への感謝

The ECP-18 in High School

  • 大人のプログラミングを横で見ていろいろ学んだ話
  • 指導をうけたわけではないが、すごい速度で学びを得た

Unconventional Mentoring

  • 先の2つの例は、「mentoring」という言葉がふつう意味するところではない

    • よくできたマニュアルを読んで学んだ
    • 見て盗んだ
  • 親切にしてくれた人も何人かいたにはいた
  • が、基本的には独学

Hard Knocks

  • 成功しはしたが、師がいたらもっとよくなっていたと思う

Apprenticeship

  • 医者はどうか

    • 医学生を雇って初日に患者の胸を開かせるか?
    • んなわけない
    • インターン
    • その後契約期間
    • そしてようやく有資格者になる
  • ソフトウェア産業にそのままは当てはまらないにしても、どうすべきか

    • 人死には少ないにせよ、バグが原因の金銭損失はままある

Software Apprenticeship

  • ボブおじが考えた理想の育成計画
  • プロとしての格付け

    • どんなステップを踏めばよいか
    • どんな困難を乗り越えるべきか
    • どんな目標を達成すべきか

Masters

  • 少なくとも1プロジェクトをリードした

    • 10年以上の経験
    • 複数のシステム・言語・OSで実務経験あり
  • 複数チームをリード・調整するすべを知っている
  • 熟練した設計者・システムアーキテクトである
  • 他の誰よりもうまくコーディングする
  • 管理職を薦められたが

    • 断ったか、
    • 受けたあと技術職に戻ったか、
    • 技術職を主要な役割として、両立している

Journeymen

  • 訓練され、有能で、エネルギーのあるプログラマ
  • チームで働くこと、チームをリードすることを学んでいく段階
  • いろいろなシステムでの実務経験はまだない
  • 1つの言語、1つのシステム、1つのプラットフォームしか知らない傾向にある

    • が、これからより多くを知っていく
  • 5年くらいのキャリア
  • masters、あるいは先輩のjourneymenに管理監督される
  • 成長するにつれて自己決定権を認められていく

Apprentices/Interns

  • journeymenによる管理監督下

    • 自己決定権なし
  • ペアプロで規律を習得する
  • journeymenによる教育

    • 設計原則
    • デザパタ
    • 規律

      • TDDとかリファクタリングとか
    • 作法
    • 見積もり
    • もろもろ
  • だいたい1年間くらい下積みする
  • journeymenの推薦で、mastersによる面接や達成度確認等を経て、journeymenになる

The Reality

  • 言葉の違い等はあれど、現実の組織も大体こうなっているだろう
  • 現実の組織の問題は、技術的な「管理監督」を全うしなくても昇進・昇給してしまうこと

Craftsmanship

  • プロ意識
  • 人から人に教え広め、また若輩から学び直すもの

Convincing People

Conclusion

  • 人材を育成するのは大学ではなく現場の責任

英語

  • diploma

    • 卒業証書
  • protruding

    • 突き出ている
  • be hooked

    • 病みつきである
  • adept

    • 熟達した
  • treatise

    • 論文
  • take one’s toll

    • …に損失をもたらす

      • 本文では、経年劣化について述べている
  • latch on to

    • 理解するf
  • gratified

    • 満足する
  • nuisance

    • じゃまもの
  • protestation

    • 断言
  • that’s about it

    • それぐらいですね
  • prosper

    • 成功する
  • ensconce

    • 落ち着く
  • residency

    • 研修医
  • fellowship

    • 契約社員
  • induct

    • 就任させる、地位につかせる
  • apprenticeship

    • 見習い、年季奉公
  • proficient

    • 熟練した
  • circles around

    • …よりも上手である
  • without breaking sweat

    • やすやすと
  • “Scotty.”

    • 苦境から救い出してほしい、何とかしてくれ

      • スタートレックが元ネタ
  • journeyman

    • 年季明けの職人
  • diverse

    • 種々の
  • burgeoning

    • 急成長する
  • autonomy

    • 自己決定権
  • scrutinize

    • 綿密に検査する
  • ritual

    • 作法
  • squint at

    • 目を細めて見る
  • acumen

    • 鋭い洞察力
  • coddle

    • 大事に扱う、甘やかす
  • sterile

    • 不毛の
    • 子を生まない
  • contagion

    • 人から人へ伝わる

      • 伝染病など、マイナスなものに使われるが、よいものにも使われるっぽい
  • tutelage

    • 後見