エンジニア3年目「仕事ができない」壁~よくある悩みと課題の乗り越え方とは?~

エンジニア3年目「仕事ができない」壁~よくある悩みと課題の乗り越え方とは?~

エンジニアとしてのキャリアが3年目に入ると「仕事ができない」と感じるエンジニアが多くなるようです。 エンジニアという仕事に慣れてきた3年目の時期は先輩エンジニアの指示通りに作業するフェーズを超えて自分自身で考え、問題を解決していく、より実践的なスキルが求められるとの同時に責任や期待も増してくるため、さまざまな課題に直面して深く思い悩むエンジニアも少なくありません。

そこで、ここでは自分に限界を感じているエンジニア3年目によく見られる悩みと、課題を乗り越える方法について解説します。

エンジニア3年目、仕事ができないと感じるのはどんなとき?

経験3年目エンジニアは次の成長への過渡期。今までとは違う新たな課題に直面することが多くなるため、「仕事ができない」と感じる瞬間が増えてきます。
それでは、具体的にどのようなときに難しさを感じるのか、事例を見ていきましょう。 エンジニア3年目が「自分は仕事ができない」と感じるのはどのような場面なのでしょうか。

1. 新しい技術やツールの導入時

新しいプログラミング言語やフレームワーク、ツールを使うプロジェクトに配属された際に、理解や使い方に戸惑って業務効率が落ちることがあります。使用しているうちに慣れていけばほとんどの場合は問題になりませんが、戸惑う状況がしばらく続くと「業務についていけないのではないか?」「このままでは仕事を振られなくなるのではないか?」と不安になるのも無理はありません。

2. 高度な問題解決を求められるとき

問題の根本原因を特定するための知識や経験が不足していると問題解決に時間がかかり、仕事ができないと感じることが増えます。たとえば、「システムのパフォーマンスが突然低下したが、その原因を特定して改善するのに非常に苦労している」といった場合です。 経験3年目はやっと独り立ちできる頃とはいうものの、急に高度な問題解決が必要になると慌ててしまうエンジニアが多いのではないでしょうか。

3. マネージメントスキルを求められるとき

エンジニア3年目になると、チームのリーダー(つまりPL)を任される機会が増えます。しかし、メンバーの調整やスケジュール管理などのマネージメント経験が不足していると上手く業務を進められず、仕事自体が嫌になってしまうことも。 初めてのマネージメント業務で「チームを上手くまとめられない」とため息をつく経験3年目のエンジニアは非常に多いのです。

4. コミュニケーションスキルの不足を感じるとき

任せられる仕事の幅が広がると必然的に関わる人も増えていくものです。そのようなとき、今まであまり接点がなかった人や他部署とのコミュニケーションがうまく取れず、誤解や情報の行き違いが発生することがあります。また、リモートで働く外部メンバーとの連携が上手くいかず、プロジェクトの進行が遅れてしまうこともあるでしょう。 人間関係が広がったことによるコミュニケーションの齟齬は次第にエンジニアを疲弊させ、ビジネスパーソンとしての自信を削いでしまうのです。

経験3年目のエンジニアが「仕事ができない」壁を乗り越える方法とは?

スキルアップのために勉強しているエンジニアの机の上

まだ若手である経験3年目で悩むエンジニアが多い、と聞くと「IT業界は離職率が高いのか?」と思われがちですが、これは事実と異なります。厚生労働省が2023年に発表した「令和4年雇用動向調査結果の概況」によれば、離職率の高さが目立つのは宿泊業・飲食サービス業(26.8%)、サービス業(19.4%)、生活関連サービス・娯楽業(18.7%)、医療・福祉(15.3%)など。対して情報通信業は11.9%ですから、IT業界は特段離職率が高いわけではないのです。
(参考:厚生労働省「令和4年雇用動向調査結果の概況」)

しかし、高度な技術と知識、思考力が求められるエンジニアという職種の難しさゆえに若手の段階で辞めてしまうことはいつの時代でもありました。経験3年目に入って悩みが増えたエンジニアもこれに該当するのですが……では、どうするべきなのか。

そこで提案したいのが以下の方法です。

せっかく縁あってこの職種に就いたのですから、退職や廃業を考える前に少し頑張って行動に移してみてはいかがでしょうか。どれも積極的な行動が必要になりますが、やってみたら意外にも簡単に解決するかもしれません。

基礎から学び直す

新しい技術やツールに慣れるためには、まず基本的な知識をしっかりと身につけることが大切です。UdemyやProgateなどのオンライン学習プラットフォームには、最新の技術やツールに関する多くのコースが用意されていますから、これらのコースを受講して心機一転、新しい気持ちで学んでみましょう。費用を抑えたい場合は書籍で構いません。 技術やツールが非常に難しく感じる場合は入門や基礎のコースから始めてみてください。現役エンジニアだからといってハイレベルなものを無理して学ぶ必要はありません。

