So-net無料ブログ作成
検索選択

ピアソンとの13年間 (3) [ピアソン]

プログラミング言語Java 第3版

プログラミング言語Java (The Java Series)


プログラミング言語Java 第4版

プログラミング言語Java (The Java Series)

  • 作者: ケン・アーノルド
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2007/04
  • メディア: 単行本

初めて技術書の翻訳を手がけたのが『プログラミング言語Java第3版』でした。第2版は、日本語へは翻訳されていません。そして、『プログラミング言語Java第4版』では、翻訳に先立って、原著のレビューも行いました。

両方で、12年間でしたが、『プログラミング言語Java第4版』の出版社在庫が完全になくなり、本当の意味で絶版となりました。今のところ私が知る限りでは、原著の『The Java Programming Language, Fifth Edition』がいつ執筆されるのかは不明です。

人生は自分が触れたものになる (2) [プログラマー現役続行]

以前、「人生は自分が触れたものになる」になるという記事を書いています。
20代にしておきたい17のこと (だいわ文庫)

20代にしておきたい17のこと (だいわ文庫)

「人生は自分が触れたものになる」と私は考えています。
三流のものに囲まれて、三流のものに触れていたら、三流になる。
一流のものに囲まれて、一流のものに触れていると、やっぱり、一流に近づいていくようになります。
(途中省略)
自分の環境をどうつくるか-それで、その人が変わります。
本田 健、『20代にしておきたい17のこと』
ソフトウェアエンジニアとして一流の人達の組織で働くことは、常に高い基準が求められることになり、様々な努力をすることが求められて必然的に一流に近づいていくと思います。

三流の人達の組織で働くことは、高い基準は求められず、結果としてやはり三流になってしまうということです。

したがって、新卒で働き始めた場合には、どのような開発組織で働くかにより、その人の成長は大きく左右されます。逆に言えば、先輩が一流になる努力を続けていない組織では、若手が一流になることはないかもしれないということです。その結果、開発組織としても三流になるのです。

初めてのパスポートを手に、米国へ向かったのは、25年前の11月でした。確か、2時間遅れでLAXに到着しました。1984年に入社した多くの同期と一緒に米国へ赴任し、Salientプロジェクトに取り組み始めた年(1988年)でした。
※ Mesa言語で書かれたXerox StarワークステーションのソフトウェアをSunワークステーションへ移植するプロジェクトでした。日米合わせて約200人のエンジニアが従事したプロジェクトでした。

私にとってSalientプロジェクトは、一流のエンジニアと一緒に仕事をする最初の機会を与えてくれたプロジェクトでした。そして、プロジェクトが進むにつれて、彼ら彼女らは、会社を離れていくだろうという予感があり、その予感は的中していきました。

2年5か月後にSalientプロジェクトを終えてほとんどのエンジニアが日本に帰国する中で、今度は米国内で転勤してXerox PARCのPageMillプロジェクトに参加することになりました。PageMillプロジェクトは、一流を越えて超一流の人達の集まりでした。

PageMillプロジェクトは、発展してWhite Waterプロジェクトとなり、1993年5月に私は2年間のシリコンバレーでの駐在を終えて日本に帰国し、継続して商品化に従事しました。そして、1996年の初めにDocuStation IM 200として世に送り出されました。

4年半の米国駐在は、私にとって一流の人達と一緒に仕事をする機会を与えてくれたと言えます。

[改訂第6版] LaTeX2ε美文書作成入門 [本]

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε美文書作成入門


技術書の翻訳は、『Effective Javaプログラミング言語ガイド』からLaTeXを使用して自分自身で組み版作業を行っています(ただし、『アプレンティスシップ・パターン』は、出版社で組み版しています)。いつも手元に置いて必要な時に参照している書籍の1冊が『LaTeX2ε美文書作成入門』です。第6版が出版されます。

ソフトウェアエンジニアの成長カーブ(再掲載) [プログラマー現役続行]

ソフトウェアエンジニアの成長カーブ
最近良く話していることなのですが、社会人として働き始めた新卒の技術者は、最初の数年は成長していきます。与えられた業務を遂行しながら、そのための学習もしていくからです。しかし、2、3年すると開発業務をこなせるようになり、特に新たな勉強をしなくても、日々、会社に行って開発業務が遂行できるようになります。

この状態、つまり、継続した学習をしなくなった状態で、10年とか経過すると、ソフトウェアの世界は大きく変化している可能性があり、新たな技術が登場し、その人の技量は相対的に今度は低下しはじめます。しかし、この時点で、新たなことを学習するのは困難だったりします。学習する習慣が無いわけですから、勉強しろと言っても、「なぜ、休みの日に勉強しなければならないのですか」ということになります。

