見出し画像

新卒1年目の記録(CEG福岡 朱)

こんにちは。クラウドサーカス開発部です。

今回は新卒から1年間開発業務を経験し、今期からインフラチームでインフラ業務を担う朱さんに1年間の振り返りと今期の期待について話していただきました。

新卒1年目で学んだこと

CEG福岡所属でLESSARの開発を担当していました。この1年間でたくさんの学びがありましたが、プロジェクトの進め方、見積もり、ユーザー目線の開発の3点は自分にとってとても大きなものでした。

プロジェクトの進め方

最初に学んだことは、プロジェクトの進め方に関してです。チームで協力してプロジェクトを進める方法が非常に有益であることがわかりました。大学院時代には個人開発が主でしたが、CC社に入社後はチームでプロジェクトを進めるため、期限とタスクが明確に設定されています。ある程度自分で調整できますが、工数も見積もる必要があり、どれくらいの時間をかけて作業を完了できるかという共有もします。これまで経験したことのないことだったので、プロジェクトへの取り組み姿勢や開発に対する目線が大きく変わりました。

正直、工数の見積もりは勉強で身につくものではなく、実務を通じてでないと鍛えられないものです。見積もりには、自分の能力とタスクの難易度を考えて計算する必要がありますが、甘すぎてもダメですし、厳しすぎてもダメなので、ちょうど良い落しどころを見つけることがとても難しかったです。

メンバー全員でどれくらいの時間がかかるかを個人の経験に基づいて見積もります。最初は慣れない部分も多く、見積もりを修正してもらうことも多くありましたが、徐々に慣れてきて、今では見積もりから実際の業務までスムーズにこなせるようになりました。これは実務を通じて、LESSARシステム自体にどのような機能があるかや内部的な仕組みについても理解が深まったからだと思います。

リーダブルコードは仲間のため

また、自分以外の人が見ても理解できるコードを書くことやしっかりとコメントを残すこと、意味の通じるわかりやすい変数名を使用することで、より正確に工数の見積もりができるようになりました。読んでもらいやすく、理解しやすいコードを書くことは、チームでプロジェクトを進める上で重要な要素であり、自分の成長だけでなく、チームメンバーへの成長の機会にもなると感じております。

私自身も、これまでLESSARを開発してきたメンバーが書いた実際のコードから情報をキャッチアップしてきました。コードが読みやすいことで、プロダクト全体の理解をより深めることができますし、自分が担当する開発工数の見積もりにも良い影響があることを実感しました。

技術面での学びとしては、未経験の技術に対する対応の仕方です。私の場合、PHPのフレームワークであるLaravelについての経験がなかったため、必要な機能を実現するためにどのようにフレームワークを使うかが課題でした。しかし、適切な調査を行えば、ほとんどの技術問題は自己解決が可能でした。Googleで検索することや、ChatGPTに質問するなど、さまざまな方法があり、課題を明確にすることを意識しました。これにより、知識が積み重なり自分の力になっていく感覚が得られました。

ユーザー目線

最後に、ユーザー目線に焦点を当てます。私自身は新しい技術を積極的に取り入れたいと考えていましたが、それだけではエンドユーザーのニーズを十分に考慮できていないことに気づきました。例えばライブラリのバージョンアップを行いたい場合でも、基本的な機能が損なわれたり、インフラ(AWS)のインスタンスやデータベースに無闇に触れることで問題が起こったりする可能性があり、私は開発の結果がどのような影響を与えるかを考慮していませんでした。バージョンアップがエンドユーザーにどのような影響を与えるかを意識することで、開発のしやすさだけでなく、機能性やユーザビリティにも注意を払うようになりました。このように、以前はとにかく開発できれば良いという考えでしたが、ユーザーにとって使いやすいプロダクトを開発するという視点を持つことができるようになりました。

この意識を継続的に実践できているのはLESSARチームで取り入れている20%ルールのおかげです。これは、開発工数の20%をメンバーが自由に好きな開発に充てることができるルールです。私の場合、例えばLESSARのソースコードのリファクタリングや、自分が提案した技術の実装、WebARに関する知識の習得など、ユーザーにとってメリットのある内容を中心に時間を使うようにしています。最近は、CG分野で、画像やリアルなマーカーにARを投影させる技術を試したり、既存のOSを別のオープンソースのARライブラリを用いてLESSARのような機能を実現できるかなどを試しています。

1年間の総括

この1年間は「一生懸命」という言葉がもっとも適した期間であったと感じています。先ほどのフレームワークの話をはじめ、これまで経験のなかった技術への対応やチーム開発を通じて学ぶことが多く、できるだけ早く一人前になり、チームに貢献したいという強い意志を持って取り組みました。
一生懸命やってきたからだと思いますが、昨年の夏から半年間、新機能開発に携わる機会をいただくことができました。それはLESSARの身体認識ポーズを認識する機能の開発で、タスクを割り振られてから、アルゴリズムの部分をプロトタイプを実装するところまでひとりで担当しました。

自分自身が成長を感じられたポイントは、プロトタイプの実装後、リリースまでの改修作業は他のメンバーに引き継ぐ必要がありましたが、リリースまでの期間が想像よりも短かった点です。これは私がプロトタイプ時点で効率的かつ正確なコードを書くことができたからだと思っており、学んできたことをアウトプットとして活かすことができたと実感しています。

次なる一歩

インフラエンジニアとしてのキャリア

1年間、一生懸命頑張ったと思いますが、まだまだレベルアップしたいと思っています。例えば、プロダクトの理解や技術選定などです。今期からはインフラチームに入るので、インフラアーキテクチャやAWSの資格取得に積極的に取り組みたいと考えています。宋さんという非常に優れたインフラエンジニアが先輩としてサポートしてくれるため、できるだけ多くの知識を吸収したいと思っています。

また、AWSのカスタマーエンジニアが社内のSlackに参加してくれているため、15分間考えても解決できない問題に直面したら、すぐに質問しようという意識を持ちたいと思っています。これにより、効率的にスキルを向上させ、次なる一歩を踏み出す準備を整えたいと考えています。

社会実装に役立つエンジニアに

社会に大きなインパクトを与えるエンジニアになりたいと考えています。インパクトのあるオープンソースソフトウェア (OSS) を開発することなど社会にとって善いとされる開発をしてみたいです。

これまではLESSARのみの担当でしたが、今後はインフラエンジニアとして、さまざまなプロダクトを扱う機会が増えます。そのため、各プロダクトがどのような開発をされているかやどのような技術が使用されているかなどを理解し、インフラエンジニアとして、インフラのアーキテクチャを理解し、更なる改善を提案できるようになりたいと考えています。そして、会社のさまざまなプロダクトに対して多角的な視点を持ちたいと思っています。

この記事が気に入ったらサポートをしてみませんか?