未経験エンジニアはきつい?【壮絶だった体験&トライした対策を紹介】

未経験エンジニアはきつい?【壮絶だった体験&トライした対策を紹介】 エンジニアの紹介
未経験エンジニアはきつい?【壮絶だった体験&トライした対策を紹介】

こんにちは。

この記事を読んでいるあなたは、

「未経験からエンジニアになるときついの?」
「未経験からエンジニアに転職してもいいのかな?」

このように思っているのではないでしょうか?

エンジニアを目指している段階だと、エンジニアがきついのか、気になりますよね?
また、どのような点がきついのか?も知りたいですよね?

そこでこの記事では、僕自身や、他のエンジニアとやりとりした体験をベースに、以下の内容をまとめます。

この記事を読んで分かること
・未経験からエンジニアになるときついと言われる理由
・「きつい」を回避する方法
・エンジニアに向いている人
・エンジニアになって良かったポイント
・未経験からエンジニアになる方法

最後まで読んでいただくことで、未経験からエンジニアになったときにきついポイントが理解できるのはもちろん、エンジニアになるための勉強を安心して続けられるようになります!

  1. この記事の結論と要約
  2. [体験談]僕は、エンジニアとして働くのがつらかった (この記事の信頼性)
    1. 新卒からエンジニアになってからの一年間は、人生の中で一番きつかった
    2. 社会人としてエンジニアになったら、全く戦力にならない自分に気づいた
    3. 社会人一年だった僕は、プログラミングスキル以外にも、基本的な社会人スキルも足りなかった。
    4. きついけど、エンジニアとして働くことのメリットもたくさんある
  3. 未経験からエンジニアになったときにきついポイント5つ
    1. プログラミングスキルが不足しており、自分の「できない感」が残念に感じる
      1. プログラマーになる前の段階と比べて、プログラムが圧倒的に複雑になる
      2. 周りにいる人がベテランばかりで、スキルの差に驚かされる
    2. ミスをしたときのプレッシャーがすごい
    3. 覚えることが多く、常に勉強し続ける必要がある
    4. 他の人と意思疎通ができない
      1. プログラミングスキルなどが不足しているため、相手から求められているアウトプットを出せていない
      2. 今開発している内容に対する理解が浅く、周りの人からすると前提がおかしかったりする
      3. 他の人のコミュニケーション力が不足しており、会話が成立しない
    5. 常に仕事のことを考えられる・仕事ができてしまう
  4. 未経験からエンジニアになって「きつい」を回避する5つの方法
    1. プログラミングの勉強をする
    2. 何ができていないのか?を毎日分析する
    3. 職場の人といい人間関係を築く
    4. 気分転換をしたり、ストレス発散をする
    5. 自分に期待しすぎない
  5. エンジニアになってよかったこと4選
    1. システム開発をするための基礎知識が身につく
    2. エンジニアの年収は、他の平均的な職業よりも100万円くらい高い
    3. 今後、10年以上は食いっぱぐれることがなさそう
    4. 在宅で仕事をできる会社が多い
  6. エンジニアに向いている人の4つの特徴
    1. 探究心やこだわりが強い人
    2. 勉強が好きな人
    3. ストレス耐性が強い人
    4. 気分転換がうまかったり、打ち込める趣味を持っている人
  7. 未経験からエンジニアになり、成功するための4ステップ
    1. プログラミングの基本的な知識を習得する
    2. チーム開発がどのようなものかを知る
    3. エンジニアとして活動開始&チーム開発の実施&その会社に合わせた知識の習得
    4. 自分の知識をブラッシュアップし続ける
  8. まとめ
    1. Related Posts:

この記事の結論と要約

この記事の結論と要約

それではまずこの記事の結論です。

未経験からエンジニアになって働くと、一般的にはきついです。

これはプログラミングやエンジニアとしてのスキルが不足していることが最大の原因です。

また、未経験からエンジニアになった後は、

・あなた自身の「できない感」を実感する
・プレッシャーがすごい
・勉強を続ける必要がある
・エンジニアや、関係者との意思疎通が難しい
・仕事がいくらでもできてしまう

などの点で、きつい思いをする可能性があります。

ただ、エンジニアとして働くと、以下のようなメリットもたくさんあるので、エンジニアを目指すのは、メチャクチャ、オススメです!

・年収がよい
・食いっぱぐれない
・在宅で伸び伸び働ける
・日常生活も楽になる

[体験談]僕は、エンジニアとして働くのがつらかった (この記事の信頼性)

[体験談]僕は、エンジニアとして働くのがつらかった (この記事の信頼性)

新卒からエンジニアになってからの一年間は、人生の中で一番きつかった

僕は大学を卒業して、新卒でエンジニアになりました。

