今後、身につけなければいけないと思っている技術は何ですか?
# パフォーマンスを考慮した開発能力
ただ動くものではなく、効率よく動くものを作らなければいけないと思っております。
今までもメモリ使用量や実行計画などを意識した設計、コーディングは行ってきましたが、スピード重視の開発が多かったため、厳密には行ってきませんでした。
現職で運用保守しているシステムでは、メモリ不足によるバッチ障害やレスポンスが遅いことによるタイムアウトの不具合などを経験し、人的リソースやシステムリソースなどの運用コストが肥大化していく様子を目の当たりにしました。
そのような事態に陥る要因を生み出さないよう、メモリ使用量や実行計画などを考慮した開発能力を身に付けなければいけないと思っております。
# 保守性に優れた開発能力
スピード重視の開発をした結果、似たようなコンポーネントが乱雑している、バリデーションなどの処理が一元化されていないなどの理由から、開発や保守に非常に時間がかかるといった経験をしました。
そのような経験から、チームや将来のことを考慮した開発能力を身に付けたいと思うようになりました。
# マネジメント能力
現職において、チームマネジメントを担当していた方が退職してから、技術的負債や無駄なコストが積み上がっていく様子を目の当たりにし、チームとしても、私個人としても生産性が低下したという経験をしました。
そのような経験から、マネジメントの重要性を認識し、組織としての成果を最大化することの重要性を学びました。
また、このような経験はしたくない、させたくないため、マネジメント能力は身に付けなければいけないと思っております。
あなたが一番パフォーマンスを出せるのはどんな環境ですか?
私が一番パフォーマンスを出せる環境は、適度な自主性が求められる環境だと思います。
エンジニアの経験がそこまで長くないため、完全な自主性を求められてしまうと、自分の持っている最大限の能力を出せないと思っております。
そのため、適度に管理していただき、自主性も求められるような環境で一番パフォーマンスを発揮できるのではないかと思っております。