読書メモ
・「プログラマー現役続行」
(柴田 芳樹 :著、技評SE新書 \840) : 2008.12.01
内容と感想:
現在、40代後半でも現役プログラマーとして活躍する著者。ソフトウエア開発に関する著書、翻訳書も多い。
本書は過去の技術系雑誌の記事を整理して単行本化したもの。
「プログラマー35年定年説」のようなものが昔から言われているが、
第一線で活躍できるかどうかは年齢には関係なく、ソフト開発にどう取り組んできたかという「姿勢に大きく左右される」と著者は考えている。
それはソフト開発という仕事に限ったことではないだろう。
それを楽しみながら、成長し、継続していけることが重要だ。
単なるプログラミングの仕事はコストの安い海外の新興国へアウトソースされることが多くなった。
日本のプログラマーはまだ日本語の壁に守られているとも言われるが、経済がグローバル化する中で
日本のプログラマーも競争の波に晒されている。他国のエンジニアとの差別化を図り、自らの能力を証明していかなくてはならなくなっている。
そんな時代に日本でプログラマーあるいはソフトウエアエンジニアとして生きていくにはどうすべきかのヒントを本書は与えてくれる。
本書の第3章から9章までで、著者がプログラマーとして現役続行に必要な7つの力について述べている。
それらは他の業種にも応用可能な考え方で、普遍性があると感じた。
技術者としての差別化を図り、付加価値を打ち出していくには技術を極めて、自らかけがえのない人材とならなければならない。
会社が教育してくれるのを期待するような待ちの姿勢では、なかなか成長していけないだろう。
若手も中堅もベテランも、足元を見つめ直すために読むと発見があると思う。業界のあり方やキャリア形成の考え方などを考えさせられる。
私も若手を指導する立場にあるが、勉強会のやり方など(第5章)ヒントが得られた。
本書は職人としてのプログラマーをテーマにしているから、テクニカルなノウハウばかりという印象だが、
これからはユーザの要求を素早く理解して設計し、形にしていくバランスよい、総合的な能力が必要とされるのではないだろうか。
勿論、最低限のプログラミング能力は身に付けておく必要はある。
○印象的な言葉
・新たな技術の学習の継続、若手への技術教育
・自分の道具箱に様々な道具を揃えておく
・ソフト開発の生産性に大きく関与するのは個人の力量
・グーグルに過度に依存する結果、自分の頭で考えることができなくなる
・一人前になるのに10年
・社外からの評価の重要性。技術雑誌に記事やコラムを、専門書を執筆。講演。社外コミュニティへの参加。
・職人としての7つのレベル:職人→名人→匠
・会社に依存しない
・任せられる人になる。「△△さんに聞けば答えてくれる」と言われる人になる。
・多くのプログラムを書き、優れたプログラムを読み、先輩の指導を受ける
・本質を見極める能力
・方法論やツール類では個人の能力差は解消できない
・日本では専門職として昇進することが少ない。技術を極めることを会社が期待していない。
・グーグルではプログラミングもマネジメントも両方することが期待されている
・キーボードに早く触りたい気持ちを抑える
・名人や匠は職人を育成する立場。根気よく勉強会を実施。育成方法を探究し、その成果を普及する活動も。
・説明が相手に伝わらない場合、抽象度を上げたり、別の観点からの説明など、方法を変えていく
・ソースコードのコメントやドキュメント:プログラムを読んだだけでは分からない事柄の補足のため
・設計やプログラムの「臭い」に対する嗅覚
・開発環境を改善するためのツールを書く
・再利用可能なソフトを設計するにはかなり高度な抽象化能力が必要
・継続して本を読む
・日本には初心者向けの技術書が多い
・その技術を作り出した人が書いた本を読む
・他の技術を学ぶことで、それぞれの長所・短所を知る
・勉強の習慣は所属する組織やグループの文化に左右される
・開発方法を変えるような示唆に富む書籍も英語が先。英文法を身に付け効率的な英語力を習得。
大量の英文を読み、大量の英語を聞く。知らない単語でも前後から推測。多読。耳を慣らす。抵抗感をなくす。
・インプットであるリスニングとリーディングの継続が、アウトプットであるライティングとスピーキングの基礎になる。
・テストは品質レベルを知る手段。品質を保証しない。品質の改善もしない。
・コードレビューは小さな単位で頻繁に実施。不具合の責任はレビューで見逃したチームにある。個人ではなくプロセスに原因を追究するべき。
・レビューには知識の伝達が効率的に行なえる効果がある。チームの底上げになり、知識を共有できる。
・有能とは相手の期待値を超えた仕事をすること
・能力と仕事の範囲を広げて成長できるかどうかは自分次第
・知識への投資は常に最高の利息がついてくる
-目次-
第1章 ソフトウェアは「人」が作る
第2章 プログラマー現役続行
第3章 論理思考力 ―現役続行に必要な七つの力1
第4章 読みやすいコードを書く力 ―現役続行に必要な七つの力2
第5章 継続学習力 ―現役続行に必要な七つの力3
第6章 コンピュータサイエンスの基礎力 ―現役続行に必要な七つの力4
第7章 朝型力 ―現役続行に必要な七つの力5
第8章 コミュニケーション力 ―現役続行に必要な七つの力6
第9章 英語力 ―現役続行に必要な七つの力7
第10章 コードレビューの勧め
第11章 若い人たちへ
|