今後、身につけなければいけないと思っている技術は何ですか?
## フロントエンドについて
- 今のwebフロントエンドにおいて、TypeScriptとReactの組み合わせがサービスの堅牢性や変更容易性の点でもエンジニアの開発体験においてベストプラクティスだと感じている。そして、フレームワークのNext.jsはサービス開発に必要な要素が基本機能として搭載されているため今後も常にキャッチアップしていきたいが、個人開発レベルでしか利用できていないため業務として使いながら知見を深めたい
- ユーザー目線での動作を担保するためのE2Eテストや予期せぬスタイル崩れの予防のための画像回帰テストなども使い、変更にも強く開発効率も考慮したバランスの良くテストを考えながら実践していきたい
- PWAのプッシュ通知対応やWebAssemblyでNode.jsの処理を行うなどwebフロントエンドでできることが増えてきているためどう使えるのか見極めて活用したい
- 開発した機能がその後どのようにどれくらい利用されているか定量的に評価できていないことが多いため、ユーザーの行動分析にも力を入れてサービスの改善に活かせるようにしたい
## バックエンドについて
- 業務ではRuby on Railsで作っているが、主に型定義の弱さにより不具合の発見が遅れたり開発体験が損なわれたりしているので、静的型付け言語を使いたい。個人的にはTypeScriptが得意でNestJSといったフレームワークもあるのでバックエンドでも使いたい。
- 業務では一般的なRESTful APIに対してOpenAPIのスキーマを用意することでフロントエンドとのIFとしているが開発体験やメンテナンス性があまり良くないので、GraphQLのCode Firstでスキーマを自動生成するなどして開発の負担を減らしつつ安全性を保つ仕組みを取り入れたい
- GCPのCloud RunなどIaaSのサーバーレスのサービスを使いこなしてできる限りサーバー運用の手間がかからないインフラ構築がしたい。また、Terraform Cloudを使うなどしてインフラのコード化や差分の検知など安心して変更できる仕組みに挑戦したい
## プロダクトに対して
- 自分は1つの技術を極めた博士や研究者のような役割になるよりも、その技術を利用してサービスを作って様々な人が使える形に昇華するところに興味があるため、開発者として上記で述べたような学習は続けつつ、プロダクト指向で常にプロダクトを良くするための開発を行いたい
- ChatGPTやGitHub Copilotなどを用いたコーディングの半自動化が進んでおり、エンジニアの仕事も書くことよりレビューすることの方に時間をかけることになる可能性もあるため、静的解析・フォーマッター・テストなどの機械的なチェックを充実させて機能的な部分のレビューに集中できるようにしたり、QAやリリースサイクルを早められるように自動デプロイの短縮などにも取り組んでプロダクトの改善を早く反映させられるようにしたい
あなたが一番パフォーマンスを出せるのはどんな環境ですか?
年齢に関わらずフラットに会話や意見ができ、開発体制など柔軟に変更して試行錯誤を行える環境
新しい技術に対しても試しに使ってみて検討した上で積極的に導入できる環境