大学では2年ほど独学でプログラミングを勉強し、たまたま内定をもらえたメーカーにエンジニアとして就職することができました。

大学では周りにプログラミングを勉強している人があまりいなかったため、自分のプログラミングのスキルがかなり優れてると思っていました。

今思えば何とバカなことを・・・と思うのですが、そのときは「自分のプログラミングスキルであれば、社会に出ても十分通用するだろう」なんてことを思っていました。

ただ、実際に働き始めたら、その想像は大きく間違っていたことに気づきました。

社会人としてエンジニアになったら、全く戦力にならない自分に気づいた

そんな根拠のない自信を持って社会人になりました。

ただ、結果的には、全く自分の力が通用せず、僕の人生の中で一番大変な1年になりました。

そのプロジェクトではC++を使っていました。
C++ではポインタやアドレスを理解した上で、値を渡す必要があります。
ただ、僕はその基本的な概念も分かっておらず、要求されたレベルのプログラミングをすることができませんでした

また、必死で書いたプログラムも、他の人にレビューをしてもらうと、片っ端から修正になります
その時の僕のプログラミングは独学で勉強したものだったので、他の人に読ませるためのプログラムの書き方を知らなかったのです。

さらには、パソコンのセットアップでも「マウント」「パーミッション」など、聞き慣れない単語が出てきます。

根拠なく持っていた僕の自信は、地に叩き落されました。

成果なんてもちろん出ないですし、全くチームや他の人に貢献できません。
毎日、「とにかくきつい」と思っていたのを覚えています。

社会人一年だった僕は、プログラミングスキル以外にも、基本的な社会人スキルも足りなかった。

僕の場合は、新卒だったこともあり、「基本的な社会人スキル」という一番重要なものが足りていませんでした。

問題が発生したときに、それが、

・プログラミングの特定の箇所がわかっていないのか
・パソコンの設定の問題なのか
・そのプロジェクトの前提や専門用語がわかっていないのか

などが、全然わかっていなかったのです。

そのときの僕は、まさに「何が分からないのかわからない」という状態でした。

面倒を見てくれていた先輩も、こんな出来の悪い後輩を担当させられて、いい迷惑だったと思います。

きついけど、エンジニアとして働くことのメリットもたくさんある

そんなきつさも、少しずつスキルが身についてくると慣れてくるものです。

そのときにプログラミングを頑張ったおかげで、システムの基礎を学ぶことができました
現在やっている、プロジェクトマネージャーの仕事に活かすことができています

もしあのときエンジニアになって頑張っていなければ、エンジニアの気持ちなんて一生わからないまま終わっていたでしょう。

また、エンジニアになって頑張ったおかげで、以下のようなメリットがありました。

・少なくともここから10年程度は食いっぱぐれることがないと感じる
・年収を上げることができた
・リテラシーが身についた

エンジニアは非常にきついものですが、それ以上に、メリットがあるのも事実です。

この記事はこれらの僕の経験を踏まえて、未経験からエンジニアになってきついポイントや、エンジニアになってよかったこと、エンジニアに向いている人を説明しています。

未経験からエンジニアになったときにきついポイント5つ

未経験からエンジニアになったときにきついポイント5つ

それではまず、未経験からエンジニアになったときのきついポイントを5つ紹介します。

プログラミングスキルが不足しており、自分の「できない感」が残念に感じる

未経験からプログラマーになった直後は、ほぼ間違いなくプログラミングなどの必要なスキルが不足しています。

プログラマーになる前の段階と比べて、プログラムが圧倒的に複雑になる

プログラマーになるまでの勉強は、プログラミングに関するものがメインになります。
勉強で使うプログラムも、サンプルの改変やあなたがゼロから作ったWebサービスなど、全体像が把握できて、分かりやすいものだったのではないでしょうか。

一方、エンジニアになったあとは膨大で全体像が把握できないソースコードの量、何故こうなっているか分からない改修履歴など、難易度が一気に上がります

おそらく最初は、「プログラムを読んでも何がどうなっているか分からない・・・」というように、途方にくれてしまうこともあるかもしれません。

実際のプロジェクトに携わり始めた時の話
僕も最初に入ったときは、そのプログラムの複雑さ、膨大さに驚きました。
プログラムを読んでも読んでも、何がどうなっているのか分からないのです。

「この関数からこの関数を呼び出していて・・・」などを把握するために、何日もプログラムを読み続けた記憶があります。

周りにいる人がベテランばかりで、スキルの差に驚かされる

また、周りにはプログラマー歴10年、20年という人が大勢います。
そんな仕事がバリバリできる人の中に突然入っても、

「これだけ頑張ったのに全然レベルが足りない・・・」
「自分はあんなレベルになれるんだろうか・・・」

