どうも皆さま。こんにちは。こんばんは。
渋沢です。

このメディアを運営していることもあり、下記のような悩みを持った新卒エンジニアの方から相談を受けることがあります。

  • エンジニアとしてWeb系企業に入ることが決まったけど、どのような心構えが必要かな…
  • エンジニア1年目です。エンジニアとして成長するために心がけるべきことを知っておきたい…
  • Web業界に入ったばかりのエンジニアです。将来のキャリアを考えつつ、行動したい…

こういった悩みを持つ新卒エンジニアは多いので、それに答えていこうと思います。

新人エンジニアとして働き始めると、不安なこともたくさんありますよね。

そこで今回は、駆け出しのエンジニア、特に学生を卒業したばかりの新卒エンジニアさん向けに、

  • 新卒エンジニアが成長するためにやるべきこと
  • エンジニアがキャリアアップする方法

上記についてお話していこうと思います。

この記事を書いているわたしは、「スタートアップ → Web系企業・副業ワーカー → フリーランス」というキャリアを歩んできました。

過去にWeb系スクールで講師として、エンジニアを目指す学生や社会人のキャリアサポートもしていたので、過去の経験をもとにお話してまいります。

成長したいエンジニアさんは、参考にどうぞ。

新卒エンジニアが成長するために心がけるべきことは5つだけ

新卒エンジニアの方が、まず心がけるべきことは下記の5つです。

ポイント

  • 15分〜30分詰まったときは、質問する
  • チャレンジできる環境なら、積極的に手を挙げる
  • 最初の1年はプライベートも勉強に時間を使う
  • まずは1つの言語に絞って、突き抜ける
  • スキルを身につけたら、1年でも新しい環境に移る

ひとつずつ深堀りします。

15分〜30分詰まったときは、質問する

エンジニアとして企業に入社してから1年間くらいは、分からないことがたくさんあって当たり前なので、自分で調べながら分からないことは先輩エンジニアに質問するといいですよ。

しかし、「先輩に質問したいけど、タイミングが難しい…」と悩む人は、けっこう多いです。

例えばですが、エラーに詰まったときは、下記のような感じで解決してみてください。

  1. 15分〜30分は、自分で解決しようとリサーチする
  2. 30分超えても解決しないときは、質問してみる

という感じで質問すればいいと思います。

わたし自身、学生時代にスタートアップに加わったとき、RubyやSwift、Goといった技術を習得していた先輩エンジニアから、「15分〜30分調べて、分からなかったら聞いて」と言われた経験があります。

いきなり質問してしまうと、相手の時間を奪ってしまうことにもなりますし、自己解決能力が身につかないので、「まずは自分で調べる」が大切です。

ある程度調べて、自分なりに試したうえで、質問すると相手の時間も奪わないで済みますし、理解も深まるかなと。

社内の先輩でなくても、teratailのようなエンジニア特化型の質問サイトを利用する方法もあるので、試してみてください。

チャレンジできる環境なら、積極的に手を挙げる

あなたが上司として、新人に仕事を任せる立場になったとき、下記2人の新人のどちらに仕事を任せたいですか?

  • 新人Aさん:まだそのスキルは習得していないので…
  • 新人Bさん:やります!

両者を比べたときに、Bさんに任せますよね。

おそらくBさんのほうが、圧倒的に成長も早いでしょう。

わたしの場合、新卒で入社した会社は「Web系ベンチャー(受託事業+自社開発事業)」だったので、「やります!」と言えば、何でも任せてもらえる環境でした。

すでにWebデザインとプログラミングを学生時代に身につけていたこともあり、企画などの上流工程から、プログラミングまで仕事を任せてもらえましたし、デザイナーが人手不足な環境だったのでデザインの業務に加わることもありました。

大手企業だと、なかなか上流工程から、デザインやプログラミングまで全て任されることはないと思いますが、チャレンジできる環境(特にベンチャー企業)にいるのなら、「やります」と手を挙げてみるといいですよ。

やってみたい仕事があるときに、「やりたい!」と手を挙げるだけで仕事を任せてもらえる環境なら、1年ほど働いているうちにかなりスキルアップするはず。

エンジニアとして技術力を向上させたい方は、新しい技術に触れるチャンスがあれば、積極的に手を挙げたほうがお得です。

最初の1年はプライベートも勉強に時間を使う

「上司が全然教えてくれない」と愚痴を吐く人もいますが、「教えてもらうのが当たり前」と思っていると、給料は上がりにくいです。

数年後に大幅に給料を上げるためにも、最初の1年(入社1年目)はプライベートの時間も使って、プログラミングすることをオススメします。

