今年でフロントエンドになってから6年目が経過しました。
ある程度はフロントエンドエンジニアとしての知識がついてきた気がするので、継続的に知識をつけるために気をつけていることなどをまとめてみようと思います。
業務内での学びの深め方
知っていることでも調べるようにする
普段の仕事は同じような作業が多いので学びが少ないと感じている方も多いとは思います。
しかしながら、技術を分かった気でいても実は深く理解していなかったということはよくあります。
例として、cssのdisplay
プロパティではdisplay: block flow;
などの二値構文(multi-keyword)がサポートされていますがこの構文が各ブラウザのどのバージョンからサポートされているのかご存知でしょうか。
ブラウザ上で利用される技術は多岐に渡り、日々新しい仕様や機能がリリースされます。
そのため常に自分が学んだ知識は古いものであるという意識を持ち、気になった項目は知っているつもりでも改めて調べなおすことを意識しています。
勉強の予定を先に入れる
パーキンソンの法則のように、日々の業務というのは予想以上に膨らんで時間を圧迫します。
「時間があるときに〇〇する」という大昔のコメントやタスクを見たことがある人も多いと思います。
そのため基本的に業務中に学べる機会がある場合はそれを絶対動かせない予定として認識して、残りの時間でどう業務を行うのかという考え方をしないと業務中に学びを深めることは難しいと思っています。
Timesでインプットのログを取る
自分はTimesにひたすら読んだ記事や気になる情報のリンクを貼って、コメントを付けています。
Timesでインプットのログを取ると、記事やLTの題材探しが非常に簡単になります。
自分がつまずいたことや軽く流し読みしていた情報を記事やスライドにまとめる段階で、更に追加調査をするのですがこの追加調査で得られる知見が非常に有益な物が多いため、自分はインプットのログを取ってそこからアウトプットにつなげる流れを重要視しています。
業務の中でアウトプットをする
Internet Explorerのサポートが終了して、通常のWebサイトやサービスでは日常的に新しいAPIや構文が使えるようになってきました。
そのため以前より圧倒的に新しい技術が本番環境でも使えるようになっています。
アーキテクチャレベルで大きな変更を加えることは難しいですが、CSSを一行新しい書き方で書く程度であればすぐに仕入れた知識を実務でアウトプットできる環境が整っています。
そのため業務では具体的な理由がなければ最新のブラウザのAPIに準拠した書き方になるようにして業務中でインプット・アウトプットのバランスが取れるように気をつけています。
業務外での学習
社外の勉強会に参加する
社内の勉強会や学習コンテンツが充実していると、簡単にインプットが行えますが社内で「教える立場・教わる立場」が固定化したり、社内でのナレッジに偏りが出てき始めます。
ジュニアクラスのエンジニアであっても、社外勉強会で仕入れた他社の取り組み事例などは先輩も知らない知識であることが多く、一方的な「教わる立場」を脱却するよい機会でもあります。
ポッドキャストを聞く
毎日在宅で仕事をしているので、運動不足を解消するためになるべく毎日歩くようにしています。
歩いているときはポッドキャストを聞くようにしていてmozaic.fmやRebuildなどテック系のポッドキャストを聞いて運動時間も活用しながら楽しく知識をインプットできるようにしています。
まとめ
以上が継続的に行っているフロントエンドの学習です。
人によって合う・合わないはあるかと思いますが、なるべく自分に合って毎日続けられるレベルのキャッチアップ手法を選ぶことが大切だと思っています。