【30代未経験】Webエンジニア転身までの道のり

プログラミング

はじめに

30代未経験からWebエンジニアへの転職に成功したKAZです。

今回は、自分の挑戦記録も兼ねて、エンジニア転身までの軌跡を綴りたいと思います。

未経験からのエンジニア転職を目指されている方(特に30代の方)に少しでも参考になれば幸いです。

ちなみに筆者の略歴は下記の通りです。

  • 大学での研究は、プログラミング(Fortran90)でシミュレーション解析(=プログラミング経験は少し有り)
  • 大学院修了後、新卒で大手電機メーカの知財部門に配属され、9年間、社内弁理士として知財実務を経験
  • 2020年3月末で退職し、プログラミングスクールも活用しながらプログラミングを勉強
  • 自社開発系企業のWebエンジニアに転職予定

エンジニアを目指したきっかけ

前職での知財部門の仕事は楽しかったのですが、企業知財部門の直接的な貢献先は主に社内の事業部や研究所なので、社会(社外のお客様)に対して、より直接的に貢献したいという思いを徐々に抱くようになりました。

またちょうどその頃、プログラミングスクールを経営されているマコなり社長のYouTubeを見るようになったことも影響して、Webサービス開発を通じて世の中の役に立ちたいと思うとともに、自分の市場価値も高めるため、今後も需要が高そうなエンジニアへの転身を決意しました。

市場価値を高めるという観点では、北野唯我さんの「転職の思考法」という本が非常に参考になりました(この本が最後に背中を押してくれました)。

未経験からエンジニア転職までの過程

エンジニア転身への挑戦を決意してから転職先が決まるまでの過程を書いていきたいと思いますが、大まかな流れは下記の通りです。

  1. Progate(2020年1月〜2月)
  2. TechAcademy(2020年3月〜5月)
  3. 独学(2020年6月〜)
  4. 転職活動(2020年7月)

Progate(2020年1月〜2月)

私も御多分に漏れず、まずはProgateで勉強を開始しました。

Progateでは、Webアプリ開発に必要(最低限)な知識を順序良く学べる「Web開発パス(Ruby on Rails)」というコースを主に学習しました。

このコースでは、HTML・CSSというWebページの見た目を作る言語の学習からスタートして、プログラミング言語のRuby、Rubyのフレームワーク(Webアプリの作成等を効率化するもの)であるRuby on Railsを順番に学ぶことで、Webアプリの仕組みが掴めます。

Web開発パスの1番の難所は、Ruby on Railsだと思います(レッスン数もRailsが飛び抜けて多いです)。

色んなディレクトリのファイルを行ったり来たりして、私も最初は自分が何をしているのか、すぐには理解できませんでしたが、とりあえず最後までやり切りましょう。

その他に、プログラマーといえば黒い画面でお馴染みのターミナル(端末)でのコマンド操作や、ソースコード管理に必須のGitについてもProgateで勉強しました。

これら全ての学習が完了すると、Progateレベルは150前後になっていると思います。

ちなみに、Progateはグルグル周回するべきではないと良く言われますが、私も賛成で、実際Progateは1周しかしていません。

周回は程々に、早めにスクールのカリキュラムやRailsチュートリアルに移るのが良いと思います。

TechAcademy(2020年3月〜5月)

30代半ばで年齢的に時間も無いことから、プログラミングスクールも受講しました。

当初はTECH CAMPを考えていたのですが、ちょうどコロナの状況が悪化の一途を辿っていた時期ということもあって、オンライン専門でリーズナブルなTechAcademyを受講することにしました。

TechAcademyでは、Webアプリケーションコース(主な学習内容:HTML/CSS/Ruby/Ruby on Rails)とフロントエンドコース(主な学習内容:HTML/CSS/JavaScript/jQuery/firebase/Vue.js)の2コース(各4週間の合計8週間)を受講しました。

気になるお値段は、早割もついて25万円程度でした。

カリキュラムの内容やボリュームなども違うので厳密な比較にはなりませんが、参考までに、TECH CAMPは、平日コースが約70万円、夜間・休日コースが約90万円です(2020年7月時点)。

