29歳実務未経験からエンジニア転職を成功させるまでに取り組んだことや、その反省点まとめ
こんにちは、あかしぃです。
自分は29歳、実務未経験という状況から、都内の自社開発Web系企業にエンジニアとして転職しました。
最近はエンジニア転職がブームになっているような気がして、自分と同じような環境からエンジニアを目指している人も多いように感じます。
ただ、どうやって転職すればいいのか、具体的なイメージが湧かない・・・という人も多いのではないでしょうか。
そこで、自分がエンジニア転職に成功するまでに行ったことを時系列順に、そしてストーリー的にまとめてみました。
利用したサービスなども列挙しているので、プログラミング学習や転職活動時の参考になれば幸いです。
転職までに行ったこと一覧
プログラミングの勉強を始めて、転職するまでにかかった期間はトータルで1年ほど。
ただ、ブランク期間も長かったので、真面目に勉強、転職活動に取り組んだ期間は半年ほどだと思います。
また、転職するまで自分はフリーランス(アフィリエイター)として働いており、1日の時間を自由にデザインすることができたので、集中的にプログラミングを勉強する時間を確保できたという背景もあります。
それでも1日あたりに平均すると3時間程度だったのではないかな・・・といった感じですね。
転職までに行ったことを一覧にすると以下のようになります。
・Progateでプログラミング学習をスタート(2ヶ月)
・職業訓練に通う(2ヶ月)
・ブランク期間(半年)
・rails チュートリアルに取り組み始める(1ヶ月)
・オリジナルアプリ制作(1ヶ月)
・転職活動(2ヶ月)
それぞれについて詳しく解説していきますね。
Progateでプログラミング学習をスタート(2ヶ月)
プログラミングに興味を持ち、Progateでプログラミング学習をスタートしました。取り組んだのは主に以下のコース。
・HTML・CSS
・Ruby・Rails
・JavaScript
・Git
・SQL
コース数が充実しているRubyを重点的に学習しましたが、結果的にこれは正解でした。
その理由として、都内のエンジニア求人はRubyのものが非常に多いためです(続いてPHP)。
また、後ほどで説明する「rails チュートリアル」の恩恵を最大に受けれた、というのもRuby学習の大きなメリットでした。
ProgateではRubyやPHPといった、プログラミング言語の勉強を集中的に行う人が多いと思いますが、アドバイスとしてGitやSQLにも取り組んでおくことをおすすめします。
Webアプリ作成にはこれらの知識は必須であり、その概念を知っているかどうかで理解度が大きく変わってくるからです。
現時点では「イマイチ使い方がイメージできない・・・」となるかもしれませんが、後々活きてくるので2周ほどやっておくといいですよ。
職業訓練に通う(2ヶ月)
2ヶ月ほどプログラミング学習で、独学に限界を感じ、その結果職業訓練に申し込みをしました。
職業訓練とはハローワークが主催している専門学校のようなもので、無料で半年ほど専門技能の教育を受けることができ、さらにその後、関連の仕事を斡旋してくれる、というものです。
ただ、結果的に職業訓練に通ったのは失敗でした。というのも、クラス単位で授業を行うのですが、授業の進度が理解が遅い人基準になり、退屈な時間がほとんどだったためです。
また、使用言語がJavaオンリー、そして斡旋先もSESがメインだった、というのも、自分が職業訓練を早々に退学した大きな理由です。
自分の希望はWebエンジニアであり、今学ぶべき言語はJavaではない、ということと、さらに斡旋先がSESであるなら、もはや職業訓練にいるメリットはないなと判断しました。
エンジニア転職を考えている人は、自分がどんなエンジニアになりたいのかをある程度イメージしておくことをおすすめします。その理由として、学ぶべき言語や技術が大きく異なるためです。
たとえばWeb系のサーバーサイドエンジニアを目指すならRubyやPHPを学ぶべきでしょうし、フロントエンジニアならJavaScriptとその周辺技術に注力すべきでしょう。
AndroidアプリならJava、またはKotlin、そしてiOSエンジニアならSwiftが候補になります。
自分の目指すエンジニア像がはっきりしていないと、現時点で学ぶ必要のない言語まで学習してしまい、転職が遅くなってしまう可能性があります。
ブランク期間(半年)
職業訓練をやめると同時に、自分の中のプログラミング熱が冷めてしまい、結果的に半年ほどプログラミングから離れていました。
ちなみに、ちょうどこの時期に仮想通貨が大きく盛り上がった、というのも理由の一つです。
Rails チュートリアルに取り組み始める(1ヶ月)
半年ほどブランク期間があったあと、再びエンジニア転職について真面目に考えるようになり、いろいろ調べた結果、未経験から転職するにはポートフォリオが必要だ、という結論に至りました。
ただ、大きなネックだったのは、「Webアプリの作り方」が全くわからかったこと。
これまでのプログラミング学習で、Rubyの文法や構文はある程度理解できていたものの、それを使ってどのようにWebアプリを作ればいいのか、ということをが全くわからなかったんです。
そんなときに知ったのが「Rails チュートリアル」。Rails チュートリアルはWebアプリの作り方を詳しく教えてくれる教材であり、RubyのフレームワークであるRailsを使うので、自分の状況にドンピシャな教材でした。
ポートフォリオを作りたいけど、具体的な作り方がわからない・・・という人には全力でおすすめしたい教材です。Rails チュートリアルはインターネットに公開されており、全て無料で閲覧できます。
ただ、Rails チュートリアルは非常に有用な教材であるものの、学習コストも相当に高いことに注意が必要です。
Ruby、Railsはもちろん、Git、SQL、JavaScript、Bootstrapといった様々な技術の知識が必要になり、そう簡単にサクサク進めるようなものではありません(サクサク進めるなら自力でWebアプリを作れるはず)。
ボリュームもかなり多いので、学習にはある程度の期間を見積もっておきましょう。
オリジナルアプリ開発(1ヶ月)
1日8時間ほどRails チュートリアルを学習し、3周ほどした後には、オリジナルアプリを自力で開発する下地ができたと実感できたので、オリジナルアプリ開発に取り組みはじめました。
Rails チュートリアルの非常に便利な点は、学んだことをほんの少し応用するだけでオリジナルアプリを開発できることです。
自分はオリジナルアプリとして「ブログろぐ」というスケジュール管理SNSを開発しましたが、大まかな枠組みはRails チュートリアルで制作するTwitterのクローンアプリとほぼ変わりません。
なので、開発コストを非常に小さく抑えられ、挫折するリスクをかなり小さくすることが可能です。それでいて、完全なオリジナルアプリを制作できるので、本当にRails チュートリアルにはお世話になりっぱなし・・・といった感じでした。
初めてのオリジナルアプリ開発時に意識すべきなのは、「できるだけシンプルな機能をイメージし、まずはそれを実装する」ということです。
いきなり大風呂敷を広げてしまうと、ほぼ100%挫折します。それよりは、まずコア機能を開発し、開発中に閃いたアイデアを順次実装していく・・・といったやり方のほうが、開発コストも精神的負担も小さいのでおすすめです。
また、自分が欲しいアプリを作るようにすると、開発のモチベーションもアップして、完成まで挫けずに続けられるようになります。
転職活動をする(2ヶ月)
「ブログろぐ」を完成、リリースしたあとは、それをポートフォリオとして転職活動に注力しました。
自分の目的は「エンジニアに転職すること」だったので、ダラダラと勉強、開発をせずに転職活動に集中しました。これは我ながら英断だったと思います笑
といっても、転職活動だけに時間を全て奪われるわけではないので、合間をぬってオリジナルアプリを開発していました。
また、ネットワークやサーバーについての勉強を始めたのもこの時期だったと思います。以下のページで紹介している本を読み、Webについての知識、理解を深めていきました。
肝心の転職活動の方法ですが、利用できる転職サービスにはほぼ全て登録し、活用していました。派遣系のサービスにもいくつか登録していましたね。
自分は29歳ということもあり、年齢的には決して有利ではありません(むしろ不利かも?)。また、とにかく実務未経験というレッテルを取り除くのが先決だと思っていました。
なので、できるだけ多くのチャンスに触れるべきという考えのもと、片っ端から転職サービスに登録していた格好です。結果的には、モダンな環境であるだろうWeb系の現場の派遣案件を2つゲットしています。
ただ、入社を決めた会社に内定をもらったきっかけはそれらのエージェント型の転職サービスではなく、「wantedly」という転職SNSを謳っているサービスでした。
wantedlyには各企業が直接求人を出しており、ユーザーはその求人に直接応募することができます。そしてwantedlyのメリットは、求人を出している企業の多くが「Web系の自社開発企業」という点。
おそらく多くの人は自社開発企業で働きたい!と思っているでしょうから(自分もそうでした)、wantedlyを使わない理由はありません。基本無料ですし。
またwantedly経由の求人は、まずはカジュアルな面談から、というスタンスなので、面談まで進める可能性が比較的高いです(ポートフォリオがある前提です)。
自分は30社ほどに応募し、20社弱と面談しました。面談まで進めれば自分の強みや魅力を直接アピールできるので、内定に繋がりやすいのではないかと考えています。
それでも内定をもらえたのは2社だけで、18社からはお断りの連絡をもらいました。転職を経験して大切だと思ったことは、お祈りメールをもらっても挫けないメンタルが重要、ということですね笑
あと、wantedlyの求人には「〇〇の言語の開発経験1年以上」というものが多いですが、自分はそういった求人にもガンガン応募していました。
「実務経験」じゃなくて「開発経験」なら1年程度(ブランク期間あるけど)あるから大丈夫でしょ!という謎の根拠&強気の応募でしたが、なんだかんだ面談まで進めることも多かったので、条件に合致しないからダメだ・・・と諦めるのはもったいないかもしれません。
さらにもう一つですが、バックエンド側の言語(RubyやPHP)だけでなく、フロント系の技術も勉強しておくと面談時に好印象を与えられます(Vue、Reactなど)。
Web系の自社開発企業では、一人のエンジニアがバックエンドもフロントも対応することが普通なので、それへの適応性をアピールできます。
ポートフォリオがないと門前払いになることが多いので、今日からいきなりチャレンジ!というのは難しいかもしれませんが、準備して挑戦する価値は十分にあると思います。
転職するまでの活動においての反省点
最終的には自分の希望する環境の会社に入社できたので結果オーライですが、反省点が全くないわけではありません。いくつか挙げると、
・言語の特徴や業界について全く知らなかったので、必要ない言語についても勉強してしまった
・勉強>開発というバランスでプログラミング学習をしていたので、ポートフォリオ作成に時間がかかった
などです。
まず一つ目ですが、自分が勉強すべき言語を早めに決めて、まずはそれにフルコミットしたほうがいいです。
自分はそれを怠ったために、Java、PHP、Ruby、Python、C#といった様々な言語を中途半端に勉強してしまい、時間を無駄にしてしまった感があります。
もちろん言語ごとの特徴を知ることで、横断的に活かせるような知識も身につきましたが、最初はどれか一つの言語に絞って学習するのがおすすめです。
そしてその言語を決定するには、前述した「自分はどういった業務をしたいのか」のイメージが固まっている必要があります。
バックエンドかフロントか、はたまたアプリか。自分の関わりたい分野をイメージしてプログラミング学習に取り組むことをおすすめします。
次に2つ目の反省点ですが、要は「プログラミング学習そのものが目的化」してしまった、というのものです。
自分の目標はエンジニアに転職することでした。なので、「プログラミングの勉強」はあくまで手段であり、目標を達成するなら「オリジナルアプリを開発」することを意識しなければならなかったはずです。
ただ、オリジナルアプリを作るのは心理的なハードルが高く、それよりはプログラミング学習サービスや書籍などを写経し、プログラミングの勉強をしたほうが気持ち的に楽です。
そしていずれ、「今日もプログラミングを勉強した!頑張った!」となってしまい、知らない間にエンジニアに転職するという本来の目的から遠ざかってしまっていたんです。
残念ながら、プログラミングの勉強そのものが企業から評価されることはあまりありません。というのも、「勉強しました!」だけなら口でなんとでも言えるからです。
本当にやる気があることを証明するには、実績、つまり成果物を持っていくしかありません。このことから目を逸らしてしまうと、おそらくいつまで経ってもWeb系エンジニアにはなれないんじゃないかな・・・と思います。
プログラミング学習そのものが目的になってしまっていないか、今一度確認してみるといいかもしれません。
まとめ
実はここまででまとめたこと以外にも、いろいろなことをやってきました(プログラミングスクールに入会して、すぐに辞めた話とか)。
ただ、メインとなる出来事をストーリーにすると、おおよそこんな流れになると思います。
最後にまとめると、Web系エンジニアとして転職したいなら、まずはポートフォリオを作るべき、ということです。
ポートフォリオの有無によって転職活動の結果が180度変わるといっても過言ではないと思うので、ある程度プログラミングの基礎を理解したら、なるべく早くにオリジナルアプリ開発に着手しましょう。
あとは根気よく転職活動を続けていれば、きっとあなたに魅力を感じて誘ってくれる企業が現れるはずです。