こんにちは。
Webエンジニアの仁木です。
日々の仕事の中で、エンジニアに必要とされる力は何かと考えさせられることが多くあります。
プロダクトにインパクトのある新機能を実装できた、サーバーにかかっていた費用を大きく削減できた、業務にかかる時間を大幅に削減するツールを開発できた、など、費用対効果の大きい成果を出せた時が成功体験になると思います。
では、そういった成果を出すために、私たちエンジニアは日々どのような力を身に着けていく必要があるのかを考えました。
エンジニア以外の職種にも当てはまるものもあると思いますし、生産性のある仕事をしていくために日々意識していく必要があると感じます。

アウラでは目的(Why)/目標(What)/手段(How)の3つの関係性を意識して仕事を行うことを重要視しています。
最終的な目的を達成するため、最適な目標を決め、最適な手段を選ばなければなりません。
ただし仕事の始まりでは、目的が明確に与えられていることは少なく、多くは目標や手段を提示された状況から始まるというのが多いと感じます。
目的はとても重要なゴールなのですが、明確に見えていることは少なく、自分自身で考えなければならない場面が多くあります。
この目的を考え抜くこと=「なぜ?」を突き詰めていく思考力がより最適な目標と手段を思いつく力になります。
また、目的というのはただ1つだけ存在するものではなく、様々な粒度で発生し得るものだと思います。
掲げられた大きな目的は共通であったとしても、実際の仕事の中ではエンジニア、ディレクター、デザイナーなど、それぞれの業務の中での課題を1つ1つ細かく分解したときに多くの目的(なぜ)が出てきます。
この1つ1つの細かい目的(なぜ)を考え抜くことで、より大きな目的の解像度を上げることができ、最適なアプローチを提案することができるのではないかと思います。

手段を考える時に切り離せないのが、費用や工数などのコストです。
開発においては、各実装フェーズにどの程度の時間をかけるか、インフラにどの程度ランニングコストをかけるのか、様々な観点でコストを考える必要があります。
これらのコスト計算は経験値の差が大きく出てくると感じます。
過去に経験し勘所を知っていないと、適切な設計やスケジュールを作るのは、非常に難しいと日々痛感します。
新しく挑戦が必要な場面では、プロトタイプの作成で大まかなコスト感を出すことは可能で、そういった調査能力も重要ですが、やはり実際の案件を通して経験値を積んでいくことが、一番大切ではないかと感じます。

DX化やSaaSの開発においては、1つの課題解決のフローを設計しサービスとしてリリースすることになりますが、このサービスを仕組み化するときの設計でエンジニアが貢献できる部分が多くあると思います。
特に、サービスが成長し規模が大きくなった時にも継続できる仕組みを予め想定し設計しておくことは、エンジニアの力が問われる部分だと思います。
色々と考えましたが、総じて今の課題の先を見据えた考え方を持つことが重要ではないかと感じました。
目の前のことに追われて、先のことをじっくり考える時間を作ることは工夫が必要ですが、事業を通じてチームに貢献できるエンジニアとしてこれからも成長していきたいと思います。