エンジニアを目指している人々へ
今日のお題
最近、「エンジニアになって〇〇年の私が成功した技術」みたいな記事を見ました。
その内容を見てモヤっとしたので、これからエンジニアを目指す人々に勘違いをして欲しくないなー。と思い書いてみました。
まず、結論、技術力だけあれば良いと言うことはありません。技術力で飯を食っていくのはかなり難しいです。
(雑に例えると、スポーツを行う人が、全員プロになれるわけではないのと同じです。)
時には技術力以外のスキルが大事な場合があります。
コミュニケーション能力
「コミュニケーションが苦手だったから営業職からエンジニアになりたいと思った。」という理由でエンジニアへ転職してきた同僚がいました。
自らプログラミング学校へ行き、技術力も実務をこなすには申し分ない方でしたが、如何せん口下手で自分の意見を伝えるのが苦手なため、上司やチームメンバーから、「あいつの言いたいことが分からない」と浮いてしまい苦労していました。
会社や案件の形態は様々ですが、自社開発であれば、営業部署や上長との打ち合わせ、受託開発や業務委託であれば取引先との打ち合わせ、どちらにせよ開発チームでの打ち合わせなど、話す機会は多いです。
(私自身、学生時代より人と話す機会が増えましたし、営業職をしていた時と特に話す量は変わりませんでしたw)
その為、コミュニケーションはエンジニアとしては寧ろ必須なスキルなのです。
協調性
エンジニアをしていると、「自分はこうした方が良いと思うんだけどなぁ・・・」と思う時は必ずあります。
プロジェクトメンバーが自分一人だけであり、責任を自分だけで負える場合は良いです。
しかし、大抵は、会社等の組織に何らかの形で属しており、利害関係があり、締切があり、予算があります。
それらの要素を満たす為には、自分の考えを優先せず、周りと擦り合わせをして妥協点を探る必要があります。
・技術Aで開発経験があり使いまわせる資産がある
・要件が詰まっていない
・開発期間は半年と決まっている
上記のような条件で、新規の技術Bを使いたいと言う新人さんがいました。
技術責任者やプロジェクト責任者は、新しい技術で「製品」として提出できるレベルのものを開発する「時間」がないと判断して、技術Bの利用を却下しましたが、新人さんはそれを無視して技術Bでの開発を強行しました。
結果として、プロジェクトは炎上し、件の新人さんは別プロジェクトへ左遷、さらに左遷先でも同様の問題を起こして炎上させた挙句退職していきました。
上記は極端な例ですし、新人さん以外にも問題(要件が決まってないのに、期限だけ決まる)はありますが、自分の意志を強行せず、既存の技術資産を使っていれば炎上するまでは行かなかったでしょう。
必要な知識を学び続ける
「営業数字に追われる生活は嫌だから、定時にはPCを閉じて、颯爽とプライベートに出かける。そのためにエンジニアになった」とういう方がいました。
(そんなことを夢見た時代が私にもありましたw)
実際は定時に仕事が終わった後も、新しい技術や担当するプロジェクトに関する業界知識を得る必要があります。
サボっているといつの間にかレガシーなものしかさわれなくなり、自己価値が相対的に低くなり、報酬はそれに見合ったものしか貰えなくなります。
納期に追われることもありますし、常に新しい技術からも追われるので気が休まることはないのです。
最後に
コロナ禍でエンジニア職は脚光を浴びました。しかし、それは綺麗な部分が脚色されてスポットを当てられているだけに過ぎません。
さらに、「技術が一番大事」と言った意見によって、「技術」さえあれば他はどうでも良いと捉えてしまうエンジニア志望が増えたように感じています。
上記は一端に過ぎませんが、社会人として生きていく為には、技術だけではなくその他の要素が多々重要になってくると思います。
こう言った意見もあることを頭の片隅に置いて、自分のできること、やりたいこと、周囲の環境を上手く擦り合わせていって、素晴らしいエンジニアになって貰えると良いなと願っております。
Discussion