僕のエンジニア生存戦略

どうもmarcoです。

(自分は)純粋なプログラマーとしてこの先生きていくのは難しいという話。

前提として

・能力は別としてプログラミング自体は好きだし楽しい。
・もともとは全く違う仕事をしていて2年くらい前にこの業界へ転職
・転職する際はプログラミングはもちろんコンピュータ全般の知識もほぼゼロ
・言語名はおろかhtml?css?という状態

転職に至った経緯などは過去記事を参照

プログラマーとして2年強生きてきて

まったくの未経験からプログラマーとして2年強がたちました。
当初より知識もできることもかなり増えたと思います。

それと同時に、知識が増えできることが増えれば増えるほど自分の出来ないことも見えてきました。
1出来ることが増えると10出来ないことが見えてくるようなイメージでしょうか?
プログラミングは本当に奥が深いです。

それに絶望するというよりはわくわくしています。知れば知るほどもっと知らなければいけないことが増えるのは楽しいです。

なぜプログラマーとして生きていくのが難しいか

ではなぜ難しいのか?

それは勉強会・カンファレンスなどいろいろと参加して尊敬できる凄いプログラマーをたくさん見たからです。
彼らの多くは子供の頃からプログラミングやコンピュータに親しみ、学生時代にはコンピュータサイエンスを学んできたような人たちです。

野球経験のない人が20歳を過ぎてから野球をはじめてプロになるのはかなり難しいのと同じで、この凄腕プログラマーたちに追いつき追い越すのはかなり難しいと思っています。(もちろん野球選手になるのにくらべれば難度はかなりさがりますが)

そもそも凄腕になる必要があるのか

別に凄腕プログラマーじゃなくてそこそこでもいいではないか。
もちろんいいと思います。

ノープログラミング・ノーライフ!なプログラミングで進むRPG「hackforplay」が超絶進化! そして中学生のプログラミングに思う/ shi3z:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活

しかし、今はプログラミングの需要や重要性が増してアメリカはもちろん日本でもプログラミングやwebデザインなどを学べるサービスが増えてきました。
上記のようなサービスもでてきて一昔前よりも敷居がどんどんと下がってきていると思います。

もちろんそのおかげで僕自身がこの業界で仕事ができている面もあり感謝しています。
特にドットインストールにはお世話になりました。

それっぽいデザインやサービスもwordpress等を使って少し調べれば実現できるようになりました。
これから二極化が進みこういった便利なサービスをつくれるような技術のあるプログラマとそれを使用する人たちにが中心になり
どっちつかずの位置にいる人達はいろいろと厳しくなってくるのではないではないでしょうか。

ではどうするか

やっと本題
ここまではエンジニアではなくプログラマーという表現を使ってきましたがここからは使います。
(ここではエンジニアはプログラミング能力を含めたひとつ上のレイヤーとして扱います)
エンジニアはプログラミング能力以外にも多くを求められます。

それはどういったポジション・会社かによって変わってきますが

プログラミング能力×何か

ということになります。

そこそこプログラミングができるという人は相当数いますが、プログラミングがそこそこできてマーケティングの知識も業務レベルであるなど複数のスキルをそこそこのレベルでこなせるようになればエンジニアとしての価値を保つことができると思います。

僕は転職組なので前職の知識や経験があるのでまずそれをひとつめの掛け値として活かさなければと思っています。

せっかく今まで得た知識や経験を使わないのはもったいないです。

スティーブ・ジョブズがかつて点と点が線になったと語ったように、自分の中に点を増やして線にしていきたいです。

まとめ

スペシャリストではなくゼネラリストを目指すというお話。

「プチスキル」をかけ合わせて「レア人材」になる 一生食える「強み」のつくり方

「プチスキル」をかけ合わせて「レア人材」になる 一生食える「強み」のつくり方