million人が利用する働く人のためのネットワーキングサイトです。introductionフロントエンドエンジニアです。リクルートライフスタイルでは、レストランボードやAirレジなど、いくつかのサービス開発に関わらせてもらっています。目の前の課題だけでなく、サービス全体を俯瞰して大局を想像しながらビジネスに貢献していきたいと考えています。Ambitionフロントエンドエンジニアの組織化と育成方法を確立させたいです。フロントエンドの技術スタックは進歩を続け、静的なWebサイトを作るだけのものから動的なWebアプリケーションを作ることもできるようになりました。IoTによって多種多様なデバイスがインターネットに繋がるようになり、今後もさらにWebフロントエンド技術は複雑になり重要性も高まっていくのではないかと感じています。多くのWebフロントエンド開発はアップデートされないまま運用され続けており、新たに生み出されるものもレガシーな技術のままであることが多いのが現状です。その原因として、「フロントエンドエンジニアの組織がないこと」と「フロントエンドエンジニアの育成ノウハウがないこと」があげられるのではと考えました。この現状を打破するため、フロントエンドエンジニアとして身につけてきた今までの経験を生かし、今後は組織横断でのフロントエンド開発のリードや、勉強会やモブプロなどを通じた後進の育成をしていきたいと思っています。Aggregationなど、サーバサイドにも染み出しながらビジネスに価値貢献できることも合わせて示し、フロントエンドの第一線でメンバーを牽引しながら、今以上に大きなミッションに取り組んでいきたいです。社内にフロントエンドエンジニアが少なく、複雑な画面要件を実現しなければならない時でも、経験が浅いメンバーが担当することが多く、適切な技術の選定と開発運用がされていないことから、技術負債となってしまっているプロジェクトが多くなっていました。その技術負債の解消と新規立ち上げ時にまた同じことにならないように、組織横断的にフロントエンド開発のリードをしています。組織横断的に技術選定や開発方法の基本方針を策定し、各プロジェクト毎にカスタマイズしながら、少しずつプロジェクトへ導入するための推進をしています。レベルが高いエンジニアが揃っているプロジェクトの場合は学習コストが抑えられるためにReactを選定したり、バックボーンが様々なメンバーのプロジェクトの場合は規約を揃えることを目的にNuxt.jsを選定したりしました。サービスの規模感や解決したい課題によって、ReactやVue.jsなどではリッチ過ぎる場合には、あえて既存のままでjQueryを選択することもありました。社内勉強会を定期的に開催し、自分が持っているノウハウを共有したり、メンバーにも学んだことや難しかったことを発表をしてもらうことで、フロントエンドエンジニアの育成や組織全体の技術力の底上げを図っています。新規サービスの立ち上げにアーキテクトとして参画しました。継続して機能改善が出来ること、様々なレベル感のメンバーでも同じ様に開発が出来ること、拡張しやすいが崩れにくいアーキテクチャであることを意識しながら取り組みました。AggregationをNode.jsで、新規のシンプルなAPIサーバをGolangで実現しました。インフラチームと連携し、これらのサービスをKubernetesで管理することで、スケールしやすいマイクロサービスアーキテクチャをGCP上に構築することが出来ました。【具体的な実績・取り組み】プロジェクト参画当初は、フロントエンドチームのリーダーとして、フロントエンド開発の品質担保やアーキテクチャ改善を担当しました。参画直後はLinterやUTがなく、品質担保に不安があったため、まず現状の可視化から取り組みました。ESLintやPrettierによる自動フォーマットで表記ゆれを防止し、Codecovによってテストカバレッジレポートを行い、現状状態を定量的に確認出来る状況を作ることが出来ました。現在はアーキテクトとして、フロントエンド・バックエンド・iOSアプリ開発チームそれぞれの開発プロセスの改善推進を担当しています。PRによるブランチが複雑になりにくい運用で動き始めています。組み】PJはNativeアプリ、Webアプリケーション、インフラの3チームからなっており、Webアプリケーションのチームで、コンテンツホルダー企業向けの業務Webアプリケーションの開発を担当。