プログラマーはハイリスク・ハイリターン

仕事上のキャリアがどう構築されるかはあまり考えられることがない。 日本ではずっと1社で働くことが普通とされてきた1)。もっともサザエさんの家庭が普通だと思われているように、たぶん思うほど主流ではなく理想が多く入っている。問題はそれ以外の場合を考えず、見て見ぬ振りをすることだ。

転職をいくつかする人はまったく珍しくないが、少なくとも教育はあまり変わっていない。誰も大学時点で転職を前提に考えてはいない。なので基本的にいきあたりばったりになる。

その中でも、コンピューターの業界は移るのが当たり前とか、そういった言説があふれている。新卒も同じ枠で戦わないといけない欧米型に近づいているらしい。

流動性が高いということは、競争が激化するということだ。激しい競争に飛び込む前には、しっかり準備をしておかないといけない。

まともな環境が少数の理由

いろんな企業を見てみると、いろんなバックグラウンドを持った中途採用の少数精鋭チームが多い。

巨大な開発ならともかく、ソフトウェア開発の1つのチームが10人を超えることはあまりない。それ以上増えるとアウトプットの伸びが鈍化するためだ。ダムやロケットを開発するようにうまくいかないのは歴史的な事実として明らかだ。チームが10人となると、一人一人の及ぼす影響が大きい。一人ダメな人がいると、修正や教育で時間を取られ影響は大きい。

ということで、実力のある中途採用がメインになる。新卒は、教育用に割けるわずかな枠しかない。 枠はわずかで、すぐに比肩できるようになることを求められることからハードルが上がるのは明らかだろう。しかもそうやって育ててもすぐやめてしまう可能性もある。

プログラマーはハイリスク・ハイリターン

そうはいっても求人はいくらでもあるのでは?未経験でも可ってあるじゃん。ノー! まともなところで働けない場合、泥沼にハマる可能性が高い。 長時間労働、非生産的、迫る納期、低賃金、技術は向上せず、転職もできず、同僚はバタバタ辞めていき、心と体を壊す循環に入る。そこまでいかなくても、同じような技術レベルの人が集まってるんであって、将来的に成長できるだろうか?(現状維持だとのたれ死に)

みんなが偏差値のいい高校や大学に行きたがる理由は、そういう人の集団に属することが重要ってことがわかっているからだ。プログラマーも然り。

未経験でもできるっていうのは、技術の低さを示している。プログラマーは技術で付加価値を得ているのだから技術が向上しなければ?終わり。能力が高い人に完全に代替される。ソフトウェア業界ではAさんとBさんの生産性が100倍違うなんてこともはザラだ。これが別の業界だとそうそうこんな差はつかないし、開発の生産性という比較的目に見えやすい数字もない。

ノタレ死ぬよりは早めに別業界に行ったほうがいいだろう。ソフトウェア業界の年数を棒に振ったことになる。

逆に能力が高ければ引っ張りだこで、転職して待遇を上げていくことだってできる。その中でいろんな経験をしてさらに付加価値がついていく循環に入る。時間や金銭に余裕ができて、新しいことを常に学ぶことができる。 とはいえ安心はできない。日本はじめアジアのプログラマーは技能や知識のレベルが低いとされている2)ので、もし言語の壁がもっと低くなれば、付加価値の高い仕事は奪われていくだろう。日本人に残された仕事は下請けだけカモ。

ということでプログラマー職はハイリスク・ハイリターン。最初の道を間違えるとハイリスクなだけだが。プログラム作りが好きなことは必須だが、好きなだけでもうまくいかないかもしれない。 キャリアについて早めに考えることが必要だと思う。

新卒から考えることが重要

プログラマーに限らずだが日本で働く最初の壁となるのは、大学卒業後に職務未経験ではじめて仕事につくこと、つまり新卒である。最初でコケれば能力を上げることができず停滞する。 しかし先に述べたとおり、新卒(特にコンピュータ科学以外の専攻、文系)が、マトモな環境の職を得るのは難しい。未経験なのに経験を問われる、一見矛盾した状況がある。

自分を新卒としてではなく、たまたま大学生な中途として考えることが重要だと思う。もっといえば従業員というより個人事業主。学生のときは学生というより、たまたま学生でもあるプログラマー、として考えるほうがいい。 実力を示すためには?資格とか留学とか色々あるわけだけど、プログラマーの場合は単純に、自分で何かを作ってデモを動かせるようにして、ソースコードをGitHubに公開しておくことだ。強力な証拠になる。

オレはこれを『ソフトウェア開発者の人生マニュアル』で知ってナルホドと思いやった。3)それで実際仕事を探してみて、新卒でも重視しているところが多いように思えた。相手がエンジニアであればほぼ通過した4)。書類選考は100%通過した。

単に作ったもののことを聞かれて、技術的な話しをするだけなので楽でもある。逆にそれで何がわかるんだ?という漠然とした人生に対する質問5)を答えるより断然ラクだ。情熱を5分語るより、これ作りましたって言うほうが熱意も技術も伝わる。

就活のためというより、人生の楽しさ的な意味も強いが、なにか作らないといけない。 まずは、自分用に。

余暇にタダでもやっちゃうモチベーションの高さと、技術力をアピールすることができる。 あわよくば、ちょっとした収入や注目を得られるかもしれない6)。何にせよ、感動的な作文をして暗記して面接に臨むよりはずっといい。

自分で作れないなら?勉強したことがない?既にプログラマーとしての自覚がないうちに応募しようとしているなら、やめたほうがいい。仕事ですべて学んで覚えるには、あまりにリスクが高すぎる選択だと思う。

おすすめの本

キャリアの必要性は以上の通り。それについておすすめの本を紹介。1冊で事足りる。

『ソフトウェア開発者の人生マニュアル』ソフトウェア開発者のキャリアプラン、ブランディング、学び方、投資…と広い分野を解説した、まさにタイトルどおりの本だ。 どのように市場価値を高めていくか、実践的アドバイスが数多く掲載されている。

株式や不動産投資、運動といったことまで網羅している、まさに人生マニュアルといえる本。

1)
どっちが先なんだろう。職のキャリアを考えないから終身雇用になったのか、終身雇用だからキャリアを考えなくなったのか
2)
プログラミング言語自体が英語だし、それ以上に英語の情報の豊富さを見ていると、そうだろうなと思う。逆に英語ができればものすごくアドバンテージを持っていることになる。英語をやろう。
3)
何かテーマを決めて作るというのが楽しいし、もっとも学びになることを知った。プログラムの教科書を読んだりしていても一生できるようにならない。
4)
それ以外だと半分以上は落ちた気がする。受験勉強的な、就活用の準備が必要ってことなんだろう。アホらしくてそんなことはしなかった。そういうところは選別のセンスを欠いているように思えたので別にいいと思った。
5)
人生で一番うれしかった/苦しかったことは何ですか?、学生時代に頑張ったこと、長所と短所…心理テストを受けている気分になった。それで何を選別するんだろう?結局のところ、今まで受けてきた受験プロセスの延長線上にあるってことなんだろうな。選別に適応できる人が勝つ。それって働く上で意味がないような気がする。何の疑いなく命令をこなす人がほしいってわけじゃあるまいに…。
6)
それがメインになったらうんざりしてくるので注意!
article/passion_programmer_life.txt · 最終更新: 2020/06/10 14:43 (外部編集)