オフショア時代のソフトウェア開発者サバイバルガイド
2025年3月23日
平成18年、人件費の安い海外でソフトウェア開発を行う「オフショアリング」が活発になっていた時代に書かれた本。
労働力を外注することで、もともとあった仕事は外に流れていき、その仕事をしていた人は生き残れなくなっていった。そんな時代に生き残るためには、個人が何を考え、どう行動すべきかを書いてくれている。
もう国とか関係なく、今後はAIができる仕事は人件費が安くなっていく(というかむしろ仕事自体が減っていく)だろう、と考えると読むべきタイミングなのかなと思った。
後で知ったが、本書は第二版?から「情熱プログラマー」という名前に変わっている。
報酬に関係なくソフトウェアを作りたいという情熱と意欲のある人だけが、それらを持てない人との競争を勝ち抜き続けられるだろう。 それでもこの業界に残るという人には、生き残るためのヒントを教えよう。それは「ソフトウェアはビジネスである」ということだ。 … 最終的な目標は、僕らの仕事を取り戻すことではない。これまでに失ったような価値の低い仕事は、もともと海外に流出する運命にあったのだから。それよりも今後生まれるであろう価値の高い仕事に目を向け、その新しい波に乗るための準備をしよう。
たぶんこの本の内容をギュッとまとめるとここに落ち着くのではないかと思う。自分はあまりソフトウェアに対して情熱を持っているわけではないが、誰かのためになるモノを作りたいという欲求はたぶん自分の身の回りにいる人たちよりはあるんじゃないかと思う。
ぶっちゃけプログラミングはそのための手段くらいにしか思っていないかもしれない。面白いとは思うけど、熱中しているかと聞かれると頷くことはできない。
「Web制作会社で働いてるんだからもうちょっとWebに興味持ってよ」と、営業やディレクターやデザイナーに対して思ったことが何度かある。ただ、逆を言えば「社会人なんだからビジネスに興味持ってよ」と言われたら何も言い返せない。
Web制作会社はWebで稼ぐ会社である前に営利企業だ。ラーメンの作り方を覚える必要がないのは明白なように、Webの知識だけではなくビジネスについても学ぶ必要がある。
コーディングはもう武器にならない
ただ開発ができるだけで高い給料をもらえる時代はもう終わっている。他の開発者と差をつけるために、開発以外で何ができるのかを考えなくてはいけない。(開発一本で食っていく!という人を否定するつもりもない。)
何かのスペシャリストであるということ、単にほかのことを知らないという意味で使っている人が多すぎる。 … かかりつけの医者に右腕にできた腫れ物のことを相談したとする。この医者から生体組織を検査する必要があると言われ、スペシャリストを紹介された。もし専門医としての資格が、その日君が受ける検査の手順に直接関わりがない医学部の授業や専門医実習を全部欠席していることだとしたら、どうする?
「〇〇に関しては他の追随を許しません(でも他のことは何も知りません)」ということが「〇〇以外でなにか起きても私は対応できません」ということの裏返しとなってしまわないように気をつける必要がある。
もっと最悪なのは「それは私の責任範囲ではありません」という態度を取ったりそのまま口にしてしまうケースだ。どれだけ専門分野で素晴らしい実績を残していたとしても、こういう人にはもう仕事を頼みたいと、思ってもらえるはずがない。それが自分の得意分野であったとしてもだ。
自分がかかわっているビジネスに疎い人は、その分野の基本的な知識さえあればすぐわかるような馬鹿らしい間違いを見逃すことがある。その上、その分野について理解している同程度の開発者に比べて仕事が遅い。 老子の教えを僕らソフトウェア開発者に合わせて言い換えるならば「魚そのものを頼めば、それは一日の糧となる。魚の釣り方を教えてくれと誰かに頼めば、それは一生の糧になる。」
自分のことを「スペシャリスト」だと思いはじめると、自分が間違っているかもしれないと思えなくなるんじゃないだろうか。よせばいいのに、たいしてできないことも「できます!」と言いふらした結果、壁にぶち当たって追い込まれる。自分で自分の首を絞めるとはまさにこういうことを言うんだろう。
自分が損をするだけではなく、ある程度に地位についた人がスペシャリストになると、間違っていることを周りに吹き込んでしまう分、厄介だ。本人にその気はなくても。
もちろん自分が正しいと思っていれば、誰かに教えを乞うことはほとんどない。もったいないよなぁ。
自分にどれだけの価値があるか? … 給料が上がればしばらくいい気分でいられる。けど、すぐに次の昇給について考えだす。みんなそう思ってきた。 どこかで実際の数字は抽象的なものになる。年間でもう50万円欲しいとか、そう言う具体的な数字じゃなくなって、とにかく基本給が上がってほしい。 1年の昇給が満足いく額じゃないと、仕事と会社に不満を感じるようになる。
君が去年生み出した価値はいくらだろう?会社のボトムラインに君が寄与したプラスの影響は?君が会社に還元したことは?君のおかげで会社はいくら節約できた?君は会社の収益にいくら貢献した?その数字は君の給料の2倍を超えている? 「わかるはずないだろ!僕は単なるコーダーなんだから!」ポイントはまさにそこだ。君はビジネスのために仕事をしているんだから、何かしら実質的な価値を生み出さなければ、ただの金食い虫になってしまう。 昇給は権利だって思いがちだ。
自分のコストと生み出すものの価値について考え始めたら、次はこう考えて欲しい。君が会社にとって価値ある投資だとみなされるには、いくら生み出す必要があるだろう?
私はこの考え方にわりと早い段階で気づけていたのでラッキーだったなと思う。学生の頃からうちの家系は金に縁が無いというのはもう分かっていたから、高望みせずコツコツ貯蓄して、親の世代より少しいい暮らしができれば十分幸せだという謎の悟りを得ていたのもあるかもしれない。
ただこの考え方を受け入れられるのは「それなりの生活水準を保てている」という前提があるからだと思う。社会人なりたての頃は節約に節約を重ねて、この生活がいつまで続くのだろうか、ということで頭がいっぱいだった。
月の収支である程度のプラスが定期的に出せるようになった時に「あ、これ上をみたらキリないやつだな。だったら別のことを目標にしよう」と思った。
会社が自分を雇うコストと、自分が生み出す価値が同じだと、会社としての収支はトントン。それはいい投資とは言えない。「収支なんて関係ない!君にはうちの会社にいてもらわないと困る!」と言われるほどの魅力が自分にはあるのかい?
みんな自分たちの貢献には意味があるって実感したい。そして、僕らは確かに意味のある貢献をしている。でも人間っていうのは主観でしかモノを見てなくて、しかも他人が同じように主観でモノをみていることはコロッと忘れてるもんだ。 … 仮に君が明日会社を去っても、それが職場に及ぼす影響の大きさは(平均的に見れば)同僚の誰かが退社した場合と大差ない。
これまで辞めていった人には同じことを言ってきたが、頭のどこかでは「自分が辞めたらあの仕事どうなるんだろうなー」とか思っちゃう。それが主観でしかモノをみていないっていうことなんだろうけど。
謙虚さは精神的に成熟していることを示すだけじゃない。謙虚でいると、自分自身の行動がより明瞭に見えるようになる。 CIOが僕らに教えようとしていたのは、成功すればするほど取り返しのつかない誤りを犯しやすくなるってことだった。 成功しすぎると傲慢になり、傲慢になれば盲点が生じる。自分で自分をかけがえのない存在だと思うほど、ますます代替可能な(それほど価値のない)存在になってしまうんだ。 … 逆に考えれば、取り替えがきく存在を目指すことは敵意のない関係を作り出すことにつながるはずだ。僕らは誰もが代替可能だ。そのことを積極的に認め、その状態を目指して努力している者こそが、実際には他と異なる特別の存在となり、期せずして自らの勝算を高めることになる。
これはしっかり覚えておきたい。できるだけ知識は自分の中に留めておかないように、自分を量産することを意識しているつもりではあるが、すぐに代替可能かと言われるとまだ微妙な気もする。
スキルやテクニックは比較的コピーしやすいけど、人との関係性とか、ものごとの考え方はなかなか伝えていくのが難しい。別に自分の進め方が一番いいとはおもってないけど、それしか知らないから、それしか教えられない。
僕ら人間は、「できます」が常に正しい返答とは限らないことを心の底では納得しない。そして、「できません」がめったに間違った返答ではないことにも納得しない。それが真実だって誰もが頭では知っているはずなんだけどね。偽りの約束をされたいと願っている人なんて誰もいないんだから。
実際「できません」と言われたことを、裏で愚痴ってそのまま評価するような人はまだいるんだよな。無理に「できます」って言って、結果ダメだったらどうすんだろ?
たしかにチャレンジすることは大事だけど、無謀とチャレンジを履き違えてんだよな。そこをちゃんと判断できない人が評価とかしてて大丈夫なの?ってたまに思う。
この経験から学んだのは、どんな仕事をしているとか何を持っているとかじゃなく、どんな選択の下でそれを受け入れたかが大事だってことだ。それは僕らの内面にある。 満足感は、僕らが自分のキャリアを選択するときのように、自ら追い求め自分の意思で決断することによってのみ得られるものなんだ。
今の自分の状況はすべて自分がこれまでしてきた全ての選択によるものだと思っているので、それを環境や周りのせいにするのはおかしいんじゃないかと思ってた。それが受け入れるってことに近いのかなと思ったけど、満足感も決断によってのみ得られるというのはあまり考えたことがなかったな。
ワーク
各章ごとに「今すぐ始めよう!」というコーナーが設けられていて、各章ごとのテーマに沿ったワークが提示されている。やった方がいいかもなーと思ったことをメモっておく。
- 技術スキルに対する現在の需要を調査してみる。
- 小さなプロジェクトに2回取り組む。1回目は自分が常用しているテクノロジを使い、2回目はその対抗馬になるテクノロジで取り組む。
- 1日か2日、テスターやプロジェクトマネージャーになったつもりで自分の仕事を進めてみて、自分の仕事を別の視点から見る。
- フィードバックを頼める信頼できる人を何にか選び、360度サーベイする
- キャリアや技術において自分が正しいと考えている価値観を並べたうえで、逆の主張について考え、自分自身を見直す。
- 成功しているオープンソースプロジェクトを観察して、コミュニケーションの仕方、デザイン、タスク管理、バグ追跡、ソース管理などについてメモを取る