初心者はコーチングでペアプロしてくれる人に教えてもらうとつぶしが効くと思う
@nabeemichi です。
エンジニアとして開発していると、ものすごいいろんなことを考えながら開発してると思うし、
7年以上エンジニアしててもわからないことがたくさん出てくるし、技術もどんどん新しくなっていくなーと思うわけです。
そんでもって、わからないこと調べて、 この方法が確からしい と思う方法を見つけるにも時間がかかるときもしばしば。
プログラミング初心者だとしたら、もはや右も左もわからない。
で、そんなときにするべきことってのは、 わからないことを明確化すること なのだ。
が、しかし!これがなかなかの難易度だと思う。
そもそもここができなくて、前もわからず突き進み始めて、何がしたいのか訳わからくなる人もいる。
よくわからないけど動いたー!
なんかこんなことぐぐったら出てきて、なんか動いたー
とか聞こえてきたら、こりゃ危ないな!って思ったほうがいい。
どんなプロセスでわからないことを明確化し、解決に持っていくか?
という例を頭に叩き込んで、自力でロジックを組み立て解決できる状態を確立するほうが、言語を覚えるよりよっぽど頼りになるエンジニアになる。
そうなるには、とにかくできるエンジニアの思考回路をパクらないといかん。
エース級のエンジニアにつぶやきながらコーディングしてもらうと面白い
思考回路パクリ作戦の一つはこれだ。
一行一行、コーディングしているのを隣で声に出しながらコーディングしてもらう。
自力でガシガシイケてる技術使いながらプログラミングできちゃうやつは、
ここでこんなこと考えるのかー!!こんなことも考えるのか
とか、
こんなこと調べ始めたけどなんでだ?
とか、つぶやきながらコーディングしてもらうだけで、プロセスを知ることができる。
ちなみに、このときに使ってるショートカットとかはどんどんパクるべし。無駄な時間をどんどん省いて、考える時間にを確保するため。
コーチングしてもらう。
ってのが効果的な気がするけれど、ガシガシできるやつはだいたい時間がない。さらにエンジニアはしゃべるのが苦手な場合が多かったりするから、コーチングできる人も少ない。
コーチングのメリットは自分の思考プロセスを壁打ちできること。
こう考えたんですけど、何が足りないのか?足りない理由は知識なのか?プロセスがぶっ飛んでいてロジカルではないことが原因なのか?
を壁うつ。
そもそも壁打ちできるようなレベルではない場合は、現状の把握とわからないことの明確化することを導いてもらうといい。
なんでですか?って質問しながら。
プロセスわかったら知識はどうにかなる
考え方わかったら、その考え方で知識をつければいいだけ。
言語の知識がたりなことがもんだいなのか?インフラの知識が足りないのか?
ガシガシできるやつの思考プロセスもってれば現状の把握と問題の洗い出しができるはずだから、必要な知識もつけていけるはず。
JavaやRubyを勉強するよりもまずはわからないこと明確化して、わからないことを解決できる力をつけるべき。
知識はすぐに古くなり、新しい技術はどんどん出てきますから。