エンジニア

未経験でエンジニアはきつい?文系新卒1年目エンジニアが本音で語る

最近は、プログラミング未経験でもエンジニアとして就職することもさほど難しくなくなってきました。

かくいう僕も、プログラミング未経験で新卒(文系)でエンジニアになった一人です。

「プログラミング未経験でエンジニアになれるのはいいけど、なった後が大変なんじゃない?」

「エンジニアの仕事ってただでさえキツそうなイメージがあるのに、未経験で就職したらより大変なんじゃないの?」

これからエンジニアを目指す人は、少なからずこういった疑問をもっているのではないでしょうか。

僕もエンジニアとして就職する前の学生のころは、こうした疑問や漠然とした不安を抱えていました。

なので本記事では、プログラミング未経験でエンジニアとして就職した僕が、実体験を踏まえた上で、エンジニアの仕事について本音で語ろうと思います。

エンジニアの世界がどんなものか少しでも気になる方はぜひ読んでみて下さい。

未経験でエンジニアはきつい?

まずは早速気になる結論から。

「プログラミング未経験でエンジニアとして働くのはキツい?」という問いに対する僕自身の回答を端的にいうと”NO“です。

YesかNoかと問われれば上記の通り、”No”なのですが、もちろん大変なこと辛いこともありますし、それとは逆に楽しいこともあります。

本記事ではこうした、エンジニアとして働いてみて大変なことや辛いこと、楽しいことなどについて、実体験を元に深掘りしていきます。

自己紹介

具体例に入る前に、僕が今どんな状況でどういった仕事をしているのか、ということについて簡単に説明します。

まとめるとこんな感じです。

  • プログラミング未経験&文系学部出身でエンジニアとして就職(19卒)
  • SES(System Engineering Service)の業界に従事
  • 3ヶ月程度の研修を経て、システム開発の現場にでて数ヶ月

より詳細なプロフィールについてはこちらに書いてあるので、よかったらみてみて下さい。

それでは本題に入っていきます。

プログラミング未経験でエンジニアになるとキツい3つのこと

1. 技術力や知識のキャッチアップ

プログラミング未経験の人はどうしても、プログラミング経験の豊富な情報系の学部や専門学校出身の人に比べた時に、圧倒的に技術力や知識の面で劣ってしまいます

なので、そういったプログラミング経験者の同期たちと同じように仕事ができるようになっていくためには、プログラミングの知識を、”より早く“吸収していかなければなりません。

そうなるとやはり、未経験でエンジニアになった人は、より早くかつ多くの技術力や知識を蓄えていくために工夫していかなければなりません。

例えば、研修で習うことは全て聞き漏らさず確実に吸収する、仕事の時間以外にも自習する、などです。

いずれにせよ、プログラミング経験者よりも知識の吸収に貪欲である必要があります。

もし、このようなプログラミングに関する知識や技術力のキャッチアップが”ツラい”と感じてしまうのであれば、未経験でエンジニアとして働くことはきっと大変に感じてしまうでしょう。

2. ITに関する基本的な知識が圧倒的に不足していて、先輩エンジニアの言っていることが分からない

業界に精通している先輩エンジニアの方々は、しばしば専門用語を使って会話をしています。

例えば、”パラメータ”、”オブジェクト”、”デプロイ”、”API”などです。

これらは実際に仕事をしている際によく使われる言葉です。

今でこそ、こういった言葉を言われても会話についていくことは可能ですが、エンジニアとして入社した当初は、訳もわからず、かなり苦労していました。

基本的に専門用語の多くは、最初の研修で学ぶことが多いのですが、その研修で全てを網羅している訳ではありません。

研修が終わって実際に働くようになったときに、先輩エンジニアから言われた言葉の意味がよくわからなくて、先輩に直接聞いたり、あとでググったりすることはしょっちゅうです。

自分が理解していない言葉に対して、なんとなく聞き流すのではなく「この言葉ってどういう意味なんだろう?」と疑問に思い、それをその都度調べることに対して、面倒臭さを感じてしまうと、エンジニアの仕事はツラいと思います。

逆に、自分が知らないこと/きちんと理解していないことに対して、じっくり腰を据えて向き合い、自分で勉強できるような人はエンジニアの仕事が楽しく感じるでしょう。

3. 仕事で必ずしも実装できる訳ではない

これは、未経験エンジニアに限らず、新人エンジニア全般に当てはまることですが、仕事としてすぐに実装(プログラムを組むこと)ができるとは限りません

規模が大きなプロジェクトでは割とよく用いられる開発手法として「ウォーターフォール型」というものがあります。

ウォーターフォールについての詳細な説明はここでは省きますが、簡単に説明するとこんな感じです。

✔︎ウォーターフォール型とは
  1. 要件定義:「どんなシステムを作るのか」という要件を策定
  2. 設計:「具体的にどういう技術を利用してシステムを作っていくのか」というシステムの設計図を作成
  3. 製造:プログラミングをし、システムを作り上げる
  4. テスト:作成したシステムに問題がないかチェック
  5. 運用:公開後にトラブル等があれば対応