こんな風に思ってしまうかもしれません。
特に、プログラマーになるために一生懸命に頑張ってきた人がそう思う傾向にあります

こういった状況に直面した結果、「エンジニアってきつい・・・」と思う可能性があります。

ミスをしたときのプレッシャーがすごい

ソフトウェアの開発は、基本的に大勢で行います。
スマートフォンなど複雑なものになると、数千人が関わるプロジェクトも珍しくありません。

そんな大規模プロジェクトでは、周りの人に影響するミスを発生させると、その影響が非常に大きくなってしまうこともあります。

例えばあなたが致命的な不具合を埋め込んでしまったりした場合、ソフトウェアのリリース作業が止まってしまったり、場合によっては新商品のリリースが遅れて数億円レベルの損害になってしまうこともあります。

もちろんこんな大規模な問題が頻繁に起こるわけではないですし、それが起こらないような対策もとってあります。

とはいえ、もしこういった不具合を起こしてしまった場合、寿命が3年くらい縮む思いをすることになります。

僕が起こしたリリース停止騒動
僕も過去、一度盛大にやらかしました。
リリースをするべき内容をリーダーとのコミュニケーションミスでリリースし忘れた結果、その製品全体の進行を数時間遅らせてしまいました。

そのときは関係する部署の人がすぐに気づいて連絡をくれたためすぐに問題を修正することができましたが、本当に冷や汗をかいた記憶があります。

覚えることが多く、常に勉強し続ける必要がある

覚えることが多く、常に勉強し続ける必要がある

エンジニアになると、毎日が勉強の日々になります。

エンジニアになった直後は、プログラミングのスキルがまだ不十分であることが多く、プログラミングの勉強をする必要があります。
さらに、ソフトウェア開発は基本的に大勢の人で行います。
ですので、大勢の人が一緒に開発をしても成立するような社内ルールを覚える必要があります

大勢の人で一緒に開発するための、社内ルールの例
分かりやすいところでは変数やクラス名の命名規則や、プログラムのインデントが何文字か?さらにはコメントアウトの書き方など、実に様々なものが存在します。

その上で、今作っているWebサービスやアプリのプログラムがどうなっているか?どのようにプログラミングを追加・変更していけばいいか?も把握していく必要があります。

エンジニアになった直後は毎日頭がパンクするほど覚えることが多いでしょう。
あまりの多さのため、家に帰ってからや土日も勉強する必要性があるかもしれません。
ただ、実はそれでは勉強は終わらず、エンジニアになった後も(もっと言うとエンジニアになった後こそ)様々な勉強をする必要があります。

他の人と意思疎通ができない

エンジニアの仕事は「プログラミングをすること」という理解は間違っていません。
ただ、プログラミングをすることと同じくらい、社内外の会議に出席することが多いです。

会議では、あなたの作業の進捗を報告したり、開発している内容に対するレビューなどを実施します。

そんな会議の場で特に大変なのが、「あなたの言うことが驚くほど他の人に伝わらない」ということです。
僕も、新卒でエンジニアになったあと、ビックリするほど自分の言うことが他の人に伝わらないという経験をしました。

例えば、以下のような点です。

未経験からエンジニアになった後、意思疎通で苦労したポイント
・プログラミングスキルなどが不足しているため、相手から求められているアウトプットを出せていない
・今開発している内容に対する理解が浅く、周りの人からすると前提がおかしかったりする
・他の人のコミュニケーション力が不足しており、会話が成立しない

プログラミングスキルなどが不足しているため、相手から求められているアウトプットを出せていない

エンジニアになった直後は、ほとんどのケースで、求められるプログラミングのスキルに到達していません。
そのため、そのチームやプロジェクトで他の人から求められる成果が出せてないことが多々あります。

これは、初めてエンジニアになるのですから、仕方ない部分もあります。とはいえ、この状態になると本当にしんどい・・・(体験談)

あまりに成果が出ていないと、

「あれ?まだこのタスクやってるの?いつ終わるの?」

なんていう辛辣な言葉を浴びることになるので要・注意です。

今開発している内容に対する理解が浅く、周りの人からすると前提がおかしかったりする

また、今開発している内容に対しても、深い理解が必要とされます。

エンジニアが作るプログラムは、常に完全な状態で保てるわけではありません。

モノによっては、

「本当はもう少しマトモなプログラムを書きたかったけど、時間が足りないから暫定的にこういうプログラムにしてます」
「過去に発生した仕様変更の影響で、現状こういうプログラムになっています」

なんてものがあります。

というか、動いているシステムのほとんどの部分で、こんな背景や履歴を持ってたりします。

新しくエンジニアになった人はもちろんこんなことを知りません。