TechAcademyの正式な受講期間(=現役エンジニアによる課題添削やメンタリングが受けられる期間)は、4月からだったのですが、カリキュラム自体は受講期間前から閲覧可能だったので、Progateで一通りの学習が終わった後、早速予習に取り掛かりました。

TechAcademyのカリキュラムの最終課題はオリジナルサービスの作成なので、ここで作成したアプリを転職活動用ポートフォリオ のベースにしました。

スクールを受講した感想

受講して良かったか否かで言えば、良かったです。

現役エンジニアの方とのメンタリングが、週2回(各30分)あるので、勉強の方向性や技術に関する詳細な質問もできて有意義でした。

ただ、もう一度最初からプログラミングを勉強するなら、スクールは通わないと思います。

というのも、Udemyをはじめ、プログラミングの学習材料はネット上に豊富にありますし、書籍も色々出ています。

特にRailsに関しては、Railsチュートリアルをはじめ、日本語の教材もたっぷりありますし、スクールの費用も安くはないので、「スクールに絶対に行った方が良い」とは正直言えないです。

さらに、未経験からのエンジニア転身のハードルは高くなっており、Railsでオリジナルアプリを作れるのは当然として、テストコードがしっかり書けていることや、AWS/Docker/CircleCIといったインフラ面の知識も求められる傾向にありますが、TechAcademyの内容はそこまでカバーしていません(少なくとも私が受講したときは)。

ちなみに難易度的には、

 Progate(Web開発パス)< TechAcademy(Webアプリケーションコース)< Railsチュートリアル

という感じですので、ProgateからRailsチュートリアルにいきなり行くのは、ちょっとハードルが高いかもしれません。

ProgateのWeb開発パスを修了した後は、Rubyをもう少し深く勉強してから、Railsチュートリアルに挑戦するのが良いと思います。

Ruby on Railsは、Rubyがベースになっているため、Railsアプリの作成にあたってRuby自体の理解を深めることは必要不可欠です(例えば、「プロを目指す人のためのRuby入門」)。

また、「現場で使える Ruby on Rails 5 速習実践ガイド」という本も非常にお勧めですので、Railsチュートリアルの前に、または並行して読み進めるのが良いと思います。

Railsのテストコードとして最も良く使われているRSpecの書き方や、チーム開発におけるGit・GitHubの使い方等についても解説してありますので一読の価値ありです。

独学(2020年6月〜)

前述した通り、未経験から自社開発系(=人気)企業に転職したい場合、インフラ面の知識もあって当たり前のような状況になりつつあります。

なお、こういった未経験からエンジニア転身に関する情報は、勝又健太さんのYouTubeチャンネルやTwitterが非常に参考になります。

私のインフラ面での学習順序は、下記の通りです。

  1. AWS(Amazon Web Services)
  2. Docker
  3. CircleCI

AWS(Amazon Web Services)

AWSとは、Amazonの提供するクラウドサービスです。

AWS以外にもGoogleのGCPやMicroSoftのAzureが有名ですが、AWSを使っている企業が最も多いようなので、AWSを勉強しておくのが良いと思います。

Railsで作ったオリジナルアプリをAWSにデプロイすることを目標に、まずはAWSの基本を学ぶため、書籍を2冊読みました(「ゼロからわかるAmazon Web Services 超入門」「Amazon Web Services 基礎からのネットワーク&サーバー構築」)。

そのほかにも、くろかわこうへいさんのYouTubeチャンネルも非常に勉強になります(後述するDockerの動画もあります)。最近、開設されたAWS専用チャンネルもあります。

そして、実際にオリジナルアプリのAWSへのデプロイについては、ネットで”AWS Rails”などと検索すれば色々情報が出てきますので、それらを参考になんとかやり切りました。

AWSを触る際に、Linuxコマンドもある程度、理解しておいた方が良いので、この時点でLinuxについても勉強しておくことをお勧めします(例えば、「新しいLinuxの教科書」)。

Docker

Dockerとは、コンテナ仮想化技術の代表的なソフトウェアです。

1台のPCに複数のシステムが同居するときに、それぞれが影響を及ぼしあわないように各システムの実行環境を独立させたり、チーム開発において開発者間の実行環境の差異を吸収してくれたりする非常に便利なソフトで、Dockerを導入している企業は非常に多いです。

