イマドキのエンジニアの勉強事情

第1回 みなさんの飛躍のきっかけとなった本は?

この記事を読むのに必要な時間:およそ 3 分

はじめに

IT業界というと,3Kだとか,帰れないとか,泥のようにだとか,昔からいろいろ言われてきています。しかも,Mっ気のある人が多いせいか,言われても反論したり怒ったりせずに,そのままネタにして楽しんでいたりするから余計にたちが悪かったりします。とは言ってもその実,業務外でも頼まれてもいないのに積極的に勉強会に行って同業他社の人と交流したり,土日までつぶしてイベントを開催したり,大量の本を買って家の中がいっぱいになったり…家も会社も関係なく,全力でIT技術者という職業を楽しんでいる人が数多くいます。中には,海外のカンファレンスまで出かけてしまう人もいるぐらいです。まだ,勉強会という場を知らないために,出てこない人もいますが,一度楽しさを知ってしまった人は定期的に色々な勉強会に顔を出して新しい情報を取り入れたり,人に教えて感謝されたり,自信が付いたり,多くの恩恵に授かっています。

さて,そんな感じでIT業界をエンジョイしている先輩の方々も,最初の最初から高いスキルがあったわけではありません。コンピュータと出会ったきっかけは様々です。親が好きだったから家にあったという人もいれば,会社で初めて触ったという人もいるでしょう。なんとなく古くから触っている(初めて触れたコンピュータのビット数やメモリが少ない)人ほど重鎮という印象はありますが,それとは関係なく,なんらかの「自分が飛躍した瞬間」を味わった人が数多くいます。仕事だったり,勉強会だったり,すごい人に会ったり。今回は,⁠今まで読んできた中で影響が大きかったオススメ書籍」ということで,アンケートを採った結果からピックアップしてお届けしたいと思います。

ちょっとご注意いただきたいのは,人によって取り組んでいる方向性は様々ですし,⁠ここで挙げている本を上から下まで読め」ということではありません。 iTunes年間ベスト100なんかも発表されていたりもしますが,このランキングと個人の音楽の好みが違うのと一緒です(僕の好きなCrush40はランクに入っていない)⁠このリストの中から興味を持ったものだけでも,ちょっと本屋で手に取ってみてもらうのでもいいでしょうし,逆に「オレ/私はこの本がいいと思うんだ!」という気持ちを,みなさんのブログなどでガンガン書いてもらえれば最高です。

プログラミング言語の本

やはり歴史のある⁠K&R⁠こと,プログラミング言語Cを推されている方が何人かいました。C++ではプログラミング言語 C++ロベールのC++入門講座などの文法の解説本もあったのですが,多くの人が役に立ったと述べていたのが,Effective C++ More Effective C++Exceptional C++です。自由度の高い言語になるほど「こういう書き方でも一応動くが,拡張性,メンテナンス性,エラー耐性を考えるとこちらの書き方がベスト」という,文法書ではカバーしきれないTipsが増えてきます。

Javaでも,同様にEffective Javaが良かったとする人が多かったです。後は「初めてソースコードを自分で動かしてみて勉強して勉強になった」独習Javaを挙げてくれた人もいました。

Perlは「ラクダ本」という名前でも呼ばれるプログラミングPerlを挙げる人が多かったです。ITの本の中でも,オライリージャパンの動物が表紙のシリーズの影響はかなりあります。特にオープンソース系ですね。有名になったものはこのように表紙の動物で呼ばれることもあります。

Rubyあたりは良書が豊富にあるのか,集中することはあまりありませんでした。プログラミング言語Rubyが気持ち多かったぐらい。Rubyなんかは何か言語を知っている人がセカンドランゲージ,サードランゲージとして使われるケースも多いためか,実用性重視で逆引きレシピを挙げている人がいたのが特徴的ですね。リストにはなかった(ひらがなだったので他書とどちらか区別が付かないのは1件)⁠Yuguiさんの初めてのRubyは,そのようなRubyの環境にマッチした薄い本で,⁠ターゲットを絞って書いた」というお話しを聞いて,なるほど,と思いました。

Python系のコミュニティの人が数多く回答してくれたにも関わらず,PythonはかろうじてみんなのPythonと,洋書のExpert Python Programmingがわずかに挙げられているぐらいでした。これもRubyと同じで最初の言語として使う人が少ないのと,シンプルで自由度が低い文法なので本の需要が少ないのかもしれません。

他の言語ではJava Script 第5版ScalaスケーラブルプログラミングふつうのHaskellなども挙げられてました。

言語間で共有できるスキル

言語そのものからはちょっと離れていて,単独では実装には使えないけど様々な言語と連携して使える知識系の本も数多くあります。

何人かの人が挙げてくれたのがオブジェクト脳の作り方です。やたら難しく語れがちなオブジェクト指向ですが,著者の牛尾さんの実際の教育経験を元に「こんなもんや」というイメージを伝えるのに注力した本です。楽々ERDレッスンはデータベース設計のコツを伝える本です。

後は,ソフトウェアのテストに関する書籍も何種類かありました。基本から学ぶソフトウェアテストソフトウェアテストHAYST法入門です。レガシーコード改善ガイドはタイトルにはコードはないのですが,自動テスト関連の本です。

OOPSLA系

オブジェクト指向はそれそのものは「プログラムのメンテナンス性を向上させるためのプログラミング技術」でしかないのですが,それを取り巻く人たちを中心に,設計の向上からプロセスまで多くの動きがありました。OOPSLAというアメリカのオブジェクト指向の学会のようなものがあるのですが, 1990年代あたりから,ここを中心に様々なものが発表されて,業界に影響を与えてきました。

この中でも,多くの影響を与えているのがデザイン・パターン⁠通称GoF本)と,結城浩さんのJava言語で学ぶデザインパターン入門の2冊です。特に結城さんはPerlからセキュリティ,小説形式の数学ガールシリーズまで幅広く本を出されているのですが「結城さんの各種本」と,著者の指名買いが多かったです。

そして,多くのプログラマの働き方に影響を与えたのが『アジャイルソフトウェア開発』です。その走りとなったのが⁠エクストリーム・プログラミング⁠関連の本です。2000年ごろからピアソン・エデュケーションから出版されたシリーズが有名ですが。アジャイルプラクティスアジャイルレトロスペクティブズアジャイルな見積りと計画づくりなどの良書もここから派生して誕生しています。また,⁠コードの体質改善のテクニック」というサブタイトルの付いたリファクタリングも多かったですね。

著者プロフィール

奥乃美(nomico)

IT系企業に勤めて仕事にアップアップの日々に,藁をも掴む気持ちで始めたGTDに味をしめ,その後突っ走って過ぎること早数年。研鑽内容についてはブログのworks4Lifeにて展開中。現在は,GTDの理解を日本で深めるためにmixiでGTD勉強会も開催中。

ブログhttp://works4life.jp

GTD勉強会http://mixi.jp/view_community.pl?id=3013597


渋川よしき(しぶかわよしき)

社内SE。ソフトウェアを中心に,ライフハック,インラインスケートなど,様々なコミュニティの運営に関わってきた。日本XPユーザグループには設立準備の時から。現在メインのコミュニティはとちぎRubyとPython温泉(系)で,ドキュメントツールのSphinxのコミュニティの設立準備中。趣味は技術文書の翻訳とLT。

Twitter:@shibukawa

ブログhttp://blog.shibu.jp

コメント

コメントの記入