その状態でプログラムを書くので、せっかく書いたプログラムをレビューしてもらったときに、

「実はその部分は変更しちゃダメな部分で・・・」
「その部分を変更すると違うところに影響が及ぶから、そこ以外を変更する形で・・・」

なんていうレビューコメントをもらうことがあります。

新しくエンジニアになった側からすると「そんなの知らないよ!」といったところですが・・・

他の人のコミュニケーション力が不足しており、会話が成立しない

エンジニアのうち、一定割合の人は、とてもコミュニケーションが下手です。
体感値、全体の1〜2割くらいの人は、「この人は何を言っているんだろう・・・」というエンジニアです。

あなたがエンジニアになった後も、おそらくチームに数人は、こんな人が存在することになります。

こういう人がチームにいると、相手の言っていることが理解できないですし、こちらの言うことも伝わりません。

エンジニアの仕事は基本的に時間がギリギリの中進めるのもあり、コミュニケーションができない人がいると、仕事が一気に大変になってしまいます。

常に仕事のことを考えられる・仕事ができてしまう

これは良いポイントでもありますが、エンジニアの仕事はパソコン一台さえあればできてしまいます。

その場に行かないと仕事ができない他の仕事とは明確に異なるポイントでしょう。

「どこでも仕事ができる」というのはエンジニアの最大のメリットの1つですが、デメリットにもなりえます。

もちろんプログラミングの作業はパソコンがないとできませんが、

「どのようなプログラミングをするといいか?」
「今発生している不具合の解決方法は何か?」

こういったものは、スマホ一台さえあれば調べることができてしまいます。

例えば電車の待ち時間や寝る前の空き時間でさえも、仕事に関する情報を調べられてしまうので、仕事とプライベートの境界線が曖昧になります

仕事とプライベートの境界線が曖昧になるのが苦にならない人であれば問題ありません。

ただ、「プライベートの時間には仕事のことを考えたくない!」と考えている人にとっては、デメリットにもなり得るでしょう。

未経験からエンジニアになって「きつい」を回避する5つの方法

未経験からエンジニアになって「きつい」を回避する5つの方法

ここまでで未経験からエンジニアになってきついポイントを解説してきました。

この章では、そんな「きつい」を回避するための方法を5つ、お伝えします。

プログラミングの勉強をする

未経験からエンジニアになって最もきついのは、プログラミングのスキルが不足しており、周りの人についていけないポイントでしょう。

これを解決するにはプログラミングの勉強を頑張る必要があります。

とはいえ、いつまでもエンジニアになる前と同じ勉強をしていてはいけません。

エンジニアが取り組む問題は、テキストに載っているサンプルプログラムとは違い、生きており、常に複雑怪奇だからです。

テキストに載っているサンプルプログラムで勉強したところで、なかなかエンジニアとしての使えるスキルは身につきません。

エンジニアになった後は、仕事をする中で出てくるプログラムを読んだりすることで、生きた知識を身につけましょう。

とはいっても、例えば基本的なプログラミングの文法が分からなかったりする場合は、自分で勉強するようにしましょう。

エンジニアとして働く以上、プログラミングの基本となる部分は一人で身につける必要があります

何ができていないのか?を毎日分析する

エンジニアになった後は、おそらく毎日仕事についていくのが精一杯で、いろいろとできないことが見えてくるでしょう。

例えば、以下のようなものです。

エンジニアになって「自分ができてないな」と思う例
・プログラミングで予定した時間に終わらなかった
・書いたプログラムに対して、いろいろな指摘をもらってしまった
・他の人が喋っている言葉がどういう意味なのか、全く分からなかった

こういった「自分ができてないな」と思うものが見つかったら、1つずつ丁寧に対処していくのが重要です。

分からないこと、できないことを1つずつ克服していけば、いつかは周りにいるエンジニアと同じレベルに到達することができます。

そのためには、以下のような対策をとるとよいでしょう。

何ができていないかを分析する方法
・分からない単語が出てきたら、メモ帳にメモしておく
・自分が「できていない」と思うことがあったら、その原因が何なのか?を分析する。

1つ目の「分からない単語が出てきたらメモしておく」のは、エンジニアに限らず他の仕事でも一般的なものでしょう。
特にエンジニアの働いている環境は、独特なIT用語や社内用語が入り乱れて出てくるので、分からない単語を理解していくのは重要です。

「できていない」と思うことがあったらその原因が何か?をしっかりと考えるようにしましょう

何故なら、場合によってはあなたができない大きな理由が、プログラミングスキル以外のところにあったりするからです。

例えば他の人の喋っている社内用語が分からないのであれば、プログラミングを勉強するのではなく、社内用語を確認するべきです。
例えばパソコンの使い方が分からないのであれば、プログラミングを勉強するのではなく、パソコンの使い方を勉強するべきです。