勉強方法については、Dockerについても基本を押さえるため、まず書籍を2冊読ました(「Docker/Kubernetes 実践コンテナ開発入門」と「さわって学ぶクラウドインフラ docker 基礎からのコンテナ構築」)。

Dockerの公式チュートリアルはもちろんですが、他にも入門Dockerというサイトも非常に参考になりました。

そして、RailsアプリをDocker化するにあたっては、これも”Rails Docker”で検索すると色々情報が出てきますので、それらを参考にやり切りました。

コンテナ化できたら、そのコンテナをAWSにデプロイするのですが、私はAWSのコンテナ関連サービスであるECS(Elastic Container Service)とECR(Elastic Container Registry)を使いました。

ECSとECRについては、くろかわこうへいさんのYouTubeチャンネルで複数回のシリーズで詳しく解説されており、そちらが非常に参考になりました。

ちなみに、最初はMacbook Airでコードを書いていましたが、Dockerを導入するとAirでは重くなってしまうので、高い買い物でしたが自分への投資だと思って、こちらのMacbook Proに買い換えました(非常に満足しています)。

CircleCI

CircleCIとは、SaaS型のCI/CD(Continuous Integration/Continuous Delivery)サービスです。

ざっくり言うと、GitHubと連携させておけば、ソースコード をGitHubにプッシュするだけで、自動でアプリケーションをビルドして、テストを走らせて、デプロイまでしてくれる非常に便利なソフトウェアです。

CircleCIについては、現時点(2020年7月時点)でこれといった書籍は見当たらないので、ネットで検索して色々調べました。

一番参考になるのは、やはり公式のチュートリアルです。英語版の方が最新情報なので、英語版もチェックすることをお勧めします。

その他(Git/GitHub、SQLなど)

その他にも勉強しておくべきことはあります。

特にソースコード管理ツールであるGitとGitHubは、チーム開発の現場に入って迷惑をかけないように、ある程度は使えるようになっておくべきだと思います。

ブランチを切ってプルリクエストを作成するのはもちろん、わざとコンフリクトを起こして解消したり、git rebaseやgit mergeの違い等を体感しておくことを大いにお勧めします。

また、RailsだとActive Recordがよしなにデータベースをいじってくれるので疎かになりがちですが、SQLについても一通り勉強しておくべきと思います(例えば、「SQL ゼロからはじめるデータベース操作」)。

転職活動(2020年7月)

私の転職活動の概要は下記の通りです。

  • 企業ホームページの採用欄から応募 2件 → 2件ともお祈り(不採用)
  • Wantedly経由で「今すぐ一緒に働きたい」で応募 5件 → 5件ともお返事無し
  • Wantedly経由でスカウト 2件 → 最初にお声がけ頂いた企業を選択

転職活動をして感じたのは、自分の経歴にどれだけ興味を持ってもらえるかが鍵になるということです。

エンジニアとして必要最低限の技術力を有していることが大前提だとは思いますが、実際にスカウトを頂いた2社とも、私の技術力というよりも、私の経歴に興味を持ったためスカウトした、とのことでした。

採用側の立場を考えれば、30代の応募者の経歴やそれに紐づくスキルに興味が持てなければ、20代の若い方々を採用したいと思うのは、当然のことかと思います。

もちろん、未経験でも実務経験者並みの技術力がある場合は別かと思いますが、スクールや独学の数ヶ月でそこまでの技術力を身に付けるのは、至難の業だと思います。

最後に

エンジニア転身の挑戦を振り返って思うことは、勉強しなければならないことが予想以上に多く、毎日勉強漬けの半年でした。

エンジニアとしてスタートラインに立てただけで、これからも勉強の日々は続きますし、勉強すればするほど自分の知識不足を感じますが、出来ることが増えてくると、どんどん楽しくなってきます。

これからも、弁理士×エンジニアの観点で色々情報発信できればと思います。

長文を最後までお読みいただき、ありがとうございました。

未経験からエンジニアへの転身を目指されている方に少しでも参考になれば幸甚です。