技術の学び方(2022年版)

こちらはCODE BASE OKINAWA Advent Calendar 2022の3日目の記事です。

今年の4月に新社会人となり、エンジニアとして働き始めました。
学生の頃に学んでいた技術スタックからガラリと変更があり、学ばなければいけない事が沢山ありました。
その中で自分なりに意識+実践していた学び方を、整理してみたいと思います。

目次:

*技術の学び方

*課題

*まとめ

技術の学び方

  • 知らない単語に目を慣れさせてから手を動かす
  • 誕生背景や過去の技術との差分を調べる
  • 詳しい人の本や記事、Twitter、Podcastを超調べる

具体的に、上記3つを意識して学習を進めていました。
ではそれぞれ詳しく見ていきましょう!

知らない単語に目を慣れさせてから手を動かす

よく技術の学び方で「手を動かそう」というアドバイスがあると思います。これは本当に大切で必要な事だと私も感じていますが、その前に「知らない単語に慣れる」事を意識しています。

社内のKubernetes輪読会に参加した際に、実際に手を動かしたところ単語に慣れておらず、かつ意味も理解していない為、動きはするものの何をしているのか全く理解できていない、という経験から意識するようになりました。

また単語を理解していないと文章を読んでも目が滑ってしまい、ただページを進める事が目的になっているケースもありました。

なので改善案として、以下の点を意識しました。

・目次や章の題名だけ読む

・章と節の題名を読み、情報の構造を把握する(ここを特に注力)

・中身を見て、単語に目を慣れさせる

・徐々に単語や内容の理解を進めていく

・手を動かす

このお陰で目が滑ったり、何もわからないという状態が凄く減りました。

誕生背景や過去の技術との差分を調べる

その技術がなぜ誕生したのかや過去の技術との差分を知ることで、より深く技術の理解をし使いこなす事ができるから、と書籍「プリンシプルオブプログラミング」の3.1章:プログラミングセオリーやfukabori.fm「#28 #29 技術選定の審美眼」エピソードで語られていました。

実際に仕事で開発をする時にも、より深く技術を理解することで読みやすい納得感のあるコードが書けるようになるなと実感することがありました。

また歴史を学ぶことで、自分の将来的な技術スタックの選定に役に立つこともあるそうです。(私はまだやった事ないので、もしよろしければ一緒にやってみましょう!)

詳しい人の本や記事、Twitter、Podcastを超調べる

4月から学ぶ必要があった技術に詳しい方のTwitterを調べ、過去の記事やTweetなどから学んだ方がいい本や記事、Podcastを選びました。

【Java】

・増田さん(@masuda220)「現場で役立つシステム設計の原則」著者

・多田さん(@suke_masa)Java, Springの解説が超わかりやすい

・ミノ駆動さん(@MinoDriven)「(通称)ミノ駆動本」著者

・持田さん(@mike_neck)最近バーチャルスレッドの話をされましたね

・坂田さん(@jyukutyo)Java Champion

・谷本さん(@cero_t)「Java本格入門」(超好きな本)共著者

まだまだ他にもいらっしゃいますいが、このように特定分野の発信をしている方をフォローし、著書やブログ記事、Tweetでおすすめされた本を中心に購入していきました。(まだ紹介したい人が沢山いる、、、)

またおすすめのPodcastは、岩瀬さん(@iwashi86)さんがホストを務めている「fukabori.fm」です。会社で超勧めまくってます。Podcastだと通勤時間にも聞けるので、本やKindleが読めない状況でもインプットが出来ます。さらに、運動している時に集中して聞けばあっという間に時間が過ぎてしまうくらい面白いです。(t_wadaさんとのエピソードが特に好きです)

書籍やYoutube、ブログ記事、Podcastなど様々なチャネルでタッチポイントを増やす事を意識しました。(これも実は慣れを意識していました)

まだまだ勉強不足なところはありますが、お陰で少しづつチームの開発に参加していく事が出来る様になっていきました。

課題

技術を学ぶ際に感じている現状の課題を、3つほど挙げてみます。

・学んだ知識を使いたがる

・まだまだインプット不足

・知識を応用し、実務で成果を出せていない

まず一つ目の「学んだ知識を使いたがる」ですが、「トンカチを持つと全てが釘に見える」と似たようなニュアンスです。
その技術や知識にもメリットデメリットがあり、ケースによって上手に使い分けないといけないので、そこの制御や判断精度を上げていきたいですね。

二つ目はそのままですが、まだまだ知識不足。インプットが全然足りていないのでコツコツ継続して、強くなりたいです。

三つ目が、個人的に直近の一番大きな課題だと感じています。LayerX社CTOの松本さんが、「知識がある事、応用できる事、目的に合わせて成果を出せる事」はそれぞれ壁があるとTweetされており、そこから意識するようになりました。
成果を出せていない理由は、当たり前のレベルの低さやまだ慣れていない部分など様々な要因があると思いますが、自分の知識を使いこなし目の前の課題に対して応用できていない事が、最も大きな要因だと考えています。
ですので、知識をどう目の前の課題解決に使いこなすかを日頃から意識して改善していきたいと思います。

まとめ

4月から比べると出来る事も増えていますが、まだまだ改善の余地があるので上記で挙げた課題を解決しつつ、より多くの事をできるようにしていきたいですね。

毎回恒例ですが、皆さんの技術の学び方もしよけば教えてください。

それでは。

--

--

冨澤 宝斗 (Takato Tomizawa)

琉球大学4年次 物理専攻 | Node.js | Ruby | Ruby on Rails | インフラ | 休学を終え、東京から沖縄に帰ってきました