書籍『ピープルウエア 第3版』 [本]
拙著『ソフトウェア開発の名著を読む【第2版】』でも紹介している、書籍『ピープルウェア』の第3版の翻訳がすでに出ていたようです。
2014-01-23 03:48
継続的な学習という技芸の伝統 [プログラマー現役続行]
ソフトウェア職人気質―人を育て、システム開発を成功へと導くための重要キーワード (Professional Computing Series)
- 作者: ピート マクブリーン
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2002/03
- メディア: 単行本
拙著『ソフトウェア開発の名著を読む【第2版】』を読み返して、次の部分が目に入りました。
経験豊富な優れた開発者を探し出す上での難点は、継続的な学習という技芸の伝統をすでに実践している人を探し出すという点にあります。これは、すでに優れた水準にあるものの、ソフトウェア開発の熟達度をさらに向上させようと絶えず努力している開発者を探すということなのです。確かに、継続的な学習によって、自分自身のソフトウェア開発の熟達度の向上を行うと努力している開発者を探すのは容易でありません。それは、継続的学習を早い段階でやめてしまった中堅開発者※が多いからかもしれません(「ソフトウェアエンジニアの成長カーブ(再掲載)」)。『ソフトウェア職人気質』
※ 実際には、社会人になってからの年数が長いという意味だけでの「中堅」です。
私自身は、今は54歳です。現在は、小さな開発グループのリーダをしていますが、自分自身で設計・実装・デバッグまで行いたいという欲求を抑えながら、小さいとはいえ10名以上メンバーがいる開発グループによる開発のリーディングを行っています。
自分のグループを運営する上での問題点の1つは、『ソフトウェア職人気質』で述べられているような継続的学習を実践している中堅開発者が不在ということです。前職(FXIS)での育成してきた若手は、今は中堅開発者として活躍していますが、転職により私自身が一度リセットしてしまったため、再度育成し直しという状況です。
継続的な学習という技芸を修得していれば、本来なら、経験年数が長い人の方が圧倒的に有利な業界なのですが、現実にはそのような中堅開発者が圧倒的に少ないのが、日本の現状かもしれません。開発年数とソフトウェアエンジニアの実力
コンピュータを取り巻く技術の進歩は大変速いため、大学で学んだこと、あるいは社会人になった当初の数年間に学んだことだけで、その後一生過ごせることはありません。
たとえば、私が社会人になった1984年当時は、C言語の知識があれば十分でした。1993年にC++を使うようになったのですが、これで、C/C++の両方を使用できるようになり、しばらくは新しい言語は登場しないと思っていました。
しかし、Javaが登場し、それまでのプログラミング言語の普及のスピードとは比較にならないほど短期間で広く普及し、そうこうしている間に、マイクロソフトがC#を登場させたわけです。
こうなると、どこでも通用するプログラミング言語知識として、C/C++/Java/C#が求められる時代に突入したといえるでしょう。さらに、今日ではRubyが広く普及しています。
ソフトウェア業界はこのような業界なので、本来は古くから関わっている人のほうが知識・経験が豊富となり、大学を出たばかりの新人よりは絶対に有利なはずなのです。
実際、米国では、私と同じ年代やその上の年代でも、一流のソフトウェアエンジニアとしていまだに活躍している人が少なくありません。
しかし、日本では、もともと転職をするという文化がなかったため、そのような人はかなり少ないのが現状ではないでしょうか。つまり、同じ会社に長期間在籍し続け、その分年をとったという理由で管理職となり、その結果現場の技術から離れてしまうことも多いと思います。
『プログラマー”まだまだ”現役続行』(p.122)
適切な人材を雇用する [プログラマー現役続行]
拙著『ソフトウェア開発の名著を読む【第2版】』を読み返して、次の部分が目に入りました。
正しい管理の四つの本質「適切な人材を雇用する」というは、簡単ではないかと思います。これは、外部からの採用だけでなく、社内で必要な人材を確保する場合も同じです。(それ以外のことは全部管理ごっこ)
- 適切な人材を雇用する。
- その人材を適所にあてはめる。
- 人々の士気を保つ。
- チームの結束を固め、維持する。
社内の場合、やはり、新卒新人で入社してきてから数年以内にきちんと育成していく必要があります。そうでなければ、変な行動習慣や行動基準が身についてしまう可能性もあります。
ちきりんさんの「将来有望な若者の将来価値を毀損する、大きなワナ」では、次のように述べられています。
というわけで今日のお話は、「やった!頑張った甲斐があって、就活もうまく乗り切れた!」とか、「まあ、オレのスペックならちゃんと大企業&大組織に入れるのも当然だけどね。」とか言ってる人は、実は「完全に周回遅れです」みたいな場所で人生最初の「働く訓練」を受けることがどれだけ自分の将来価値を毀損する可能性があるか、よーく考えてみたほうがいいんじゃないか、ってことなのでした。大企業だから、必ずしも毀損する訳ではないでしょうが、むしろ、その中のどのような組織や部署に配属されたかで大きく差がついてしまうかもしれません。
その損害の大きさたるや実は、「なんだかんだいっても安定してるし」「福利厚生もしっかりしてるし」みたいなぼんやりしたメリットとではとても相殺できないくらい大きなダメージになるですよ。
てか、そもそも「充実した福利厚生」なんかと交換に「自分の将来性を毀損する可能性」なんか受け入れたら話にならんでしょ。
福利厚生、特に、住宅補助のあまりの良さに最初の会社を決めたのは私です。
私自身は、今はどちらかと言えば、若い人をきちんと育てた方が、長期的は「適切な人材を確保する」ことができると思っています。必ずしも、全員が適切な人材になる訳ではないでしょうが、少なくとも、私自身が重要だと思っている基準をある程度身に付けてもらうことができると思っています(「悪い印象の払拭」)。
そのためには、Java研修も継続して実施してきていますし、技術書の勉強会を継続して開催したりして、間接的な活動を行ってきています。その成果として、私の開発グループも今年1月の増員により、今後ますます成長するであろう若手を中心とした開発組織となってきました。増員できた人材は、すべてがJava研修を修了していたり、私の勉強会に参加してきた若い人達であり、私よりも20歳以上若い人がほとんどです。
Jolt Awards読書会を開催します [Jolt Awards読書会]
今まで私が主催する勉強会は、社内向けが中心でしたが、今年からは、新たな読書会を開催します。基本的には技術書の読書会ですが、Finalistも含めたJolt Awardsを受賞した書籍の読書会にしたいと思います。
基本的には、日本語に翻訳された書籍を優先して読んでいきたいと思います。場合によっては、英語の書籍を読むことになるかもしれません。
最初の書籍は、『Team Geek』にします。
場所は、私の勤務先の会議室を使用します。
場所: (株)リコー 大森事業所 大森会館 http://goo.gl/maps/e36or
開催: 原則1回/月で、土曜日開催
時間: 13:00~17:00
定員: 12名(私も入れて)
基本的に音読していき、何かあれば、都度ディスカッションする形式で進めますので、事前の予習とかまとめの準備は不要です。
第1回の開催日および参加申し込み方法については、こちらです。
基本的には、日本語に翻訳された書籍を優先して読んでいきたいと思います。場合によっては、英語の書籍を読むことになるかもしれません。
最初の書籍は、『Team Geek』にします。
Team Geek ―Googleのギークたちはいかにしてチームを作るのか
- 作者: Brian W. Fitzpatrick
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/07/20
- メディア: 単行本(ソフトカバー)
場所は、私の勤務先の会議室を使用します。
場所: (株)リコー 大森事業所 大森会館 http://goo.gl/maps/e36or
開催: 原則1回/月で、土曜日開催
時間: 13:00~17:00
定員: 12名(私も入れて)
基本的に音読していき、何かあれば、都度ディスカッションする形式で進めますので、事前の予習とかまとめの準備は不要です。
第1回の開催日および参加申し込み方法については、こちらです。
常に学習を行う習慣を身につける [プログラマー現役続行]
第5章「継続学習力」からの抜粋です。
常に学習を行う習慣を身につける
プロフェッショナルなソフトウェアエンジニアになるには、業務を通してのソフトウェア開発を行うと同時に、地道に継続して学習することが必要です。おそらく、新卒で就職して最初の数年は、土日を含めた自分の時間をかなり費やして、基本的な事柄を自己学習し、習得しておく必要があります。
そして、常に学習を行う習慣を身につけることが大事です。そうしなければ、数年間のうちにまた新たに学習しなければならないことが増えてしまうのが、ソフトウェアの世界です。
会社は、ソフトウェア開発に必要な技術知識を、学校のように体系的に教えてくれる場所ではありません。社内教育や社外の教育コースを受講させてくれたりはするでしょうが、だからといって「教育を受けていませんから、知りません(わかりません)」といえるわけではありません。ソフトウェア開発がまともにできない新卒を採用したことだけでも、会社にとっては投資なのです。つまり、ソフトウェア開発のプロフェッショナルとして、会社は給与を支払い始めているのです。『プログラマー”まだまだ”現役続行』(p.131)
この継続して学習する習慣は、社会人になってから最初の数年とか10年とかで終わるものではなく、ずっと続けるものです。
「ソフトウェアエンジニアの成長カーブ(4)」で述べたように、生活習慣としての学習態度を失うということは、プライベートの時間に何らかの学習をするということを全くしなくなることに近いです。そして、プライベートの時間のほとんどが他の活動に費やされることになります。
しかし、一度学習態度を失ってしまうと、本当は学習しなければならない状況であることを認識するのが難しくなるのかもしれません。その結果、10年以上もプライベートで学習する習慣がないような40代になってしまうと、新たなことを自分の時間を費やして学習することは全く考えられなくなるかもしれません。
たとえば、私が長年行ってきているJava研修の受講を希望するのは、いつも社会人になったばかりか、数年以内の若手がほとんどです。30代後半以降の人達はほとんど申し込んできません。中には、本当は会社でソフトウェア開発をしたいのに、今の部署ではあまり開発業務がないためという若い人達もいます。
若い人達は、会社での開発経験が浅いということもあるでしょうが、自分のキャリアを考える上でも、良い機会なので受講する訳です。そして、プライベートの時間をかなり費やして、一年間の研修を修了します。
Java研修を受講することは、プライベートな時間をかなり費やすことになります。したがって、学習する習慣を失った人達にとっては、全く意味のないコースであり、申し込みすることはない訳なのかもしれません。
ソフトウェア業界は、途絶えることなく、新たな技術が登場し続けます。継続した学習習慣を維持することは、ソフトウェア開発組織のメンバーであり続けるには非常に重要な行動パターンの1つなのです。