この例は簡単ですが、実際の仕事の中で出てくる問題は複雑です。

複数の問題が入り組んだ形で出てくるので、本質的な問題が見つかりづらかったりします。

本質的な問題を考えずに放置していると、いつまで経っても使えないエンジニアのままになってしまいます。

職場の人といい人間関係を築く

職場の人といい人間関係を築く

エンジニアのストレスは大きく分けると2つに分解されます。

エンジニアの感じるストレスの種類
1: 「プログラミングができない」など、スキルに関するもの
2: 「職場の人とうまくいかない」「職場に貢献できていない」など、人間関係に関するもの

1つ目の「きつい」は時間をかけて勉強したり、エンジニアの仕事に慣れていく必要があります。
実際、この1つ目の「きつい」だけでも十分に大変です。

そのストレスを増大させてしまうリスクがあるのが、2つ目の「職場の人とうまくいかない」「職場に貢献できていない」ストレスです。

スキルが不足しており、「プログラミングがうまくいかない」と思っている上に、職場の人とうまく行かなかったり人間関係が悪かったりすると、最悪の状態です。

多少スキルが足りなかったとしても、職場の人といい人間関係を築くことができていれば、彼らにフォローをしてもらったり、温かい言葉をかけてもらうことができます。

一方、職場の人との人間関係がギスギスしてしまっている場合、

「何故そんなこともできないの?」
「自分のミスなんだから自分で処理しておいてね」

なんて目で見られてしまうことがあります。

こうなると、せっかくエンジニアになったのに、半年後には辞めてしまう・・・ということにもなりかねません。

特に未経験からエンジニアになった直後は、ほとんどの場合でスキル不足で戦力になりません。

エンジニアになった直後の勉強期間に、周りの人から温かいフォローをもらうためにも、職場の人とはいい人間関係を築くようにしましょう。

具体的には、

・エンジニアとしての新人として謙虚になる
・周りの人のアドバイスを聞く
・挨拶をするなど、基本的な社会人としての振る舞いをする

こういったことを心がけることで、職場の人と致命的に悪い人間関係になるのは避けられるでしょう。

気分転換をしたり、ストレス発散をする

これは「きつい」を回避する方法というよりは、ストレスが溜まったときの対策です。

プログラマーになった後は、多かれ少なかれストレスがかかります。

仕事の中で溜まったストレスは、うまく発散するようにしましょう。

特に真面目な人は、「何とか早く一人前になりたい」と思い、頑張りすぎてしまう傾向にあります。

おそらくこの記事をこうして読んでくださっているあなたも、そんな頑張りすぎてしまう人ですよね?

もちろん頑張るのは重要なのですが、頑張りすぎて心や身体を壊してしまっては元も子もありません。
最初はついてけずに焦る気持ちもあるでしょう。

ただ、それでも空いている時間はあなたの好きなことをして気分転換したり、しっかり寝たりしてストレスを発散するようにしてください

自分に期待しすぎない

未経験からエンジニアになれる人は、それだけでかなり優秀な人です。
ですので、「自分はやれる!」という気持ちでエンジニアになっているでしょう。

もちろん、何のストレスもなくエンジニアとしてやっていければ問題ありません。

ただ、もし壁にぶつかったりしてきつい場合は、一度「あなた自身に期待しすぎない」ということをやってみましょう

エンジニアになって特に苦しむのは、「自分はできる」という思いと、実際にやれることの差が大きい人です。

自分の理想と現実のギャップに、「こんなはずじゃなかった・・・」と苦しむことになります。

もしあなたがエンジニアになった後、

「あまりにきつすぎる!」

と思った場合は、この理想と現実のギャップが発生している可能性があります。

その場合は一度、「あなた自身に期待しすぎない」という考え方をしてみましょう。
あなたがエンジニアになった後にきついのは、自分自身に完璧を求めすぎるからです。

多少仕事ができなくても問題ありません。

「まあ、最初のうちはこんなものでいいかな」

くらいの気楽な考え方でいると、エンジニアになった後が非常に楽になります。

エンジニアになってよかったこと4選

エンジニアになってよかったこと4選

システム開発をするための基礎知識が身につく

エンジニアとして働くと、プログラミングの知識だけではなく、その周辺で必要となるスキルも身につきます。

具体的には、以下のようなものです。

エンジニアになると身につくスキル
・パソコンの使い方
・ネットワークの基礎知識
・セキュリティの基礎知識
・UI/UXの知識 (どのようなユーザインタフェースが使いやすいか?使っていて気持ちいいか?)

こういった知識を身につけることができれば、リテラシーが一気に向上します。

