Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

中堅エンジニアにレベルアップしようとする若手エンジニアが読んでおくべき技術書


こんばんは。kimukimuです。

早いもので、今日で2011年度も終わります。
だから・・・というわけではないですが、
若手エンジニアとして中堅エンジニアにレベルアップするために
読んでおくべき(読み返しておくべき)の技術書を投稿します。

・・・ただ、あくまでkimukimu(前提は下記)がそう考えているだけなのであって、
もし『俺がよりよい技術書を教えてやるぜ!』という方がいるなら
是非コメントください^^;

1.kimukimuの前提

まず、私自身の前提としては下記となります。

やっている仕事:Web、集中制御監視システム、プラットフォーム開発、分散システム開発

Webシステム、制御監視システムをキャリアの初期に経験し、
最近はAndroid、Infinispan、Twitter Stormといった技術要素を盛り込んだ
分散システムのプラットフォームの開発が仕事となっています。
・・・別名、『JavaJVMに関することなら何でもやるなんでも屋』とも言えるかもしれません。

仕事の立場:プロジェクトリーダー見習い

一人前のプロジェクトリーダーというわけではないですが、
部下もつき、その上で自分自身で開発も行っているという立場になります。

やっている工程:要求分析の一部+基本設計〜リリース

そもそもシステムが何を成し遂げたいか、という分析/明確化も一部持ち、
その上でシステムを設計してリリースまで担当する・・・
というのが現状の担当行程です。

・・・ちなみに、挙げているからといって完全に理解できているわけでもありません。
一部、やたらと奥深い本も混じっていますので^^;

2.中堅にレベルアップしようとする若手エンジニアが読んでおくべき(読み返しておくべき)技術書

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース
ソフトウェア開発者としては鉄板とも言うべき教科書です。
コンピュータ学の金字塔とも呼ばれる世界的に見ても有名な本だと思います。
それなりに経験を積んだ今読み返し、新たな発見を得る事が出来ました。

アジャイルサムライ−達人開発者への道−
会社でアジャイル開発を行っているわけではない人であっても読んでおくべき1冊。
開発プロジェクトを現実的によくする工夫をする一端を与えてくれる一冊です。

達人プログラマー―システム開発の職人から名匠への道
プログラムを書く上で、システムを開発する上で、開発者として大事な心構えを教えてくれる本。
決して具体的な内容が書かれているわけではありませんが、姿勢として守るべきことを語っている本です。

要求を仕様化する技術・表現する技術
お客様の要望をいかにシステムとして実現可能な『仕様』に落とし込むかを記述した本。どこまで書けば仕様として必要十分か、という視点の入り口を与えてくれる本です。

継続的デリバリー
いつまでも人の手でリリースしている時点で時代遅れのプロセス。
そういった定型的な作業はデプロイスクリプトに任せ、人間はより創造的な仕事とをするべき・・・というCIの考え方を語っている本。今全て実践できなくとも、一部であっても大きな効果をもたらす考え方です。

エリック・エヴァンスのドメイン駆動設計
システムを開発する領域=ドメインを基にソフトウェアを開発する手法/姿勢を語っている本。現実の課題をソフトウェアに落とし込むための考え方のヒントが得られる本です。・・・正直な話、とても難しいです。

書いてみて思ったのですが、最近読んでみて重要だと思う本が、
具体的な技術を書いた本というより、それより一段階抽象化された考え方や姿勢を示す本にシフトしつつあります。
具体的な技術は調べれば得る事が出来ます。
対して、考え方は時間をかけて熟成していく他ありません。
それを、無意識のうちに感じ取っていたのかもしれませんね。

ともあれ、私もまだまだ勉強中の身、良い本の案などあればコメントいただければ幸いです。