公式ドキュメントやチュートリアルを参考にする習慣を身に付ける

新しい技術やツールの公式ドキュメント、ガイドは最も信頼性の高い情報源です。これらには基本的な使い方から高度な設定まで幅広い情報が網羅されていますから、疑問点があれば、まず公式ドキュメントを参照する習慣を身に付けましょう。正しい知識でもって問題解決にたどり着けるようになります。

公式ドキュメントやガイドは難しいとの声がありますが、経験3年目ともなれば以前よりは理解できることが多くなってきているはずです。

デバッグツールやプロファイリングツールを活用する

問題解決には根本原因を特定するためのツールを活用しましょう。デバッグツールやプロファイリングツールを使うことで、システムの挙動を詳細に観察し、問題の原因を迅速に特定できるようになります。
こうしたツールを実行するためには適切な環境設定や追加のリソースが必要です。制限の多い開発環境やリソースが限られている場合、ツールの導入が難しいことがありますが、可能な範囲で使ってみましょう。

<デバッグツール>
Visual Studio CodeのデバッガーやChrome DevToolsを使ってコードの動きをステップバイステップで追跡し、バグの原因を特定できます。

<プロファイリングツール>
たとえばNode.jsのアプリケーションであればNode.jsのプロファイラやNew Relic、JavaであればJProfilerなどのツールを使って、パフォーマンスボトルネックを特定します。

コードレビューを受ける

問題を解決する応用力を身に付ける方法として、第三者によるコードレビューが挙げられます。異なる視点や経験を持つ人にコードをレビューしてもらうことで、自分自身では気付かなかったミスや改善点が見つかりやすくなるからです。現場の上司や同僚に引き受けてもらえるようなら、ぜひお願いしてみましょう。 引き受けてもらえる人が見つからない場合はコードレビューサービスを利用するのも手です。有料にはなりますが、”知らない人”ゆえの気楽さがありますし、客観性も保たれます。

役割と責任の明確化・タスクの優先順位付けを徹底する

マネージメント初心者がまずやるべきなのは「役割と責任の明確化」と「タスクの優先順位付け」です。 というのも、初心者の場合、「プロジェクトのリーダーやサブリーダーを任されたが自分の役割と責任が曖昧で、どのようにチームを導くべきかがわからない」「複数のタスクが同時に発生し、どれを優先すべきかがわからず、結果的に全てが中途半端になってしまう」という事態に陥ってしまうことが多々あるからです。ですから、最初にこの2つをしっかり行いましょう。

<役割と責任の明確化>
チームメンバーと一緒にプロジェクトの目標を明確にし、各メンバーの役割と責任を具体的に定義します。そして、進捗状況や課題を共有するために、定期的なミーティングを設定しましょう。

<タスクの優先順位付け>
タスクの重要度と緊急度に基づいて、優先順位を付けます。緊急かつ重要なタスクから取り組み、次に重要ではあるものの緊急でないタスクを行います。アイゼンハワーマトリックス(重要・緊急マトリックス)を利用すると効果的です。これを終えたら、To-Doリストやプロジェクト管理ツール(Trello、Asana、JIRAなど)を活用してタスクを視覚的に管理し、進捗状況を一目で把握できるようにします。
【*アイゼンハワーマトリクス】
タスクの優先順位を決めるための時間管理手法。タスクを重要度と緊急度の2つの軸で分類し、4つの象限に分けます。

1. 重要かつ緊急(Do): すぐに対応しなければならないタスク
2. 重要だが緊急ではない(Plan): 計画を立てて取り組むべきタスク
3. 緊急だが重要ではない(Delegate): 他の人に委任できるタスク
4. 重要でも緊急でもない(Eliminate): 削除するか、後回しにするタスク

コミュニケーションは「端的に、要点を抑えて」が基本。聞く姿勢も大切に

前述の通り、エンジニア3年目に入ると仕事の幅も関わる人も広がってきますが、どれだけ規模が大きくなってもコミュニケーションの基本は「端的に、要点を押さえて話す」「相手の話をしっかり聞く姿勢」の2点が重要であることは変わりません。 端的に要点を押さえて情報を過不足なく伝えることで内容を相手に正確に理解してもらえますし、相手の話にしっかり耳を傾けることで相手の伝えたい内容を正しく理解できるようになります。

また、専門的な技術用語や概念を、非技術者にも理解できるように噛み砕いて説明することも心がけましょう。エンジニア3年目はさまざまなステークホルダーとかかわり始めるときなので、技術の知識が乏しい人と話す機会が増えてきます。コミュニケーションをとる際には相手がどのような立場なのか前もって知っておくとスムーズです

