新卒2年目エンジニアが去年と比較してできるようになったこと

はじめに

アソビューAdvent Calendar 2024の16日目(裏面)です。🎄

こんにちは。アソビュー株式会社で主にフロントエンド開発を担当している髙木です。
2023年のアドベントカレンダーでは「文系学部出身者が入社してからおこなった3つのタスクと9つの学びについて」というテーマについて執筆しましたが、あれから1年が経ち学んだことやできることも増えたので、去年と比較してできるようになったことを紹介できればと思います。 特に新卒でエンジニアとして働いている方、アソビューのエンジニア組織に興味ある方にとって、参考になれば幸いです!

入社1年目の振り返り

まずは去年を振り返ってみたいと思います。去年のブログにもありますが、まとめると

新卒研修

  • 自社サービスを理解すること
  • チームで働くということ
  • 学びを抽象化し、具体化すること

フロントエンド業務

  • とにかく動かしてみる
  • 素直に聞く
  • APIを理解する

負荷テスト

  • エラーメッセージから逃げない
  • ネットワークタブを活用する
  • バックエンドエンジニアに頼る

上記を学んだこととして挙げていました。なんだか当たり前のように感じますが、2年目の自分としては業務を進めるうえで今でも(というより今後も)とても大事なことだと感じています。 ちなみに去年執筆したブログはこちらです! tech.asoview.co.jp

2年目でできるようになったこと

さて、去年と比較して私はどのようなことができるようになったのでしょうか。ビジネスパーソン的な観点と、技術的な観点2つに分けて考えてみました。

ビジネスパーソン的観点

目的意識を持つこと

去年の段階では、開発をするうえで「この機能があることでユーザーにどのような便益があるのか」ということに意識を向けられず、目の前のタスクをこなすことばかりに集中していました。
ある時、友人に自分が携わった機能を紹介した際、「これって何のための機能なの?」と尋ねられ、パッと答えられず困惑した経験があります。これを機に、各機能の目的やユーザーへの影響を深く考えるようになりました。例えば、検索機能を実装する際には、ユーザーがどのように検索を利用し、どのような利便性を感じるのかを明確にし、それに基づいたデザイン修正を行うようになり、自分の開発に対する自信もつきました。

タスクの細分化

ある機能を開発する中で、タスクの解像度が高くないまま進めてしまい、一つのタスクが膨れ上がり完了するまでに時間がかかってしまったことがありました。 これを受けて、以降はタスクを細分化して一つずつ片付けるよう心がけました。例えば、「検索機能の実装」という大きなタスクを、「骨組みの表示」「APIとの連携実装」「デザイン反映」などに分割したことで、進捗が見えやすくなり、効率的にタスクを完了させることができるようになりました。

タスクの振り返り

日々タスクをこなしていく中で、自分がどのくらいできるようになったのか分からないことで仕事のモチベーションが下がる時期がありました。そこで、大きめのタスクを実装した際は、
・どこで詰まった
・解決方法
・学んだこと
この方法を実践することで、自分の成長を可視化でき、モチベーションの維持にも繋がりました。
例えば、特定の詳細ページにある情報を追加で表示する対応に取り組んだ際、どの部分でボトルネックが発生したのか、どのように解決したのかを記録しました。 例えば以下のように記録しました(一部)。

振り返り内容(一部)
これにより、同様の問題に直面した際に迅速に対応できるようになりました。

技術的観点

  1. フレームワークとライブラリの理解 状態管理やパフォーマンス最適化(メモ化)を実践できるようになりました。具体的には、カスタムフックを作成して共通のロジックを抽象化し、コードの再利用性と可読性を向上させました。

  2. UI改善とユーザー視点の強化
    上記の「目的意識を持つこと」にもあるのですが、自分の実装した箇所を適切に便益を説明できなかった経験から、UIは特に意識するようになりました。
    デザイナーから提供されたFigmaのデザインを基に実装する際、ユーザー目線に立って細部まで気を配るようになり、具体的には、条件によって変わるボタン内のテキストや、よりユーザーに分かりやすくなるよう追加でテキストを出すなど、ユーザーが直感的に分かるようなデザイン改善を提案し実装しました。

  3. バックエンド開発
    去年までは主にフロントエンド開発に携わっていたのですが、現在のプロジェクトではフロントエンドだけでなくバックエンド開発にも携わっています。これまでの自分のバックエンド経験は、Spring BootでTODOアプリを作ったことがあるくらいで、実践では未経験でしたが、挑戦していくなかで少しずつ知識を身につけることができ、現在では実装を進められています。
    具体的にできるようになったことというと、
    ・外部APIと連携し、必要なデータを取得・送信する
    ・フロントエンドからのリクエストを受け取り、適切なデータ処理を行ってレスポンスを返す
    ・取得したデータをテンプレートエンジンを使用してHTMLに表示し、動的なコンテンツを提供
    上記のようなことができるようになりました。

成長を支えた要因

大きく2つあります。

アソビューで与えられる裁量の大きさ

上記でもありますが、フロントエンドだけでなくバックエンド開発にも携われたりと、やらせてもらえることの幅が大きいなと感じています。
このように多様な領域で挑戦できる環境は、自分のスキルセットを広げる絶好の機会となっています。もちろん時には難易度の高いタスクもありますが、それを乗り越えることで成長を実感しています。

心理的安全性の高さ

気軽に技術相談やペアプログラミングを依頼できる環境も、今年の自分の成長を支えた要因の一つです。
現在のチームでは、毎週一回、開発チーム(時にはビジネスサイドのメンバーも)が対面で集まり、お昼ごはんを食べながら一週間の活動を共有する場があります。この場では、あまりシリアスにならず、「こういうところに拘りました」「ここってどうするのが良いですかね」といったように気軽に技術相談ができ、例えば、新しいUIコンポーネントの実装方法について意見を求めた際、先輩エンジニアから具体的なアドバイスをもらい、迅速に改善を行うことができました。このようなオープンなコミュニケーション環境があることで、これまで感じていた聞きづらさを大きく軽減してくれています。

現在の課題と今後の目標

上記で述べたことができるようになった一方で、まだまだ課題はたくさんあります。特に以下の3点に注力し、2025年にはさらに成長を遂げたいと考えています。

  1. 顧客理解
    ・課題
    顧客がどのような課題を持っているかの理解
    ・目標
    ユーザーの声を拾い、フィードバックを積極的に取り入れることで、ユーザーのニーズに即した機能開発を行いたいです。

  2. タスク管理
    ・課題
    自分のタスクの進め方や、スプリント内のスケジュール管理の改善
    ・目標
    Jiraを効果的に活用し、優先順位の付け方やタイムマネジメントのスキルを向上させます。

  3. サイトパフォーマンス最適化を意識した開発
    ・課題
    表示する画像の大きさや、より負荷をかけないAPIの呼び方など、パフォーマンス面での最適化能力不足
    ・目標
    Lazy Loadingの実装や、キャッシュ戦略の見直しを行えるようにする。

最後に

今回は私が去年と比較してできるようになったことを紹介させていただきました。
このブログを通して、今年1年で何ができるようになったのかを言語化するのは、自分の成長を促進する良い機会だと感じました。
とはいえ、まだまだ自分に足りていないことも多いので2025年は2024年よりも学びやできることが多くなるような年にするべく、インプット&アウトプットを続けていきます!

現在アソビューでは「生きるに、遊びを。」をミッションに、一緒に働くメンバーを募集しています!
ご興味がありましたら、ぜひご気軽にご応募ください!

www.asoview.com