つまり、ここで何が言いたいのかというと、システム開発においてプログラミングを書くのはほんの一部にすぎない、ということです。

上記の例でいうと、5つの手順のうちで実際にプログラミングをガッツリやることになるのは、③のフェーズです。

実際に新人エンジニアが会社に入って早速③の製造から入れるか、と言ったら必ずしもそうはなり得ません。

むしろ、最初は④のテストフェーズから入り、段々③のプログラミングをやる製造フェーズに入っていくというのはよく聞く話です。

入社してすぐに「プログラミングを毎日書きまくる」みたいなイメージを持っていた人が、数ヶ月間システムのテストばかりやることになってしまったら、理想と現実のギャプから、より日々の仕事がツラく感じてしまうでしょう。

キツさをそこまで感じていない3つの理由

プログラミング未経験者がエンジニアになってツラいと感じる3つのことはこんな感じでした。

1. 技術や知識の勉強をしていかないといけない
2. 専門用語が分からなすぎて会話についていけない
3. プログラミングをしない仕事が回ってくる可能性が高い

こういったことが、一般的に未経験からエンジニアに就職して「ツラい」と感じることです。

とまあ、ここまではあくまで一般論の話を中心に広げてきましたが、ここから先は、僕自身の実体験をもとに述べていきます。

先にも述べた通り、僕はプログラミング未経験でエンジニアに就職しましたが、正直「キツい」とは感じていません。

「なぜ僕がそこまでキツさを感じていないのか」ということについて自分なりに考察してみたところ、3つの理由が思い当たりました。

これも一つずつ深掘りしていきます。

1. そもそもエンジニアになりたくて就職したから

最近は「未経験でもエンジニアになりやすい」とはいっても、大学時代の学部の同期にエンジニアになった人がたくさんいるかといったら、決してそうではありません。かなり少数派でした。

周りに、プログラミング未経験でエンジニアを目指す人がほとんどいなかったため、「自分がなぜエンジニアになりたいのか」ということについて、よりじっくりと自分で考えました。

そうでもしないと、自分が将来「これでよかったのか」と不安に思うことは目に見えていたからです。

自分なりの「エンジニアとして働く決意」みたいな部分を強く持っていれば、多少のキツいことや嫌なことなら大した障壁にはならないでしょう。

2. 実装できて働く時間も比較的短いプロジェクトに参画しているから

運の良いことに、僕が研修を終えて入った最初の仕事が、いきなりプログラミングができるプロジェクトでした。

先にも述べた通り、最初はてっきりテストから入るものかと思っていましたが、早速実装からだったので正直驚きました。

また、エンジニアの仕事は”長時間”というイメージもなんとなくあったのですが、実際にはほとんど残業することもありません

SESの仕事は参画するプロジェクト次第で、こういった状況は変わってきます。

たまたま最初に参画したプロジェクトがよかったというだけであって、次回以降のプロジェクトではどうなるか分かりません。

少なくとも現状は、良い環境での仕事ができている、ということです。

3. プログラムは論理的。間違っているのは結局自分。

初心者の頃は、エラーが解決できないことが、なんだか見えない敵と戦っているような感覚がしていて、大変に感じていたことを覚えています。

それでも続けていて最近考えが変わってきて、先日こんなツイートをしました。

プログラムは論理的です。エラーが発生して動かないのは、結局自分が書いたコードが原因。そしてそのエラーを解決できないのは「問題の特定→原因を探る→解決策を講じる」の流れをしっかり追えていないからです。いきなり解決案ばかり試すのではなくて、まずはしっかり問題の所在と原因を探りましょう

コードが動かない原因は基本的に自分の書き方によるものです。

「見えない敵と戦っているような感覚」を覚えていたのは、自分がエラーの原因をそこまで探ることなく、適当に解決策を打ち続けていたところにあります。

それよりも、しっかり現状を把握して問題の所在と原因を探るところにフォーカスするようになったら、そういった大変さを感じることが一気に減りました。

将来キツくならないために“イマ“できること

もしあなたが、これからプログラミング未経験でエンジニアとして就職しようと考えているなら、本記事で紹介した3つの”ツラいこと”のうちいずれかを経験することになる可能性は高いでしょう。

就職して最初の仕事で実装できるかどうかということは運の要素も大きいとは思いますが、それ以外の2つに関しては、プログラミング未経験者であろうと、そんな状況を変えることができます。

それが、今のうちに「知識や経験を蓄える」ということです。

・HTML/CSSの本を買って読んでみる。
・プログラミングについてググってみる。
・IT系の資格を何か取ってみる。
・自分でアプリやサービスを作ってみる。

例えばこんな感じです。本当に些細なことでも良いと思うので、早いうちに何か行動してみることをオススメします。

プログラミングもブログも、始めた当初は「なんて非効率なことをしてたんだ」と思うことも多々あります。「もっといいやり方はあるのに」とは思いますがそれでも、絶対に何もやらないよりはマシです。とにかく動いてみて、少し経ったら振り返る。こんなことでも1年間続けられたら普通にすごいと思う。

ぜひ未来の自分のために今日から動き出しましょう。