IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→法人化(今年))

エンジニアに立ちはだかる3つの壁

ちょっと考えました。

メモ。

 

f:id:otihateten3510:20200828005900p:plain

エンジニアは3つの壁があると思います。
これらはどのような方針で攻略できるかでまとめました。

 

1つは普通にプログラミング知識やエンジニアリングの知識です。発展型として設計力があると思います。

 

2つ目は、所謂上流系のスキルと細かな開発テクニックの経験値です。

 

3つ目は、学術的な調査力や、特殊な専門性の高いスキルです。

 

最も簡単に攻略できるのは「プログラミング・エンジニアリングの知識」

本にも書いていますし、学校でも教わることが出来ます。先輩にも教えてもらえます。
ここらへんは3000時間も頑張ればモノになるんじゃないでしょうか。

 

ただ、ここの知識だけでフリーランスになるのはちょっと危険だと思います。
どうしても2つ目、3つ目のスキルが要求されてくるのと、フリーランスになってからここを伸ばすのが難しいので、組織の中で頑張るのが良いと思います。

 

上流系のスキル、開発テクニックのためには良質な複数の仕事が必要

これが1社で賄える大きい企業に属しているならラッキーですが、それが叶わない場合はどうにか勉強するか、転職などして大海に出ていかなければ得られないと思います。

もちろんハードルが高いです。あと時間も年単位でかかります。

調査力は全く別のスキル

1つ目と2つ目を戦略的に獲得できたとして、3つ目は全然系統が違うスキルだと思います。ただ仕事をしているとここらへんの特殊な専門性を求められることが出てくるでしょう。
それを突っぱねるのもいいと思います。というか完全に地力でやるのは無理があります。プロジェクトはチーム戦ですから専門家に任せるのもいいでしょう。
ただ、専門家に頼むほどではないけど調査や実験が必要なタスクというのが存在します。
例えば課金処理とか、ライブラリーやSDKを使って解決できるようなモノは非専門家のエンジニアがそのままやることが多いですよね。
それができず、詰むようだと、おそらく一人前・独り立ちとは認めてもらえないと思いますが、じゃあこの領域をどう教えてもらうかと言えばちょっとむずかしいですよね。個人の資質に寄ってしまいそうです。

 

1人前のエンジニアとはどこなのか?

1人前を「独立できるエンジニア」と仮定すれば、全部できてようやくだと思っています。そうしないと取れる仕事が減るので非常に危険です。

ただ、全員が全部できるべきかと問われれば疑問です。それはマッチョな思想ですよね。1人前じゃなきゃエンジニアじゃない、みたいな考えは現実的ではありません。

 

それぞれの戦略、どこに所属するのが幸せか

1つ目+2つ目+3つ目の方

独立してもいいですし、社内でベテランポジションに落ち着いてもいいですし、出世してもいいですし、プロジェクトリーダーをしてもいいと思います。自由です。

 

1つ目+2つ目の方

こちらは社内に居たほうが安定すると思います。自分の専門性が活かせる会社です。危険なのは5年に1回しかそのスキルを使わないみたいな状況で、その度に勉強・調査が必要になると大変です。

 

1つ目+3つ目の方

プロジェクトリーダーが最適なポジションだと思います。独立はあまりオススメしません。専門性を持った方を抱えている会社で、そういう人に仕事を依頼する解決方法を取るのが安定すると思います。

 

1つ目のみの方

1つ目のみの方の中には、2つ目3つ目を攻略途中な方がいると思います。そちらの方はそれぞれに適した仕事を見つけるべきでしょう。
そうではなく、力量的に、あるいは労働時間的に2つ目3つ目を攻略するほどの余裕はなく、1つ目に終止するならば、フォローしてくれる人や組織がある状況で、かつマッチョな思想ではないところに属するのが幸せだと思います。給料は安くなるかもしれませんが。

 

ただ基本的にどの会社もマッチョな考え方しますよね。っていうのを今日考えました。私はマッチョな考えにならないように気をつけたいです。