エンジニアとして転職を考えるとき、どのようなスキルが求められるのでしょうか?
もちろん、技術的な知識や経験は重要ですが、それだけではなく、前職で培った他のスキルも大きな強みになります。
特にこれまで未経験の状態から転職を考える場合に、企業側に対して、プログラミングは未熟だが、これまで培っていたスキルでカバーできる、貢献できる部分というのをアピールすることがとても重要になります。
企業側も、プログラミング以外の部分で、活躍できる部分があれば、採用する際の安心材料にもなります。
今回は、全てではないですが、エンジニア転職において、前職やこれまでの経験で活かせるスキルの一部を紹介します。
コミュニケーション能力
これはエンジニアに関わらず必要な能力です。
エンジニアは、自分の作ったシステムやプログラムを他の人に説明したり、クライアントやユーザーの要望を聞いたり、チームメンバーと協力したりすることが多くあります。
そのため、コミュニケーション能力は必須のスキルです。
過去受けた相談で、エンジニアの仕事のイメージとして、PCに向かって一人でプログラムを書き続けるというようなイメージを持っていて、ここをあまり重要視していない方が一定数見受けられました。
なので、そこをあまりアピールの材料として考えておらず、非常に勿体ないと感じていました。
企業でも、フリーランスでも、働き方はともかくとして、色々な人とのコミュニケーションはとても多いです。
優秀なエンジニアの方の多くは、人脈が広かったり、色々と講演や発表をして交流をしたり、社内でもリーダーとしてチームをまとめていたりと、コミュニケーション能力を活かして活躍している方が多いです。
ですので、前職でコミュニケーション能力を高めた人は、エンジニア転職においても有利になります。
プロジェクト管理能力
エンジニアは、プロジェクトの進捗や品質を管理することも重要な仕事です。
予算や期限に沿って効率的に作業を進めるためには、プロジェクト管理能力が必要です。
前職でプロジェクト管理能力を身につけた人は、エンジニア転職においても役立ちます。
プロジェクト管理能力として具体的には、タイムマネジメント、スケジュール管理、開発メンバーやクライアントとの調整などが挙げられます。
また、PM(プロジェクトマネージャー)はプロジェクト全体を管理する責任者であり、プロジェクトを成功に導くためのキーパーソンともいえます。
エンジニアとしてのキャリアパスを考えたときに、前職やこれまでの経験で、マネジメントの経験を積んでいるから、将来的にマネジメント側に進みたいと考えている方は、特に重要なスキルになると思いますので、しっかりとアピールするようにしてください。
問題解決能力
問題解決能力は、エンジニアにとって非常に重要なスキルの1つです。
システムやプログラムに発生する問題やバグを解決することが求められます。
そのため、問題解決能力が高いエンジニアは、優れたパフォーマンスを発揮することができます。
また、プログラムだけでは無く、案件やサービス自体の問題や課題の解決方法を考えることがあるかもしれません。
実際に私も、IT企業時代は、スマートフォン向けのサービスのディレクターを途中から兼務することになり、システム周りだけでは無くサービス自体の改善について取り組みました。
現在の業務でも、他部署からの要望や改善施策に対して、なぜこの要件が必要で、何を解決するために実装するのか、もっと良い改善策が無いのか、というように、ただ要望をその通り作るのではなく、チームとして、色々な案を出すという事を求められています。
当然そういった部分まで担当するようになるので、業務量は増えますが、その分対価も頂けますし、スケジューリングも自ら出来るようになり、様々な業務やサービス視点の知見も増えるので、メリットが沢山あります。
私は、その点については、まだまだ未熟ですが、前職でそのようなスキルを身につけ、実績があるという方は、重宝されると思います。
そういった経歴をお持ちの方は、是非積極的にアピールしてほしいと思います。
ドキュメンテーションスキル
エンジニアにとって、ドキュメントをしっかりと作れるかどうかが非常に重要です。
エンジニアは、とにかくドキュメントも作ります。
システムの資料や、他部署や上司、クライアントへの説明資料、引継ぎ用の資料、社内での発表用での資料など作成する機会は多くあります。
デザインまでこだわる必要はありませんが、読みやすく、伝わりやすいドキュメントを作成できるというのは、活かされる場面が多くあります。
また、自分の作ったシステムやプログラムの仕様や機能を文書化することも大切な仕事です。
いつ自分の手から離れるか分かりませんし、メンバーが増えて、共有する必要があるかもしれません。
そういった時に、ドキュメントの作成を怠っていたり、抜け漏れが沢山あったり、読んでみると良く分からない内容になってしまっていたりというようなことが沢山あります。
私も散々現場でそういった経験をしました。
そのような場合、大体がシステムの奥深くに欠陥があったり、周りに聞いても把握していない機能があったり、実は色々な箇所と依存している機能があるが、それを把握しきれず、重大なエラーを引き起こしてしまう、というようなことがあります。
また、改修しようにもどこを改修すれば良いか分からなければ、現状を把握することに時間を費やして、納期が迫ってきているので、勤務時間も次第に増えていって、土日も出社して調査して、という悪循環が生まれる可能性もあります。
プログラミングには直結しないから、大きな要素にならないと感じるかもしれません。
しかし、そういった細かい部分も含めてしっかりと対応できる人の方が、システムをきっちりと構築できますし、周りからも評価されます。
そして自分も助けることになります。
人間の記憶力には限界がありますから、数年前に作ったシステムについて質問されるかもしれません。
ドキュメントさえ作っていれば、仮に内容を忘れていても、ドキュメントを見ればわかりますので、それを渡すだけで解決するかもしれません。
それであれば、探す時間を含めても1時間も掛からないかと思います。
逆に作ってなかったり、内容が薄く不足部分があると、質問に回答するために何時間も掛けてしまい、担当している案件の作業が進まずに、時間が無くなるということが発生します。
というように、ドキュメントの有無や内容によって、影響範囲が大きいという事が分かるかと思います。
ですので、ドキュメンテーションスキルというものがとても重要になりますので、是非アピールの一つとして考えてもらいたいと思います。
学習能力
これは、スキルという括りには入らないかもしれませんが、エンジニアにとって必要不可欠な能力なので、入れました。
エンジニアに限らず、どの職種でも学習し、成長し続けることが重要ですが、エンジニアも当然、常に新しい技術や知識を学ぶ必要があります。
IT界隈では、日々新しい技術やシステム、サービスがリリースされ、状況が変わります。
そのような変化を日々キャッチアップして、インプットして、アウトプットする能力が非常に重要です。
そういう人が多ければ多いほど、エンジニアとしての組織もより早く成長します。
システムを改善するとき、新しいサービスを開発するとき、新しい事業のアイデアを出すとき、様々な場面でキャッチアップした情報が活かされます。
知っているか知っていないかで雲泥の差となります。
企業側も、学習に積極的な人材を欲しがっていることがほとんどです。
前職でそういった取り組みや、チームや部署内で勉強会を実施していた経験や、日々続けている取り組みなども、アピールの内容に組み込んでみて下さい。
<まとめ>
以上が、プログラミングのスキル以外にも、エンジニアという職種において活かされるスキルになります。
上記以外にも色々なスキルがありますし、各々で培ってきたものがあると思います。
どのような内容にせよ、積極的にアピール材料として組み込んでください。
何が企業側にとって魅力的かというのは、企業によって異なりますが、その内容が企業とマッチして、未経験でも採用に繋がる可能性というものを押し上げてくれます。
プログラミングスキルが不足していることは分かっていることですので、企業側にこういう点であれば、貢献できますということをイメージして考えてみて欲しいと思います。
もし個別に、より具体的にアドバイスが欲しい、相談したい事がありましたら、相談サービスも出しておりますので、是非そちらからご相談頂ければと思います。
少しでも参考になれば、嬉しいです。