文書の過去の版を表示しています。


*プログラマーのキャリア設計

生き方のなんとなくのモデルはあれど、仕事上のキャリアがどう構築されるかはあまり考えられることがない。 日本ではずっと1社で働くことが普通とされているためだ。今ではそれも変わっていて転職をいくつかする人もけっこう見かけるが、少なくとも教育はあまり変わっていない。 キャリアは生きる上であまり考える必要がなかったと思う。

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

それは前提にしよう。そうすると難しいポイントは2つだ。1.新卒が食い込むのは難しい。2.技術があれば転職して条件のいい職を選べる。 いろんな企業を見てみると、いろんなバックグラウンドを持った中途採用の少数精鋭チームが多い感じがする。

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

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

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

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

そうはいっても求人はいくらでもあるのでは?未経験でも可ってあるじゃん。ノー! まともなところで働けない場合、泥沼にハマる可能性が高い。 長時間労働、非生産的、迫る納期、低賃金、技術は向上せず、転職もできず、同僚はバタバタ辞めていき、心と体を壊す循環に入る。そこまでいかなくても、同じような技術レベルの人が集まってるんであって、将来的に成長できるだろうか?みんなが偏差値のいい高校や大学に行きたがる理由はそういう人の集団に属することが重要ってことがわかっているからだ。プログラマーも然り。

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

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

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

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

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

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

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

オレはこれを『ソフトウェア開発者の人生マニュアル』で知ってナルホドと思いやった。2)それで実際仕事を探してみて、新卒でも重視しているところが多いように思えた。相手がエンジニアであればほぼ通過した3)。書類選考は100%通過した。 単に作ったもののことを聞かれて、技術的な話しをするだけなので楽でもある。逆にそれで何がわかるんだ?という漠然とした人生に対する質問4)を答えるより断然ラクだ。情熱を5分語るより、これ作りましたって言うほうが熱意も技術も伝わる。

就活のためというより、人生の楽しさ的な意味も強いが、普段やっていることを形にするといい。まずは自分用に何かを作ってみるといいと思う。 余暇にタダでもやっちゃうモチベーションの高さと、技術力をアピールすることができる。 あわよくば、ちょっとした収入や注目を得られるかもしれない。何にせよ、感動的な作文をして暗記して面接に臨むよりはずっといい。

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

『ソフトウェア開発者の人生マニュアル』

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

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

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