2020年の4月に新卒入社した2年目の仁木です。春の入門連載2021の2日目です。
実務でいきなり新しい技術に触る機会が増え、うまくキャッチアップしたり、実務で使うもの以外でも今後使える技術を増やしていくにはどうしたらいいかなと考えていて、3パターンにわけて実践していることをまとめてみました。
抽象的な内容となりますが、入社を考えている方や、これから入社される方に入社2年目の人はこんなこと考えているのかと参考になればと思います。
実務で扱う未経験技術3パターン
Photo taken by @kaedemalu
- 1ヶ月以上前から扱うことが分かっているパターン
研修後のOJT直後でプロジェクトにアサインされてまもない頃や、次フェーズで使う技術と設計がだいたい固まってきた時などにこのパターンでした。実務で使うまで1ヶ月以上の学習時間があります。分野を広く、興味があるところまで広げて好きに勉強できるので個人的に一番好きなパターンです。この時期はプロトタイプを作ってみるだけでなく、関連する言語やサービスの記事をなるべく広くインプットして、興味があるものや先輩社員やTwitterなどで流行りそうな技術はアプリ化したり、資格取得に繋げたりしています。この時期は視野が広くなるので次に来そうな技術を予想するのが楽しいです。 - 直前に分かるパターン
言語変更や仕様がより固まって予想してなかった技術が必要となったパターンです。あまりインプットの時間がないので短期的に見て必要な知識だけを効率よく身につけなければならない状態です。実装に必要な最低限の知識だけを効率よくキャッチアップするために小さいプロトタイプを素早く組み立てます。慣れるまで短い時間でたくさん立ち止まって調べなければならないので、最初はしんどいです。技術選択などは視野が狭くならないように知っている人に聞いた方がいい場合もあり、自力と他力のバランスを取るのが難しいです。現実を見ずに広めの好きなキャッチアップをしないように「時間がない」ことを忘れないように気をつけています。 - 自力で間に合わなかったパターン
インプットの時間が足りなくて、よくわからないうちにほぼレビューの力やアドバイスを借りて遂行したパターンです。1,2で時間不足、準備不足のものの一部がこれになります。時間がないので自力でできることが限られていて早めに諦めて人を頼る必要があります。人に教えてもらってコードが完成した後も次またすぐ使う技術かどうかでどこまで深追いするかは見極めが必要と思っています。理解が浅いと何回も同じ質問をしてしまいかねないので何度も出て来そうなものは汎化できるまで深掘りできるのが理想です。
とはいえ質問の共通部分まで辿るのは経験上難しくて、同じ質問をしてから気づくことが多いです。聞いている方は細かく見過ぎていて(聞かれている方から見て)同じ質問か分かってない時があるので、先輩社員になって同じ質問をしてくる後輩がいたら、共通部分の指摘ができるようになろうと思っています。
プログラミング経験者・未経験者別。入社前にやっておくといいこと
- プログラミング経験者
1言語以上ある程度すらすらかける人は入社後に興味のある技術を希望できる機会があるのでそれに向けてどんどん手を動かして見るといいと思います。何をやろうか思い浮かばないという人はTechBlogで興味のある技術を見つけてそれをやってみるとか、なんとなく怖くて手が出せなかった技術について調べてみるでもいいと思います。 - プログラミング未経験者
未経験者に限らず、自分にも言い聞かせていることなのですが、本を読むだけ、コードを見るだけで理解しようとしたり、写経してやった気にならないようにしようと心がけていて、まず、自分で考える時間を作って、自分で書いてコードがどのような意味をしているかを考えるような時間があるといいと思います。
興味のある技術についても広めに勉強をしてもいいのかと思いますが、インプットが多くなりがちになってしまうので、まずは1つの言語をしっかり身につけて応用していくまたは、小さくてもアウトプットをたくさんしていくほうが実践力は付くと思います。
まとめ
いかがでしたでしょうか。パターン別に未経験技術のキャッチアップ方法で考えていることをまとめてみました。実務が一番技術力がつくと思っているので、それに合わせて目の前のことだけでなく、長期的に広く、新しい技術を身につけたいと考えながら仕事や勉強をしています。入社ちょうど1年経過した人はこんなこと考えているのかと参考になれば嬉しいです。