僕は今、プロジェクトマネージャーとして働いているためプログラミングをすることはありません。

ただ、システムの基礎知識が身についているので、効率よく仕事ができるし、エンジニアとも対等に仕事をすることができます

そういった意味で、今後システム開発に携わりたいなら、エンジニアとして働くのは必須だと思います。

そして、これらの知識があれば日常生活も圧倒的に便利になります。

例えば、

・家のパソコンでインターネットに接続できないときに何をやればいいのか?
・銀行の口座を開設をするときに、UI/UXの知識を用いて手早く申請を完了する
・どのようなメールがフィッシング詐欺のリスクがあるのか?

こういったものって、それぞれの専門家になるか、エンジニアとして働かないとなかなか身につかない知識です。

「一家に一人、エンジニア」といえるくらい、エンジニアとして働くだけで幅広い知識を身につけることができます。

エンジニアの年収は、他の平均的な職業よりも100万円くらい高い

未経験からエンジニアを目指している人はこの事実はすでに知っているでしょう。

エンジニアの平均年収は500万円くらいで、他の職業を含めた年収と比べて、100万円くらい高くなっています。

さらにエンジニアからより年収の高いITコンサルやプロジェクトマネージャーになることができれば、さらにそこに上乗せして稼ぐことが可能となります。

これからの時代、エンジニアになることは高い年収を得るための1つの王道戦略です。

ちなみにITコンサルやプロジェクトマネージャーになるにしても、結局やることはシステム開発です。
より高い年収が期待できる仕事をやりたい場合でも、システム開発に関する知識を持っている必要があります。

今後、10年以上は食いっぱぐれることがなさそう

エンジニアとしてある程度の経験を積めば、いろいろなところからオファーをもらうことができます。

IT系のスタートアップからのオファーもありますが、最近増えてきているのが、非IT企業(食品メーカーなど)のDX推進です。

DXとは「デジタルトランスフォーメーション」の略で、内部のシステムなどをデジタル化することにより生産性を上げるための取り組みのことです。

2021年にデジタル庁が発足したように、これからもしばらく日本の各企業でデジタル化の流れは続くと思われます。

エンジニアはそんなデジタル化の推進をするための原動力となるため、エンジニアは今、本当に引く手あまたです。

そしてDX化がこの1, 2年でできるはずもないので、エンジニアになれば、今後10年以上という長期間において、食いっぱぐれることはないと考えられます

在宅で仕事をできる会社が多い

特に新型コロナウイルスが流行して以降、在宅で仕事をすることが増えました。

在宅で仕事をするのは僕の勤めている会社以外にも、IT系の企業は多くがフルリモート勤務が可能です。

例えばIT企業大手のYahoo! Japanの場合、日本全国どこで働いてもいいという方針になりました。

IT企業の多くはコロナウイルスが収束したからといって出社をさせる可能性は低いと考えられます。

僕も今は出社するのは月に1回〜2回くらい、気分転換に会社に行っているくらいです。
会社に行かない日は、朝の10時からミーティングが入っていれば、9時45分くらいまで寝ていることも可能です。

在宅のメリットを享受しつつ、非常にゆっくりとした朝を過ごすことができています

エンジニアに向いている人の4つの特徴

エンジニアに向いている人の4つの特徴

この章では、エンジニアに向いている人の特徴を紹介したいと思います。

探究心やこだわりが強い人

エンジニアは、一般的に担当する領域を分担をして、Webサービスやアプリを開発します。

つまり、「自分の担当部分」ができることになります。

その担当部分の品質に対して徹底的にこだわりを持てる人の方が、エンジニアに向いています

何故なら、そのこだわりがいいサービスやアプリにつながるからです。

プログラミングなどエンジニアの作業は明確な終わりがありません。

今知っている範囲のプログラムで済ますこともできますし、もっと効率のいいプログラムを探求することもできます。
手を抜こうと思えばどこまでも抜けますし、こだわろうと思えば徹底的にこだわることができます。

1つひとつのこだわりは、

「この部分のプログラムをもう少し見やすくしたい」
「もう少しだけパフォーマンスのいいプログラムを書きたい」

など、大したことがないかもしれません。

ただ、こういう小さいこだわりが積み重なっていくことで、最終的な製品のクオリティに大きく差がでてきます

エンジニアのこだわりは、製品のクオリティや競争力に直結する、と言ってもよいです。

僕が過去にエンジニアをやっていたときの例
とあるアプリを担当しているとき、どうしてもパフォーマンスがでないことがありました。

そんなときに同僚のエンジニアがJavaのメモリ確保の裏側のロジックまで勉強した上でプログラムを書いた結果、アプリのパフォーマンスが2倍以上改善したことがあります。