例えばですが、プライベートの時間に下記のようなことをしてみると、愚痴を吐いて何もやらない人よりは圧倒的に成長するはず。

  • 足りない知識をネットや本で補う
  • ネットや本で見たサンプルコードをアレンジしてみる
  • 仕事で実装したコードを再現して、アレンジしてみる
  • 他社のエンジニアブログを読んで、情報収集する
  • 自分が作ってみたいと思ったものを作ってみる

といった感じで、インプットとアウトプットをコツコツと続けることが大切です。

ここ数年は売り手市場ですが、「この会社がダメなら他企業に移ればいい」「会社は教育して当たり前」と上から目線でいると、不況が続いたときに苦しくなってしまいます…

あとは、エンジニアが集まるイベントには積極的に参加するのもオススメですね。

例えばですが、下記のようなエンジニア向けのイベントが全国各地で開催されています。

  • LT(ライトニングトーク)イベント
  • 勉強会
  • もくもく会

など

わたし自身、新卒1年目の頃はもくもく会やLTイベントに参加したりして、他社のエンジニアやフリーランスエンジニアと話す機会を作っていました。

優秀なエンジニアさんは、「どんなスキルを磨いているのか」、「どうやって個人開発をしているのか」などリアルな声を聞きながら、情報収集することができるので、エンジニアが集まるイベントにはぜひ参加してみてください。

まずは1つの言語に絞って、突き抜ける

「PHPを極める」「Rubyやれば間違いない」というエンジニアさんもいると思いますが、Web系の技術は流行り廃りがあります。

1つの言語を長い時間かけて極めた場合、その技術が廃れたときのことを考えるとけっこう危ないです。

なので、エンジニアとして生きていきたいなら、いろんな言語に触れるクセをつけたほうが、リスクヘッジになります。

とはいえ、入社1年目のときは、あれこれ手をつけるより、まずは1つの言語に絞って、スキルを磨くことをオススメします。

入社した企業が「PHP」がメインなら、最初の1年はPHPの習得に専念するということです。

1年くらい続ければ、実務は問題なくこなせるようになるはず。

入社後の流れのイメージは、下記のとおり。

  • 1年目:PHPを身につける
  • 2年目:Pythonを身につける
  • 3年目:Goにも触れてみる

という感じで、スキルアップしていけばいいと思います。

注意すべき点を挙げるとすると、ひとつだけ。

技術を身につけるときは、マーケット(市場)を意識すべきです。

闇雲にスキルばかり磨いても、ノウハウコレクターになってしまうだけなので、「需要の高い技術」や「需要が高まる技術」を身につけることが大切です。

スキルを身につけたら、1年でも新しい環境に移る

「新卒は3年我慢して働け」といった意見もありますが、最近は転職が当たり前な時代になったので、スキルを身につけたら、今よりレベルの高い環境(年収が高くなる環境)に移るのが得策です。

理由は下記の3つ。

  • 実務経験者として転職したほうが給料が跳ね上がりやすいから
  • 優秀な人と働けるうえに、新しいつながりも増えるから
  • 実務で新しいスキルを身につけられるから

上記のとおり、メリットは大きいです。

全員が成長を求める必要はありませんが、成長を求めたい人は、変化することには慣れておいたほうがいいですよ。

また、「スキルが身につかない環境」に入ってしまった場合は、時間がもったいないので、転職先を探すのが無難だと思います。

エンジニアがキャリアアップする方法は3つある

エンジニアがキャリアアップする方法はいくつかありますが、まとめると下記の3つがあります。

  • 技術力を高めて、ハイスキルエンジニアを目指す
  • マーケティングやデザインなどスキルを増やして稼ぐ
  • フリーランスとして独立して稼ぐ

どのようにキャリアアップするか、ひとつずつ深堀りします。

技術力を高めて、ハイスキルエンジニアを目指す

エンジニアとしてキャリアアップするパターンの1つ目が、「ひたすらプログラミングの技術力を高めること」です。

下記のように、フロントエンドからバックエンドまでカバーできるエンジニアを目指すと、収入はアップしやすくなります。

  • フロントエンド:HTML、CSS、JavaScript など
  • バックエンド:PHP、Ruby、Python など

わたしのエンジニア仲間の話になりますが、

実務でPHPもしくはRubyを身につけながら、フロントエンドもこなす

Pythonの案件に参画して、スキルを身につける

Goにも触れて、新しい案件に参画する

という感じで、スキルを高めている人もいますね。

上記のように、新しいスキルを身につけるために、案件を獲得するというエンジニアもけっこう多いですよ。

