エンジニアのための無料キャリア相談で人気の「サカモト@エンジニアキャリア論」さんが、エンジニアから実際に寄せられた相談内容をもとに、転職成功の秘訣や年収・キャリアアップに役立つ情報を紹介していきます!こんにちは、サカモトです。とある外資系企業でソフトウエアエンジニアとして働いています。noteなどでテック企業の面接情報、面接で聞かれる技術質問の解説、さまざまなエンジニアのキャリアストーリーなどの情報を発信しています。今回の記事は、連載第二回目。レガシーな開発環境の受託開発企業で働く若手エンジニアからの相談をピックアップしてみたいと思います。サカモト@エンジニアキャリア論さん(@sakamoto_582)外資テック企業で働くソフトウエアエンジニア。過去、私のTwitterに以下のDMが送られてきました。現職の不満点:今の環境がレガシーすぎて技術力が伸びない。それに加えて、同僚とも気が合わないし、年収が低いので転職したい。相談内容:転職活動をしているが、今の技術力だとレベルの高い企業からは相手にされず内定が出ない。稼げるエンジニアになりたい。・稼げるエンジニアになりたいが現職では厳しい・現状を打開するために転職活動をしているが、技術力の高い企業からは相手にされない・ただ、プライベートを削って勉強するモチベーションが湧かない・プライベートで勉強できないので、仕事の中でスキルを磨きたい・しかし、レベルの高い企業からは内定が出ないという悪循環に陥っているということでした。この状況で転職活動をすべきかそれとも転職活動をやめて、自己研鑽をしてから転職活動を再開すべきか、転職に向けてエンジニアサロンにも入ったが、現状モダンなポートフォリオを作成すべきか悩んでいるとのこと。簡単なコーディングテストにも落ちる)がある場合はそこでほぼ落ちる・一部の企業は、人事面接で落ちるということでしたが、もっといろいろな企業を受けてみれば、引っかかる企業もあるのではないかと思っているとのこと。以前、選考を受けた企業の面接では、「Webサイトが表示されるまでに裏で起こっている事の一連の流れを説明できますか?」という質問をされたそうなのですが、ちゃんと回答できなかったそうです。FizzBuzzをコーディングテストで出題されたことがあり、「想定通りの挙動にならず解けなかった」と教えてくれました。技術力の高い企業に行って成長して稼げるようになりたいのに、そもそも今技術力がないからその権利が得られない......Bさんの話を聞く中で、そんな状況が見えてきました。そもそも「人任せ」で稼げるエンジニアにはなれないただ、Bさんの話を聞いて頭に浮かぶのは、「この状況でエンジニアとして仕事ができるのだろうか......?」という疑問です。そこで本人に聞いてみると、実務では困ったことがないらしく、ますます謎は深まるばかり。これは想像でしかありませんが、恐らく限定的なタスクで全体感が分からなくても仕事がこなせるような環境にいたのだと思います。実際、このような状況にいるBさんくらいのスキルレベルのエンジニアは、転職活動をしてもまた同じような環境に行くことになってしまうケースがよくあります。転職活動用にポートフォリオを作るにしても、面接官に深く質問されたら、対応できなくなってしまうことが容易に目に浮かびますよね。Bさんがよりいっそう成長できる環境に転職し、「稼げるエンジニア」になるには、何から始めたらいいのか。Webアプリケーションエンジニアとしての基礎を学び直してエンジニアとして必要最低限のコーディングのスキルを上げることは大前提。面接官のエンジニアと対等に会話ができるように知識レベルを上げていく必要があると感じました。Bさんの話を聞いて、私はとある過去のエピソードを思い出しました。私が以前所属していた会社で、とある有名SIerの子会社の方がSESとして現場に入っていたのですが、その人から「エラーが解決できない」という報告があったのです。中身を見てみると、ただ変数が定義されていないだけで、そこにエラーメッセージが書いてあるのに解決できないという状況でした。「お金をもらって現場に入っているのに、これはないんじゃないか?」という感情も湧き上がってきましたが......それは表には出さず、その人に解決策を提示してその場は終わりました。実際のところ、日本ではコンピューターサイエンスの学位がなくてもソフトウエアエンジニアになることができます。専門職であるにも関わらず、一切試験がないわけです。これは日本の良いところでもあり、悪いところでもあります。良い点としては、誰にでもエンジニアになる門戸が開かれていること。学位を取るのは金銭面でも時間面でも非常にコストがかかりますが、日本にはポテンシャル人材を育成してくれる会社が多くあります。単純に比較することは難しいですが、ただ「エンジニアになる」というだけなら、世界一エンジニアになりやすいのが日本なのではないかと思います。悪い点としては、エンジニアの素養がない人でも、エンジニアになれてしまうこと。Bさんにエンジニアの才能が全くないわけではありませんが、「プライベートの時間を削って勉強はしたくない」という発言もある通り、「エンジニアとして力を付けたい」と心から思っているようには見えませんでした。言って、それでは「稼げるエンジニア」にはなれません。技術力うんぬんの前に「人任せの状態で、稼げるエンジニアになれる」と思っている人がいるとしたら、それは間違いです。周囲の人のレベルが高くても、自分のレベルは高くならない。自分の技術力を高めるためには、それ相応の本人の努力が必要不可欠です。そこで、Bさんとの相談時間の最後に、追加で与えられた文字列に対し「回文を判定するコード」を書いてもらうように依頼してみました。意図としては、この問題を解けないことがどれだけエンジニアとしてまずいことかを理解してもらうためです。課題に取り組むことで、今の自分が置かれている状況をBさん自身に理解してほしいと考えました。本人に私の思いが伝わったかどうかは分かりません。後日、BさんのTwitterを見ると、アカウントが消えていて、私との相談の後、現職の仕事や転職活動がどうなったのか、分からなくなってしまいました......。前に進んでくれていたならと願っています!基礎力を磨くのに近道はなし。思う人もいるかもしれません。なくて、私が最も言いたいことは、「稼げるエンジニアになりたいなら、自己研鑽から逃げるな」ということです。私がプログラミングを始めたのは大学1年生の頃になりますが、C言語の授業から始まり友人の誘いでWindowsアプリケーションを開発するアルバイトを始めました。この会社は研修プログラムが整っていて学生エンジニアを大量に受け入れる体制が整っていましたが、研修プログラムを予定期間以内に突破しないとクビという厳しい環境でした。ここでサバイブするためにアルバイトの時間外でもプログラミングについて勉強していたと思いますし、このアルバイトでの経験が今の私の基礎になっています。人はつい楽な道を探してしまうものですが、結論から言って、基礎を身に付けるのに近道はありません。誰しも、ひたすら時間を費やして、指になじむくらいコーディングできるようになるまで「やるしかない」のです。今回はやや厳しいことを指摘する内容となってしまいましたが、世の中にはどの分野であろうと、楽して一人前になれるという話はないと思っています。エンジニアとして長くキャリアを築いていくためには、自己研鑽を怠らず、継続的に成長し続けることが大切。エンジニアリングの世界は広く、さまざまな道がありますから、その中で自分の強みや興味を見つけ、自分にあったエンジニアの道を進んでいきたいですね。最後に相談があれば、ぜひサカモトのTwittermまでDMください。模擬面接を通して率直なフィードバックも可能です。転職サイトtypeは株式会社キャリアデザインセンターによって運営されています。