この改善は、その同僚のエンジニアの努力なしには達成することはできませんでした。

勉強が好きな人

ここまで説明してきたように、エンジニアになったても、常に勉強し続ける必要があります。

例えば以下のような内容が該当します。

・プログラミング言語の理解を深めたり、新しいプログラミング言語を学ぶ
・常にバージョンアップしている言語やフレームワークの最新の仕様を知る
・ソフトウェア設計の知識やチーム開発で利用するgitの細かい内容を知る
・(場合によっては)コミュニケーションや心理学を勉強し、他の人とのコミュニケーションを円滑にする

本当に、勉強する内容には終わりがありません。

「エンジニアになったから勉強は終わり!」

ではなく、常に勉強を続けられる向上心を持っている人が、エンジニアに向いている人です。

とはいえ、エンジニアになれるほどのレベルがあれば、作りたいものを作りつつ、少しずつ知識の量と幅を増やしていければOKです。

僕もエンジニアになった直後はプログラミングの勉強をしていましたが、勉強だけだと辛いものがあります。

そこで、例えば「新しいプログラミング言語を使う」という縛りを入れた上で、好きなWebサービスを立ち上げたりするのがよいでしょう。

勉強と好きなものを作る時間を両立することで、勉強に疲れたり飽きたりするのを避けることができます。

ストレス耐性が強い人

エンジニアの仕事は、スケジュールの圧力が強かったり、他の人とのコミュニケーションが大変だったりと、ストレスがかかることが多い仕事です。

そんなストレスに対して耐性が強い人の方が、エンジニアには向いているでしょう。

もしストレスに対して耐性が強くない場合、一つひとつの出来事でヘコんでしまうかもしれません。

ちなみに僕の知り合いのエンジニアでも数人、心を病んで会社を辞めてしまった人もいます。

そうやって心を病んでしまった人の割合にすると、大体100人〜50人に1人くらいいそうです。

不具合を起こしてしまったり、リリースしたサービスが流行らずにクローズされてしまったり、毎日夜遅くまで残業する必要があるかもしれません。

エンジニアになる人は、そういった肉体的・精神的なストレスに耐えられる必要があります

気分転換がうまかったり、打ち込める趣味を持っている人

気分転換の方法を知っていたり、何か打ち込める趣味を持っている人もエンジニアに向いていると言えるでしょう。

ここまで勉強をすることばかり書いてきましたが、ストレスが溜まるときは溜まります。

また、毎日夜遅くまで残業していると次第に疲れてくるでしょう。

そんなときに気分転換がうまいのは、エンジニアとして重要です。

休日含めてプログラミングなどの勉強をするのは大事ですが、疲れてきたらいい具合に息抜きをするのも必要です。

未経験からエンジニアになり、成功するための4ステップ

未経験からエンジニアになり、成功するための4ステップ

最後に、未経験からエンジニアになって成功するためのステップを4段階で紹介したいと思います。

コツとしては、エンジニアになる前からエンジニアになった後のことも知っておくことです。
「次にどのような状態になるのか」を知っておくことができれば、余裕を持った行動ができるようになります。

未経験からエンジニアになるために必要なステップは以下の通りです。

未経験からエンジニアになり、成功するための4ステップ
・プログラミングの基本的な知識を習得する
・チーム開発がどのようなものかを知る
・チーム開発の実施&その会社に合わせた知識の習得
・自分の知識をブラッシュアップし続ける

この4つに関して、順に解説していきます。

プログラミングの基本的な知識を習得する

まずは、「プログラミングとは何か?」という、基本的な内容を把握するステップです。

最初は、独学で勉強するのがよいかと思います。
というのも、まずはプログラミングがどのようなものかを把握しておかないと何も始まらないからです。

プログラミングの勉強をするためのオススメの順番は、以下の記事にまとめています。

この記事の他、ウェブサイトで「○○言語 サンプル」とググれば、無料で公開しているプログラムを見つけることができるでしょう。

もしあなたが、

「独学で勉強しようとしたけど、難しすぎて全然分からない・・・」

ということでしたら、一度、初心者向けの講座を解説しているプログラミングスクールに通うのをオススメします。

初心者向けの講座では、テックアカデミーの「はじめてのプログラミング」のコースがオススメです。

他にもプログラミングスクールはたくさんありますが、これらの中で、最もわかりやすくプログラミングの勉強をスタートすることができます。

その他、プログラミング上達のコツは以下の記事がオススメです。

チーム開発がどのようなものかを知る

この記事で説明してきたとおり、エンジニアになった後は、

・プログラミングのスキル不足
・チーム開発をやったことがない戸惑い
・その会社のやり方や流儀に慣れる

このように、やるべきことがたくさんあります。