案件を進める過程で、フレームワークやインフラなどの知識も増やして、ハイスキルなフルスタックエンジニアになることができれば、独立しても「時間単価数万円」の高単価案件も獲得できると思います。

マーケティングやデザインなどスキルを増やして稼ぐ

2つ目のキャリアアップする方法は、「マーケティングやデザインなどのスキルを掛け合わせること」です。

「プログラミングの技術力を身につけるより、ビジネスに興味がある」という方には向いていますね。

例えばですが、

  • プログラミング × SEOの知識
  • プログラミング × UI/UXの知識
  • プログラミング × 動画マーケティングの知識

上記のようにスキルを掛け合わせると、希少な価値を持った人材になれるはず。

メモ

  • SEO:検索結果で上位表示を目指す対策のこと
  • UI/UX:ユーザーが見やすい、使いやすいと感じてもらうための戦略のこと

プログラミングができて、マーケティングスキルも身につけたら、Webマーケティング系企業や自社開発企業などに入社するのでもいいですし、独立してもいいと思います。

企業で働きながら、ビジネスの知識を増やしていけば、起業もできます。

フリーランスとして独立して稼ぐ

3つ目のキャリアアップする方法は、「独立して稼ぐこと」です。

会社員で転職を繰り返しながら、スキルを身につけて、年収をアップするのもひとつの方法としてはアリです。

しかし、「1年以内に1回」とか転職を繰り返し続けると、リスクが高まります。

なので、スキルを高めながら年収をアップさせたい方は、「フリーランス」になるべき。

なぜなら、

  • 複数案件に参画しながら、人脈もスキルも増やせるから
  • 新しいスキルを身につけたいときは、スキルが身につく案件に参画すればいいから

理由は上記のとおり。

会社員の場合、転職を繰り返してしまうと、経歴書にも書かないといけなくなりますからね…

フリーランスのほうが、自分で仕事を選べるうえに、短期間で別の案件に参画しやすく、経歴書にもキズがつかないです。

フリーランスエンジニアなら、プログラミングスキルを高めれば高めるほど、大幅に「時間単価」もアップできるのが、最大のメリットでしょう。

「時間単価」をアップさせる方法は、基本的には技術力を磨くことですが、プログラミングスキルが高くなくても、「ディレクションスキルを高めて、上流工程もこなしながら稼ぐ」というやり方もあります。

ディレクションスキルを発揮して、上流工程をこなせるようになると、フリーランスのチーム化を実現することができます。

例えばですが、

  • ディレクター:営業、企画、クライアントとの調整に専念
  • デザイナー:デザイン制作に専念
  • エンジニア:開発に専念

上記のようなフリーランス人材(もしくは副業している人)を集め、チーム化したうえで、効率よく稼ぎ続ける仕組みを作り上げて、売上を分け合うイメージです。

フルスタックエンジニアを目指すことも「時間単価」をアップする方法のひとつですが、上流工程をこなせるようになって「時間単価」をアップする方法もあるので、こういうキャリアアップ方法を知っておくと、自分に合う戦略も決めやすくなりますね。

まとめ:「市場価値」を把握して、「変化」と「移動」に慣れておこう

まとめますが、キャリアパスに関しては、シンプルに言うと下記のとおり。

ポイント

  • プログラミングや技術が大好きな人
    → フルスタックエンジニアを目指す
  • そこまで好きじゃない人
    → 別スキル(マーケティング、ディレクションなど)を身につける

どちらの方法でも、独立して稼ぐことは可能です。

エンジニアとして成長したいという方は、定期的に「自分の市場価値」を把握しておくといいですよ。

市場価値を高める方法は、3つあります。

上記のとおり、客観的に見てもらったうえで、「自分の市場価値 = 年収はどれくらいか」を把握することをオススメします。

エージェントやフリーランス向けの求人サイトを利用するのは、気軽にできると思いますので、定期的にキャリアを考えつつ、市場価値も確かめてみてください。

このあたりで今回は終わりにしますが、最後にひとつだけ。

成長を求めるなら、どんな環境、状況でも力を発揮できるようにしておいたほうがいいです。

「リーマンショック → 大震災 → コロナショック」という感じで、「景気が良くなったり、悪くなったり」と、大きく変化します。

テクノロジーも目まぐるしく進化する時代なので、どんな状況になっても対応できるように、

  • 自分から変化し、スキルアップする
  • 環境を変える(移動する)ことに慣れる

上記が大切かなと。

現代では転職が当たり前の時代になったので、転職して年収をアップするのもいいですし、若いうちに「独立」を経験しておくのもいいと思います。

エンジニアはまだまだ将来性のある職業なので、プログラミングを楽しみながら、成長していきましょう。

新人エンジニアさん向けの関連記事