コードを書かない管理職にはなりたくない、生涯プログラマー希望者のバイブル【ソニックガーデン・伊藤淳一】
プロフェッショナルたちの読書感想文
著名エンジニアが、独自の視点で「おすすめ書籍」の紹介を行う本連載。
今回の語り手は『プロを目指す人のためのRuby入門』(技術評論社)の著者、株式会社ソニックガーデンのプログラマー・伊藤淳一さん(
@jnchito)だ。「この業界でエンジニアとして生き残っていきたいと考えていた新人時代に、大事な指針を教えてくれた一冊」と語る、『MY JOB WENT TO INDIA』(オーム社)を紹介いただいた。
発売日:2006年9月26日
著者:チャド・ファウラー 訳者:でびあんぐる
出版社:オーム社
ISBN-10:4274066592
ISBN-13:978-4274066597
ページ数:198ページ
書籍概要:ソフトウエア開発者が競争力を身に付けるための具体的な方法を説いたガイドブック『My Job Went To India』(Pragmatic Bookshelf発行)の翻訳書。2010年に『情熱プログラマー ソフトウェア開発者の幸せな生き方』として改訂されている。
目次
はじめに:新人時代に出会った真っ赤な表紙の奇妙な本どんな方に読んで欲しいか?特に印象的だったエピソード一番の下手くそでいよう(第1章 市場を選ぶ)オレ、作文的なのは得意っすよ(第4章 マーケティング…スーツ族だけのものじゃない)業界で名前を売ろう(第4章 マーケティング…スーツ族だけのものじゃない)まとめ:技術者としてどうすれば生き残れるかを教えてくれた
はじめに:新人時代に出会った真っ赤な表紙の奇妙な本
“すごいプログラマー”と聞くと、一般的には「小さい頃からプログラミングが大好きで、大学も当然理系で情報系の学部を卒業していて……」というイメージではないでしょうか?
ですが私は、その正反対。子どもの頃からプログラミングをしていたわけでもなく、大学も文系。趣味でパソコンをよく使っていたので、HTMLを書いてホームページ作成ぐらいはできるレベルでした。「パソコンを使う仕事ならなんとかなるかもしれない」と思い、とりあえずシステム開発の会社に応募したら運良く採用してもらえたという、なんともやる気のない形でキャリアをスタートさせました。
ただ実際にやってみると、プログラミングの仕事は非常に面白く、自分の腕を磨くのが楽しくなってきました。技術書を読んで知識を増やすのも大好きだったので、新人時代は仕事帰りに梅田の紀伊國屋書店に立ち寄って、面白そうな技術書を手当たり次第に買って読んでいました。
そんな当時、非常にインパクトのあるタイトルと表紙で目を引かれたのが『MY JOB WENT TO INDIA』(オーム社)です。
だってタイトルが「”MY JOB WENT TO INDIA”=俺の仕事はインドに取られちまった」ですよ? しかも表紙にはうつろな目で「”Will Code For Food”=コードを書くからメシをくれ」と書かれたボードを抱えた男性が写っています。
ちなみにこの本が書かれた2000年代初頭は、「オフショア開発」が一種の流行語になっていました。オフショア開発とは、コードを書く仕事は単価の安いインドや中国に任せて、本国のエンジニアは要件定義やプロジェクト管理だけに専念するシステム開発手法です。この本のタイトルと表紙には「コードを書ける”だけ”のエンジニアは、オフショア開発時代にはもう食っていけなくなる」という強烈な皮肉が込められています。
それまで私が読んできた技術書といえば、もっぱらプログラミング言語の文法やオブジェクト指向プログラミングの技法を解説するような本ばかりでした。しかし、この本はそういったジャンルの本ではありません。「開発者として、この先どう生き残っていくべきか」を論じた本です。この本を見つけたときの私の気持ちは「何これ? こんな本見たことないぞ!? でも、めちゃくちゃ面白そう!」でした。
家に帰ってさっそく読んでみると、本書は期待通りの、いや、期待を大きく上回る面白さでした。そして単に面白いだけでなく、当時はまだぺーぺーの新人だった私がこれからITエンジニアとしてどう歩んでいくべきか、その指針を教えてくれました。本書に出会っていなければ、私のキャリアは「どこにでもいる名も無きエンジニアのひとり」で終わっていたかもしれません。
なお『MY JOB WENT TO INDIA』は、2010年に『情熱プログラマー(原題は”The Passionate Programmer”)』としてリニューアル(改訂)されました。表紙もゴッホの絵画「赤い葡萄畑」に変わっています。タイトルが変わったタイミングで内容も一部改訂されていますが、目次を見比べたところ、内容はほとんど同じようです。
個人的には”MY JOB WENT TO INDIA”の方がタイトルも表紙も刺激的で好きでしたが、本記事では現在でも入手可能な「情熱プログラマー」の内容をベースに書いていくことにします。『情熱プログラマー ソフトウェア開発者の幸せな生き方』(オーム社)https://www.ohmsha.co.jp/book/9784274067938/
どんな方に読んで欲しいか?
本書はソフトウエア開発者でありミュージシャンでもある、Chad Fowler氏のエッセイ集です。「ソフトウエア開発者としてどう自己研鑽していくべきか、どういうキャリアを歩んでいくべきか」などの観点で、同氏の経験談や考え方が語られています。
特定のプログラミング言語やフレームワークに関する知識が無くても読み進められるので、全ITエンジニアが対象読者になります。
その中でも特に、「自分がこれからどういうキャリアを歩んでいくべきか迷っている人」や「コードを書くのは好きだしずっと続けたいけど、このまま日々の仕事を続けているとそのうちコードを書かない(書けない)管理職に回されてしまうんじゃないかと漠然とした不安を抱えている人」にお勧めです。
なお全部で53本のエッセイが収められており、各エッセイはどれも2〜3ページにまとめられているので気軽に読み進めやすいです。
特に印象的だったエピソード
本で書かれている数多くのエッセイはどれも非常にお勧めなのですが、その中でも特に私の印象に残っているエッセイを三つ紹介します。
一番の下手くそでいよう(第1章 市場を選ぶ)
これは「自分よりも優れた人たちと一緒に仕事をする状況を作り続ければ、自ずと成長し続けられる」といった話です。逆に言うと、「自分が一番優秀で周りの人が劣ったエンジニアばかりだったら、自分の成長のスピードは鈍化する」ことでもあります。いわゆる「井の中の蛙」状態ですね。
この本を読んだ当時、私自身は新人エンジニアでありながらも、周りには「この人たち、なんでプログラマーやってるんだろう?」と思うような、技術スキルと学習意欲に乏しい先輩プログラマーがたくさんいました。なので「もっと優秀ですごいエンジニアと一緒に仕事をしたい!」と思っていたのを覚えています。
なお、その約5年後に現職のソニックガーデンに転職しました。このときは、本当に自分が一番下手くそなエンジニアになりました。「これってまさに望んでいた状況じゃん!やったね!」と思ったのもつかの間、あまりの自分のできなさ具合にかなりメンタルをすり減らしたのを覚えています……。
必死にもがいて食らいついて、周りの先輩プログラマーになんとか追いついた結果、確かにエンジニアとしてのスキルはかなりアップしました。ですが、実際にやってみると思った以上のしんどさだったので、言うは易く行うは難しであることを、経験者としてみなさんにお伝えしておきます(笑)
オレ、作文的なのは得意っすよ(第4章 マーケティング…スーツ族だけのものじゃない)
このタイトルは、文章力のないエンジニアを皮肉ったものです。要は、エンジニアもちゃんとした文章力を身に付けようという趣旨のエッセイですね。
当時も今もそうですが、エンジニアの仕事は決してコードを書くことだけではありません。Slackであったり、コードレビューのコメントであったり、あるいは設計ドキュメントの記述であったりと、大量のテキストを書かなければいけない場面はたくさんあります。なのでエンジニアにとって、自分の考えをテキストで相手にきちんと伝えるスキルを身に付けることは非常に重要です。
またこのエッセイは「オレ、作文的なのは得意っすよ」という日本語訳が絶妙だなと思っています。「何だろう? この日本語、なんか変だな」と思った違和感が、そのままエッセイの趣旨につながっていくのが見事です。ちなみに、原題は”Me Rite Reel Nice”で、文法的にもスペル的にもおかしな英語が当てられています。
私は文系出身だったので(?)、もともと文章を書くのは苦手ではありませんでしたが、そういうスキルがエンジニアとして生きていく上でも役立つことが分かって、ちょっと安心できました。
業界で名前を売ろう(第4章 マーケティング…スーツ族だけのものじゃない)
このエッセイはもしかすると、私がエンジニアとして生き残るために一番役に立った内容かもしれません。
技術者として自分の腕を磨くのはとても大事です。しかし技術者として一生生きていくなら、特定の会社の中でしか役に立たないスキルよりも、社外でも通用するスキルを身につけた方が生存確率が上がります。さらに、同じ技術スキルを持っているなら、全く無名のエンジニアよりも、多少名の通ったエンジニアの方が採用される可能性が上がるはずです。
いや、別に有名でなくてもいいんです。例えばネットをその人の名前で検索したときに、その人が持っているスキルや人となりが事前にある程度分かった方が、採用する側もきっと安心できるはずです。
つまり、何かしらの形で自分の名前が業界内で認知されるような行動を取った方が、エンジニアとしての生存確率を高められます。
Chad Fowler氏は本書の中で、業界内で名前を売るための具体的な施策として、ブログを書いたり、講演したりすることを勧めています。私が実際にブログを書き始めるのは本書を読んでから2〜3年経った後ですが、ブログは書かずとも、社内ではなく「業界内」で通用する技術者になるためにはどういった技術を習得すべきかを考えて行動していきました。
そして自分のブログを開設してからは、他の人に役立つ記事や人から面白いと思ってもらえそうな記事を執筆することを心掛けています。そのおかげか、私は徐々に日本のIT業界内での認知度を高めていくことができました。
認知度が高まると、それにつれてIT系カンファレンスでの講演や、ITエンジニア向けの雑誌での記事執筆を依頼されることが増えてきました。そして17年には初の著書である『プロを目指す人のためのRuby入門』を発売することもできました。今回、このようにエンジニアtypeさんに記事を寄稿させてもらっているのも、業界である程度名前が売れてきたおかげだと思います。
繰り返しになりますが、エンジニアとして技術力を磨くことは大事です。またエンジニアとして企業に勤めているなら、社内での評価も大事です。しかしエンジニアとして長く生きていきたいのであれば、社内ではなく業界内での評価も大事になります。そのためには、意識的に自分で自分の名前を売っていく必要があります。
「業界内で名前を売ろう」というこのエッセイは、この業界でエンジニアとして生き残っていきたいと考えていた新人時代の私にとって、大事な指針を教えてくれました。
まとめ:技術者としてどうすれば生き残れるかを教えてくれた
今回は私が新人時代に読んで大きな影響を受けた「情熱プログラマー」という本を紹介させてもらいました。
ここで紹介したエッセイは三つだけですが、これ以外にも「ソフトウエア開発者としてどうすれば成長できるのか?」「どうすれば生き残れるか?」といった観点で書かれたエッセイがたくさん載っています。発行されてからすでに10年以上の月日が経った古い本ですが、本書に書かれている考え方や指針は現代でも十分役立つはずです。
「エンジニアとして働いているが、この先もずっとコードを書いていきたい」「でもそのためには、どういうキャリアを歩んだらいいのか分からない」と日々悶々としているエンジニアのみなさんに、ぜひ読んでいただきたい一冊です。
文/伊藤淳一 撮影/桑原美樹 編集/今中康達(編集部)