僕もそうでしたが、エンジニアになったらこんなに一度に学ぶことができません。
毎日仕事が終わったらヘトヘトになるくらい疲れてしまいます。

そこで、エンジニアになる前に、できる限りエンジニアの働き方の予習をしておくことをオススメします

この予習ができているだけで、エンジニアになった後に圧倒的に楽になります。

具体的には、以下のような内容を勉強や体験できているとよいでしょう。

エンジニアになる前に習得しておくべきスキル・経験
・開発環境の構築など (実際に働き始めた後でも、割とハマるポイントです)
・チーム開発 (gitの使い方はもちろん、どのようにタスク管理をするか?なども含みます)
・ソフトウェア開発の流れ (何を作るか?の定義からの流れを知っておくことで、全体像を把握することができます)

これらを知っているのと知っていないのとでは、エンジニアになった後のきつさが全く異なります。

そして、こういったスキルを手っ取り早く習得するには、プログラミングスクールに通うのがよいでしょう

プログラミングスクールの中には、即戦力エンジニアを育成するために、ここでまとめた内容を体験できるコースもあります。

即戦力のエンジニアを目指す場合、以下の3つのプログラミングスクールがオススメです。

即戦力のエンジニアを目指すのにオススメのプログラミングスクール
最大56万円の給付金あり
DMM WEBCAMP

推薦状の発行やキャリア支援も実施
CodeCampGATE(コードキャンプゲート)

学習の進捗管理からモチベーション維持のサポートまで実施
tech boost (テックブースト)

 

その他にも、あなたの目的に合わせたプログラミングスクールをまとめています。

僕のエンジニア体験を踏まえて良いポイント・気をつけるべきポイントもまとめているので、こちらも是非読んでみてください。

エンジニアとして活動開始&チーム開発の実施&その会社に合わせた知識の習得

エンジニアとして活動開始&チーム開発の実施&その会社に合わせた知識の習得

この段階から、いよいよエンジニアとしての活動を開始します。

エンジニアとして入社したりフリーランスになった後は、自社やお客さん企業が管理するプログラムへアクセスする権限が付与されます。

これまでの勉強とは全く異なる、真剣勝負の世界です。

チームの人と顔合わせをしたり、ミーティングで自己紹介をしていく中で、「いよいよエンジニアとして活動するんだ・・・」という意識が出てくるのもこの頃です。

おそらく最初の頃は、会社の雰囲気ややり方に慣れるので精一杯でしょう。

僕のオススメは、いきなり全力で頑張るのではなく、環境に慣れるところを目指しましょう。

未経験からのエンジニア採用ということであれば会社側もどのようなスキルのレベルか?はわかっているはずです。
ですので、いきなり難易度の高い業務はお願いされないでしょう。

そして1, 2ヶ月して少しずつ慣れることを目指すようにしましょう。

 ちなみに、即戦力の経験者枠として採用されているのであれば、入社して1, 2ヶ月である程度成果を出す必要があります。

イメージとしては、入社から半年くらいで他の人と比べて半人前の戦力になれていれば十分かと思います。

入社から半年も経って半人前でいいの!?と思われるかもしれません。

ただ、周りの人は何年もエンジニアをやっており、その会社にも馴染んでいる人たちです。
入社して半年くらいで、そんな人達の半分の成果を出せているのであれば十分です。

上を見ればキリがないので、そのくらいの心持ちでいきましょう。

自分の知識をブラッシュアップし続ける

ある程度業務をこなせるようになったら、あとは自分のスキルを伸ばすところに注力します。

例えば今使っているプログラミング言語のデザインパターンを勉強して、より効率のよいプログラミングの方法を勉強するのもよいでしょう。
あるいは、自動テストの書き方を勉強して、より不具合の少ないプログラミングができるようになったり、gitの使い方をより深く勉強するのもよいでしょう。

このあたりは会社の特性や、やっている内容、あなたのスキルレベルで大きく異なります。
ですので、その都度必要だと思われる内容を学習していくことをオススメします。

まとめ

まとめ

この記事では、未経験からエンジニアになってどのような点がきついか?そしてそれを打破するにはどうしたらいいか?をまとめました。

ここまで読んでくださったあなたは、エンジニアの大変な点やいい点含め、理解いただけたのではないでしょうか。

「未経験からエンジニアになって大丈夫かな?」
「エンジニアってどんな仕事なのかな?」

など思いながら勉強すると、どうしても効率が落ちてしまいます。

もしエンジニアのことをもっと詳しく知りたい場合は、このブログの他の記事も読んでみてくださいね。

あなたがエンジニアになって目標を達成できるのを心よりお祈りしています。

この記事は以上です。
ここまで読んでくださり、ありがとうございました!

コメント

タイトルとURLをコピーしました