エンジニアに求められるコミュニケーション能力とその向上方法とは?

わかりやすい文章を書くドキュメンテーションスキルも忘れずに!

エンジニアが技術的な情報を正確に、わかりやすく文書化する能力は非常に重要です。たとえば、新しい機能を追加した際にはその設計や実装手順、テスト結果を誰にでもわかりやすい文章で記録すれば、他のメンバーがその機能を理解しやすくなります。また、コードコメントやAPI仕様書でもこの点を心がければ、将来のメンテナンスや他のエンジニアが作業を引き継ぐ際に役立ちます。こうした読む人に配慮したわかりやすいドキュメントは作業の効率化にも役立つので、プロジェクト進行の停滞も防げるでしょう。

どうしても上手くいかないときはキャリアチェンジ・転職も視野に

上記のことを実践しても上手くいかず、閉塞感が拭えない場合は他のエンジニア職種や他業界への転職を検討するのも選択肢の一つです。 エンジニア3年目ということはまだ若手が多いと思われますから、ミドル層と比べるとキャリアチェンジや転職は比較的容易。エンジニアとしての経験を活かすのであれば次のようなキャリアプランが考えられます。

異業種への転職

たとえば、IT業界からマーケティングやコンサルティング業界への転職は技術的なスキルを活かしつつ、新しい分野での成長機会を得ることができます。ITの知識を持つマーケティング担当者やコンサルタントは、デジタル戦略や技術的アドバイスで大いに活躍できるでしょう。

<異業種への転職の例>
【マーケティング業界】
ITの知識を活かして、データドリブンなマーケティング戦略を立案・実行。技術的な視点からマーケティング施策を最適化する能力を持つことで、企業のデジタルプレゼンスを強化できるでしょう。

【コンサルティング業界】
技術的なバックグラウンドを活かして、企業のIT戦略やシステム導入を支援。技術とビジネスの橋渡し役として、クライアントの課題解決に貢献できます。

<他の職種へのキャリアチェンジの例>
【フロントエンドエンジニアからUI/UXデザイナーへ】
フロントエンドの知識を活かしてユーザビリティの高いデザインを制作します。技術とデザインの融合により、より使いやすいインターフェースを提供できるでしょう。
デザインが好き、または興味がある場合はおすすめです。

【開発エンジニアからインフラエンジニアへ】
Web開発の知識とインフラの知識を組み合わせることで、システム全体の設計と運用を最適化できるようになります。 インフラエンジニアは多くの企業で需要が高く、特にクラウド技術や自動化スキルを持つエンジニアは高く評価されます。

【エンジニアからプリセールスへ】
プリセールスエンジニアは顧客が必要とする技術的な要件を理解して、最適なソリューション(解決策)提案する仕事です。たとえば、製品のデモンストレーションを行って顧客にその使い方を説明したり、技術的な質問に答えたりします。また、提案書を作成して製品やサービスがどのように役立つかを解説することも重要な仕事内容の一つ。プリセールスは通常、営業チームと協働しますが、技術の専門知識があるので顧客からもチームからも非常に頼りにされます。

まとめ

エンジニア3年目は仕事の難易度が上がるうえ、最初の頃に抱いた理想と現実とのギャップをひしひしと感じる頃でもあるため、一度“悩みの沼”にはまってしまうと想定外に長期間悩んでしまうかもしれません。しかし、「仕事ができない」と感じる原因を丁寧に探り、取り組むべき課題に少しずつ取り組めば、状況の改善どころか大きなスキルアップにつながることもあります。幸い、IT関連の解決策やサポートは多く出回っていますから、こうしたものを活用しながら自分自身のペースでそれぞれの課題に取り組んでみてはいかがでしょうか。
もちろん、誰もが状況を改善できるわけではないので、そのような場合にはキャリアチェンジや転職も有効な選択肢になります。現代はいたるところにITが浸透していますから、元エンジニアの経歴はどの業界・業種においても活かせるでしょう。

Webエンジニア3年目で年収を上げる具体的な方法とは?
エンジニアの適性がある人とない人の特徴とは?適性をチェックする方法についても解説
エンジニアの代表的な職種5種+レア職種2種を紹介!
LifetimeEngineer編集部
LifetimeEngineer編集部
このライターの記事一覧

Lifetime Engineer(ライフタイムエンジニア)は株式会社アイ・ディ・エイチが運営する「生涯現役エンジニア」を目指す人のためのメディアです。 配信するのは技術に関するものをはじめ、キャリアやプログラミング学習、ライフハックなどエンジニア界隈の幅広い情報。 Lifetime EngineerはIT業界を縦横無尽に駆け巡る、息の長いエンジニアを目指すあなたを全力で応援します!

人気ブログランキング 人気ブログランキング

おすすめ記事

同じタグの記事を探す

スキルアップの関連記事