和田卓人、倉貫義人、萩本順三「会社に頼れない時代」の技術屋が知るべき6つのこと
昨日アップした本特集の序章:元Apple松井博「世界一イノベーションを生む企業で学んだ、凡人が生きる術」の一節に、「2000年代に経営が上向いてからアップルに入社してきた新入社員たちは~」というものがある。
今でこそ世界中で賞賛されているアップルだが、90年代の経営不振時は、マイクロソフトや他企業の攻勢の裏でもがき苦しんでいたのだ(詳しくは松井氏の著書『僕がアップルで学んだこと』にて)。
これと似たような現象が、ここ2、3年間のSI企業にも起こっている。それまでマーケット自体が右肩上がりで、100人月を超えるような大規模プロジェクトも多数受注できていたが、顧客企業の「開発内製化」や「システム開発のスピードアップ」などを背景に、従来型の受託開発は逆境にさらされている。
そして、マーケットがシュリンクし出すと、プレーヤーもリストラ・再編成されるのが世の常。そんな「変わり目のフェーズ」にSI企業に就職した新人SEは、どうキャリアメイクしていけばよいのか。長年、エンジニアとして業界内で評価されてきた3人の先輩に、そのヒントを聞いた。
第一章:"作れないSE"にならないためのアドバイス
市場拡大期におけるSEには、「作る」ことよりも協力会社やオフショア開発のマネジメント力が求められた。若いうちから開発現場を離れ、PL、PMの役割を任されるケースが増えた結果、一時期は「SEに開発力はいらない」という風潮さえあった。だが、リーマン・ショック以後、この流れは確実に変わっている。
「わたしが見聞きしている感触では、たとえ大手であろうと、開発力のあるSEの重要性が非常に増してきています」
そう話すのは、大学生のころからプログラマーとしてのキャリアをスタートした和田卓人氏だ。現在はTDDの伝道師として知られる和田氏は、これまで大小さまざまな受託開発に従事してきた。そんな同氏が考える、"作れるSE"になるためのポイントとは何か。
本特集の導入として、あえて腕利きのプログラマーが語る「若手にオススメの技術習得のコツ」を聞いてみた。
【Advice 1】
技術習得はノウハウ(Know-How)よりノウフー(Know-Who)が大事
学生時代からプログラマーとして仕事をしていたため、常に独学で技術を学んできた和田氏
「わたしが仕事を始めた当時は今ほどネットでの情報収集ができなかったので、大学の図書館で『Cマガジン』のような技術専門誌のバックナンバーを取り寄せて独学していました」
"作れるSE"になるためには、何よりもまず言語・フレームワークといった技術習得が欠かせない。SI企業では担当プロジェクトごとに使う言語が限られるが、和田氏は少なくとも「考え方、パラダイムが異なる2、3の言語をたしなむようにしておいた方が良い」と話す。異なるプロジェクトにアサインされたり、トレンドが移り変わっても、短期間で対応できるからだ。
和田氏が熟読していたような技術専門誌のメリットは、巻頭特集に最新の技術動向や流行の言語が載っており、後半にある連載では基礎的な内容を深く取り上げたものがまとまっていること。
「プログラミングの原理原則を掘り下げて学ぶこともできるし、近い将来に必要となるプログラミング言語や開発手法を知ることもできるんですね」
今ならネットやSNSなどでもっと幅広くスピーディーに情報収集することができるが、逆に情報過多だったり、どの言語・開発手法に注目すべきなのかが判断しづらいというマイナスもある。
そこで和田氏が勧めるのが、ネット上に"仮想師匠"を持つことだ。
「何かを学ぶ時は、ノウハウと同じくらいノウフーも重要です。最近は言語やフレームワークが乱立状態ですから、技術系サイトやSNSのタイムラインをチェックし続けても『トレンドを追っているだけ』になってしまいます。そこで、まずは開発について"濃い情報"を持っている人たちを先に探すのです」
「濃い情報」とは、オープンソースコミュニティーや特定技術の専門集団で動いているエンジニアが持つ、実践を伴った開発情報だ。また、すでに各技術分野で第一人者として認知されている人を探し、その人物が発信している情報やTwitter、ソーシャルブックマークなどを注視するのも手だという。
「注意してほしいのは、フォロワーにしろブックマーク数にしろ、『数の多さ』は必ずしも重要ではないということ。多くの人が注目しているのは『今が旬の技術』という証拠ですが、濃い技術や話題は、むしろブックマーク数が2ケタ程度のものだったりするのです。だからなおさら、誰が注目しているかが大切になります」
和田氏自身が現在注目しているのは、Node.jsやJSXのような、JavaScript関連の技術に精通する人たちの言動だそうだ。では、そもそも「どんな人」に注目すればいいか分からない新人はどうすればいいか。さらなるアドバイスとして、推薦書籍2冊を挙げる。
「1冊は、手前味噌ですがわたしが監修した『プログラマーが知るべき97のこと』。もう1冊は『100人のプロが選んだソフトウェア開発の名著』です。この2冊の共通項は、数多くの著名エンジニアが寄稿している点です」
例えば『100人のプロ~』は、国内最大級の開発者向けカンファレンス「Developers Summit」のスピーカー100人が薦める名著案内だ。世界・日本で活躍するプログラマーがどんな本、著者から何を学んだかを知ることができる。
「Webサイトの関連リンクと同じように、有名エンジニアの『学びのソースをたどっていく』のも、有益な勉強法の一つ。たどっていく過程で見つかるコードを検証していくことで、プログラミングのヒントがいくつも見つかります」
【Advice 2】
自習用のサンドボックス(実験環境)を準備しよう
注目すべき人・技術を見定めたら、次にやるべきは実践。自分自身でコードをいじってみなければ、頭でっかちのまま終わってしまう。
ただ、上記したように、企業に勤めながら仕事として学べる開発言語はそう多くはない。「30歳までを目安に、2つ以上の得意分野を身につけておく」ことを勧める和田氏は、自己投資をして個人のPCに自習できる環境を準備しておくべきだと力説する。
「最近では、VMWareなどを利用すれば個人でも数万円程度の投資で仮想環境を持つことができます。クラウド環境のAWSや、PaaS(ネット上のソフトウエア構築・稼働プラットフォーム)で知られるHerokuなども、比較的安価で(Herokuは無料から)利用することができますから、こうした環境構築は将来への投資だと思ってどんどんやるべきです」
自宅でもすぐに手を動かし、開発を試せる環境を持っておく最大のメリットは、会社のプロジェクトに依存せず自分だけのソースコードを持つことができるという点。
「オープン化が進むこれからのIT業界では、エンジニアとして『自分はどういう人か?』というセルフブランディングがより重要になってくると思います。そんな中で、自分でコードを書き、githubなどで発信していくことは、その習熟度にかかわらず大きな財産となるはずです」
第2章:会社やPJTの方針に不満を持った時のアドバイス
良い悪いは別にして、規模の大きなSI企業ほど、新人・若手SEは「会社の理屈」を最優先しなければならない立場に置かれているものだ。中には勤め先やプロジェクトに対する違和感や不満が募り、早いうちに他社への転職やフリーランスへの転身を考え出す人もいるだろう。
倉貫義人氏も、「入社2年目くらいの時に、(前職であるTISからの)退職してフリーになろうと考えたことがある」と振り返る。学生時代からアルバイトでプログラミングをやっていた倉貫氏にとって、オフショアや協力会社のマネジメントが重視される職場が、自身の居場所ではないと感じ始めたからだ。
>>続きはエンジニアtypeへ
関連リンク
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 少人数によるアジャイル開発の事例
- 夏休み明けの人も、まだの人も!今日から心機一転「開発」のやる気がわいてくる有名技術屋の名言まとめ
- チーム開発を円滑にするための必須ツール
- 「まずは可視化コード書きから」めんどくさがり屋必見!できるだけ作業時間を減らすデバッグ術
- 新人のアジャイル開発体験
- 社外常駐で学んだアジャイル開発
- エンジニアのスキルを伸ばす“テスト駆動開発”を学んでみよう
- 実践「Heroku」をセットアップしてサンプルアプリを動かそう
- youRoomとPivotalTrackerではじめる無駄のないコミュニケーション
- ソフトウエアエンジニアがUX/UIを考える上で読むべき4冊の良書と名言たち