100名以上のメンターをやって見えた「めちゃくちゃ伸びる人」の共通点
弊社では中級エンジニアを育成するプログラミングブートキャンプ「PrAha Challenge」を2年近く運営しています。累計100名近くの方々が参加して、日々実践的な技術課題に取り組みながら、メンターと技術的な質疑応答を繰り返しています。
実はプラハチャレンジの第1期から第5期までのメンターセッションは全て私が担当しているため、累計100名近くのエンジニアの成長を間近に見てきた経験から「めちゃくちゃ伸びるエンジニアの共通点」を見つけた気がしたので、何かの役に立てばと思い、Zennにも書き残そうと考えた次第です。
ちなみに弊社が運営しているpodcastでも同じテーマについて話しているので、耳で聞く方がお好みの方がいたらぜひ以下のpodcastへ!
TL;DR
めっちゃ伸びる人は
- 分からないことを言葉にするのが上手
- 情報を鵜呑みにしない
- 人当たりが良い
- 学習量が半端ない
- 好奇心にあふれている
分からないことを言葉にするのが上手
「課題を言葉にできたなら、その課題はもう半分解決している」という名言をご存知でしょうか。僕が今3秒でテキトーに作ったので知っている人は居ないはずなのですが、めっちゃ伸びる人ほど自分が理解できていないことを具体的に言葉にするのが大変上手です。
例えば「DDD何も分からん」で終わるのではなく、自分が理解していることと理解できていないことを区別して、根気強く細かな疑問に分解できるかどうか:
- 値オブジェクトが何の問題を解決するために生まれた概念なのか分からない
- まだ実践していないため本当に自分が理解できたのか不安が残っている
- 境界づけられたコンテキストが無いと困るケースが想定できていない
より細かい疑問に分解できる人ほど欲しい情報に効率的にアクセスできるため学習効率が高いように感じます。なのでPrAha Challengeのメンターセッションで粗すぎる質問を受けた時は、 自分が既に理解していること、まだ理解できていないことを書き出してもらったり、理解できていないことをより詳細に明文化してもらったり、違う言葉に言い換えてもらう 、みたいな取り組みを通して「質問を細かく分解する技術」を身につけてもらおうとしています。
自分の疑問を「DDD何も分からん」としか表現できていないと、いざ壁にぶつかった際「DDD何も分からん」としか検索できないので解決の見込みがありません。「分からないことを言葉にしてネットで検索する力」はどの職業にも役立つ能力ですが、特にエンジニアはネット検索で解決することが他の職種より多いので、この能力がより大切な気がしています。
検索してもなかなか望む回答が得られない時は「理解できていること、できていないことを書き出してみる」「理解できていないことをより詳細に明文化してみる」「異なる単語を使って理解できていないことを書き直してみる」などの練習を繰り返してみるのが個人的にはオススメです。
情報を鵜呑みにしない
「ハンマーを持つと周りのものがすべて釘に見える」という名言がありますよね。
エンジニアに置き換えると、例えば「デザインパターンを学んだら、いついかなる時もそれを適用することが正解だと思い込んでしまう」みたいな感じでしょうか。カーゴカルト的な。
その情報が成立する前提条件や適用すべきコンテキストを見落としてしまうと「でも、こういう時はその情報正しくないよね」と簡単に反証されてしまい、実際の課題解決には役立ちません。
逆にめっちゃ伸びる人ほど情報を鵜呑みにせず自分が納得するまで疑い続けるので、身につけた知識が深く、反証されづらいように感じます。
例えば「水は100度で沸騰するんだよ」と言われたとします。
鵜呑みにする人はそこで理解が止まりますが、鵜呑みにしない人は
「本当にどんな条件でも同じ温度で沸騰するのかな?何か前提条件があるんじゃないか?」と疑い続けて
「1気圧の時だけ100度で沸騰するみたいだ。これが正しいとしたら富士山の頂上では100度より手前で沸騰するはず」みたいな形で、もう一歩深い理解に到達します。
この「もう一歩深い理解」を一問一答のたび毎日繰り返している人と「水は100度で沸騰するんだよ〜」としか覚えていない人では、1年も経てばとてつもない差が開いているように感じます。
なので新しい知識を取り入れたら以下のような流れで一度疑ってみると良いのではないか?と考えました:
- 隠れた前提条件がないか、疑う
- →本当にどんな状況でも水は100度で沸騰するのか?
- その知識が正しく成立するための前提条件を考える
- →容器の材質とか、気圧は関係ないのか?
- 得た知識から新たな仮説を立てる
- →沸点に気圧が影響するなら富士山の頂上では沸点が下がるはずだ
特に自分が得た知識から自分なりの仮説を作って、実際に手を動かしてその仮説を検証してみるのは非常に良い学習習慣なので是非試してみてください。
人当たりが良い
めっちゃ伸びる人ほど人当たりがよく、技術的な議論をする仲間が周りにいるので、いつも他人の頭脳も借りながら新しいことを学んでいる印象を受けます。
他人と議論しながら新しいことを学ぶと、自分の誤った理解を修正したり、自分が焦点を当てられていなかったところに触れられて、非常に効率的かつ深く学習が進みます。弊社でも平日は毎朝「A Philosophy of Software Design」を4名で輪読していて、周りの人と一緒に学習する効果をヒシヒシと感じています。仲間がいることは本当に大切です。
右の頬を打たれたら左の頬を差し出すような聖人君子である必要はありませんが、自分の意見が否定されたときにムキにならないとか、自分が知っていることを知らない人を馬鹿にしないとか、知らないことは知らないと謙虚に認められるとか、そういう基本的なことさえ守れていれば問題はありません。周りと一緒に切磋琢磨できる人ほど伸びるなぁ、という印象を受けます。
めっちゃ伸びる人は学習量が半端ない
身も蓋もない話ですが、伸びる人は総じて学習時間がずば抜けています。平日の仕事終わりに毎日2~3時間は勉強して、週末も必ずコードを書いて、一日の大半を学習に費やしている人が伸びないはずないよね、という納得感のある共通点です。
実際、僕自身が今まで出会って「この人には絶対に追いつけないな」と思うエンジニアは全ての自由時間をコードを読むか書くことに費やし、日常の些細な時間も切り詰めて「食事の時間が無駄だから」とCOMPやBASEシリーズで統一したり、トイレにもスマホを持ち込んでOSSのコードを読んでいるような方でした。さすがに極端すぎるかも知れませんが、周りの「すごいエンジニア」に学習時間が少ない人は一人も居ないように思います。みんなめっちゃ読むし、めっちゃ書く。
地球上の全エンジニアのトップ1%を目指すのであれば持って生まれた資質も多少は影響するのでしょうが、一般的な企業の業務レベルで生じる優劣は学習量だけでも十分カバーできるように感じます。
好奇心にあふれている
じゃあそこまでの学習時間を確保する情熱がどこから生まれるのかといえば、強い好奇心ではないかと感じています。夢中になれるテーマを自分で見つけて、飽きたらすぐに新しいテーマを見つけてまた夢中になる。環境に左右されず、自分が没頭する時間を自分で絶えず作り出せる人は高い学習モチベーションを維持できて有利です。
知的好奇心にあふれている人ほど他人の意見や知識も面白がって取り入れる人当たりの良さを兼ね備えている傾向があり、どんどん周囲に学習仲間が増えていく印象を受けます。エンジニアリングに限らず「これは面白そうだ!」と思うものを探し続ける姿勢は常に忘れたくないですね。
まとめ
PrAha Challengeで100名近くメンターとして接してきた中で、めちゃくちゃ伸びる人の共通点は
- 分からないことを言葉にするのが上手
- 情報を鵜呑みにしない
- 人当たりが良い
- 学習量が半端ない
- 好奇心にあふれている
Discussion
こんにちは、とても興味深い記事ですね!私もめちゃくちゃ伸びるエンジニアを増やしたいので、方法論として興味があります。
以下の点が気になりました。
めっちゃ伸びる人、いた
はい!
他より重要な要素はありそうですが、個人的には全てを兼ね備えた時に一番伸びるのかな〜(つまり掛け算なのかな)と考えています。1日10時間かけて情報を鵜呑みにし続けても伸びないし、どれだけ疑って深く考えても1日5分だけでは伸びない、みたいな
エンジニアになって1~2年程度で新規事業のサービスをフロントからインフラまで技術負債を最小限に抑えながら開発できる人をチラホラ見かけるため、こういう方をイメージしておりますが、それが全体の何%か、という質問には具体的に答えられない気がしますね...
トップX%を高校野球とか卑近な例に換算して考えるのは凄く良いアイデアですね...今度使わせてください!w全参加校4112校のうち甲子園に出場するのは49校なので、トップ1%というのは甲子園出場校と同じレベルなんですね。
「きちんとした説明・研究・定説について調べる」といった調べ方を習得するのも非常に重要なことだと思います。ただ、情報を鵜呑みにする癖がついてしまうとそもそも調べようとすらしないので、鵜呑みにしない姿勢のほうが重要かな?と考えて今回の5選からは除外してみました!
ご回答ありがとうございます!大変参考になります。
なるほど、そうなんですね。そうすると、やはり一日の大半を学習に費やしても伸びない人はそれなりに居るのですかね。
なるほど、PrAhaチャレンジで100名近くのメンター(100名以上のメンター?)をされた経験から、そのうち何人ぐらいというのでPrAhaチャレンジ内での比率ぐらいは出せるのかなと思ったのですが、難しいのですね。(さらに可能であれば、PrAhaチャレンジに来る人がどれぐらい...という目算をつければ、比率の掛け算によってざっくりどれぐらいの水準の人なのか、というのがわかるかもと思いましたが、難しいかもしれないですね。)
甲子園は、試合に立つメンバーベースだともっと少ないのかと思っていたのですが、学校数だとたしかに1%を超えるのですね。
鵜呑みにしない姿勢に関しては、その姿勢を踏まえての具体的な行動について、単に闇雲に疑うだけだとあまり効率的でないので、鵜呑みにはしないという前提で、信頼する知識の条件や調べ方の部分が重要なのかな、といった意味でした。