そのような人に対して、マネジメントは、その人ができる仕事を与えて、何とか仕事をしてもらいますので、「新たなことを勉強しなくても、仕事はあるじゃないか」と本人は勘違いしてしまいます。この勘違いした状態になった人が声が大きかったり、(長く開発業務に従事しているという意味で)中堅だったりすると、その開発チームは全く成長しなくなってしまいます。

ソフトウェアエンジニアの成長カーブ(2)
「ソフトウェアエンジニアの心得」の教育を今日から始めます。と言っても、今まで行ってきた教育や講演の内容と同じです。しかし、今回、スライドを追加しています。

成長カーブ.JPG
ソフトウェアエンジニアの成長カーブ(イメージ図)

以前、ブログに書いた「ソフトウェアエンジニアの成長カーブ」をイメージにしたものです。特に、統計調査したものでもありません。あくまでも、私が経験したきたことから想像するイメージです。また、直線で引いていますが、実際の成長は、直線ではありません。

横軸は経験年数、縦軸は「ソフトウェア・スキル・インデックス」です。もちろん、このグラフは正確なカーブを示したものではなく、傾きや高さには個人差もあります。そして、そもそも「ソフトウェア・スキル・インデックス」を正確に測る方法はありません。

ソフトウェアエンジニアの成長カーブ(3)
先日書いた成長カーブのスライドについての補足です。(「ソフトウェアエンジニアの成長カーブ(2)」)

最初の数年の成長カーブは、所属する開発組織によって、その傾きの角度が大きく変わります。傾きが小さい(悪い)組織、つまり、教育もされず、まわりにも勉強している人がいないような環境であれば、傾きが小さいままレベル3を超えることなく、水平線に移ってしまう可能性があります。一方、その全く逆の組織であれば、最初の3年で確実にレベル3を超えてしまいます。

前者の傾きが低いままレベル3を超えることなく、10年過ぎてしまった人の意識を変えさせるのは、私自身の経験から、私はほとんど不可能だと思っています。会社の中では、何か対策を考えろとか言われることも多いでしょうが、即効性の効果的な対策はないと思います。

ソフトウェア開発は専門職であり、一人前になるには10年以上を要するのですから、やはり、徒弟制度的に、毎年きちんと若手を育成するサイクルが回っていく必要があります。そうしないと、初心者である新人は、10年後も初級職人の域を出ずに、かつ、若手への正しい指導もできないまま10歳年を取ってしまいます。



スポンサーリンク





12月から第21期Java研修を開講・・・本当に最後の期? [プログラミング言語Java教育]

第20期の募集に対して18名の新卒新人からの応募があったので、12名を20期として、新卒新人に限定しない追加募集を6名を加えた12名で、21期を12月から開講することにしました。当初、テキストを20期の12名分しか調達していなかったのですが、21期の12名分も調達できたので開講することにしました。

この教育で特徴的なのは、一年コースであるにもかかわらず、グループや部署などで修了生が増えてくると、その組織としては、新しい人が入ってきても受講して当然という雰囲気になっていくことです。そして、同じだけの知識を身に付けることが周りから求められるようになってきます。

また、この研修を通して私自身が分かるのは、新卒新人の知識レベルです。Java言語の教育ですが、実際には、コンピュータサイエンスの基礎的なことを教えていることが多いです。そして、「ハッシュテーブルの季節」は、毎年やってきます。

Jolt Awards: The Best Books [プログラマー現役続行]

今年度のJolt Awards: The Best Booksが発表されました。

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence


Team Geek: A Software Developer's Guide to Working Well With Others

Team Geek: A Software Developer's Guide to Working Well With Others

  • 作者: Brian W. Fitzpatrick
  • 出版社/メーカー: Oreilly & Associates Inc
  • 発売日: 2012/07/18
  • メディア: ペーパーバック

Taming Text: How to Find, Organize, and Manipulate It

Taming Text: How to Find, Organize, and Manipulate It

  • 作者: Grant S. Ingersoll
  • 出版社/メーカー: Manning Pubns Co
  • 発売日: 2013/01/21
  • メディア: ペーパーバック

Dependency Injection in .NET

Dependency Injection in .NET

  • 作者: Mark Seemann
  • 出版社/メーカー: Manning Pubns Co
  • 発売日: 2011/10/07
  • メディア: ペーパーバック

Lean UX: Applying Lean Principles to Improve User Experience

Lean UX: Applying Lean Principles to Improve User Experience

  • 作者: Jeff Gothelf
  • 出版社/メーカー: Oreilly & Associates Inc
  • 発売日: 2013/03/08
  • メディア: ハードカバー