ボクココ

個人開発に関するテックブログ

エンジニアの成長が停滞するとき

ども、@kimihomです。

私は常々、エンジニアの成長にとって必要な能力は「好奇心」だけだと考えている。新しい何かが出てきたとき、好奇心がなければそれに時間を使って学び始めることはできない。その学びたい、知ってみたいという好奇心こそが自分の技術の幅を増やし、より良いエンジニアになっていくのだ。

中級者からの壁

新技術を学ぶ時ってたまに"感動"するんだよね。自分にとっては Ruby, Rails, Heroku, AngularJS, Twilio とかだったんだけど、そういう感動があると一気に理解したくなるもの。感動があるから新技術の勉強は個人的には続けられている。すると初心者から中級者は割と簡単になれる。ただし、全てがオールラウンドなスキルで書籍を卒業し、ある程度自分でソースを書いてみて、「この技術、使えます。」となるだけだ。持ってる技術全てが単に書けるだけのレベルで止まってしまう。

んで、だいたい技術的なことがわかってくると、新しい技術が出てきたときにちょろっと概要を見ただけで「あ〜こういうのね。はいはい。」と思っただけで満足し、それ以上は勉強しなくなる。必要になったときに勉強すればいいやとチャンスを逃してしまう。これが停滞期特有の症状である。昔は「次はこういうの知らなくちゃ」って課題がどんどん出てきたから、スムーズに成長することができた。でも技術がだいたいわかってくると勉強したとしても得られる知識ってほんのちょっとなのよね。それがあるから本を読んでもあまり勉強にならない。本を読みまくって勉強してきた人にとっては、それ以降の勉強の仕方がわからない。きっとOSSの世界に飛び込んで、ソースコードを読みまくるといったことができるのだろうけど、それをやるきっかけとかがなかなか得られない。

上級者になるために

詳しく書いた上級者向けの本があまり出回っていないのも理由としてはあるだろう。そういう本はマニアックすぎて売れないから、どうしても初心者向けの本ばかりが市場に出回ってしまう。だから上級者になるには自分でソースを読んで学ぶしかないような気がする。新技術を学ぶという好奇心(初心者から中級者)から、ソースを読んで技術の全てを理解する(中級者から上級者)っていう好奇心の切り替えが必要になる。

その道を指し示してくれる本や人、コミュニティと出会えた時、ある特定の技術に対して上級者への道を一歩踏み出せるのだろう。それを見つけられず悶々とした中級者が多い気がする(私もその一人だ)。

そもそも上級者になる必要があるか?

この分岐点に差し掛かった時、上級者の道を進まなければならないのだろうか。私はそうでもないような気がしている。

せっかく技術で何かを作れる技術を身につけたのだから、世の中に役に立つサービスやアプリなどを作り続ければいい。人の役に立つことが次なるモチベーションになれば、きっとエンジニアとしての価値も上がるだろう。

以前私が書いた「サービス思考と技術思考」ってのはその分岐点のお話だ。

www.bokukoko.info

上級者は1つのことだけ突き詰められる人、中級者はあらゆる技術が支えてそれをサービスに活かせる人。そう考えれば中級者は常に新しい技術を学び続ければ、それだけでもいいような気がする。新技術すら学ぼうとしない、好奇心を失ってしまったとき、中級者の成長は完全に途絶えることだろう。

さて、今日も新しい技術を勉強するとしようか。