異業種未経験の僕が、3ヶ月で自社開発系Webエンジニアになりました! 活動記録とサービス制作まとめ
目次
1. はじめに (自己紹介と本記事で伝えたいこと)
2. なぜ営業マンからWebエンジニアに?
3. 目標設定と活動成果・どのくらいお金と時間がかかった?
4. オンライン学習サービス
5. プログラミングスクール受講
6. Webサービス制作 (どんなサービスを作ればOK?ポートフォリオも公開)
7. さいごに (やっておいてよかったこと)
1. はじめに
1-1. 自己紹介
皆さん、はじめまして。
mas(ます)と申します!
<経歴>
〜2016/3 関西の文系私大 卒業
2016/4〜 電機メーカー/海外営業 入社
〜2018/6 電機メーカー/海外営業 退職
2018/10〜 自社サービス系企業/Webエンジニア(Ruby on Rails)入社
現在は、東京のグルメ系ITベンチャーのWebエンジニアとして、フレームワークRuby on Railsを使用したWebサービスの開発をしております。
ちなみに、学生時代は、海外へ憧れをもっており、セブ島へ留学したり、バックパックを背負ってアジア周遊しつつ、現地の人と交流をして青春を謳歌してました!
1-2. 記事を書くきっかけ・理由
僕が未経験から自社サービス系企業でのWebエンジニア転職を決意したとき、ぶっちゃけ分からないことばかりでした。
たとえば、以下のとおりです。
・HTMLってなに? どうやってプログラミングを勉強すればいいの?
・退職したばかりでお金ない。。転職までどのくらいお金かかるの??
・スクールや転職エージェントって沢山あるけど、どうやって選ぶの??
・成果物が転職に必要ってマジ? どんなもの作ればいいの?
・会社ってどうやって選ぶの? IT企業って面接で何を聞かれるの??
・てか、そもそも未経験からエンジニア転職できるの?? 泣泣
また、転職活動後、Twitterにて多くの人から転職相談のDMを頂いたことから、僕と同じように悩んでいる方が非常に多くいることに気づきました。
上記のような情報が、ネット上にまだまだ少ないことに強い問題意識を抱き、「一人でも多くの人が、希望するエンジニア転職を実現して欲しい」という想いで、内定に至るまでの活動を僕の実体験ベースでまとめることにしました!
1-3. 本記事の内容
本記事において、以下の内容をできるだけ具体的にまとめました。
・エンジニア転職までの目標設定および成果、トータルの費用・時間
・プログラミング学習・スクール受講、Webサービス制作の内容
・絶対やっておいてよかったこと、etc
本記事は、「全体活動の概略と学習面の具体的な内容」となります。
転職活動の具体的な内容については、別記事で公開する予定です。
現在執筆中なので、しばしお待ちを!
2. なぜ営業マンからWebエンジニアに?
大きく分けると、2つあります。
中途採用の面談でもないので、本音ベースで話します!
興味が無い方はすっ飛ばしてください。
2-1. 「好き」を仕事にしたいから
自分が好きだったり興味のあるサービスの開発に携われると、仕事が趣味の延長になって、自ずとその道のプロフェッショナルになり、結果として生きがいに繋がると考えるからです。
ちなみに、わたしはグルメやマッチング、旅行・インバウンドに関したWebサービスに非常に興味を持っております。実際に運良くこれらの分野のWeb系企業へ転職しました。
また、もう一つ大切にしているのは、「好き」な人と一緒に働けることです。これは好きな人と一緒に働けると、仕事へのモチベーションが上がるし、成果もより出やすいと考えるからです。
僕の場合だと、ポジティブで向上心があり、仲間をリスペクトできる人と一緒に働きたいと思います。特にWeb業界では、新たなことを学び続ける必要があり、その点で向上心がある人が多いと思っていました。
・好きな仕事ができると、自分の強み・生きがいになりやすい
・好きな人と働くと、働くモチベーションが上がり、成果も出しやすい
2-2. 働き方に多様性があるから
あらゆる制約に縛られることなく、時間・場所・環境などの自分の働き方を主体的に選択できると、プライベートを充実させやすいと考えるからです。
実際に、Web系企業のエンジニア職だと、以下のような環境の会社が多いと思います。
・フレックスタイム制度あり
・必要に応じてリモートワークOK
・イヤホンで音楽OK
・私服OK
・副業OK
このような環境があるだけで、将来子育て・介護に柔軟に対応できたり、働く時間をシフトさせて趣味を楽しんだり、副業で新しい収入源を作ることができます。
僕の場合だと、将来働きながら家事や子育てにも力を入れたいと思っているので、必要に応じて働く時間と場所を柔軟に選択できるのは極めて重要なことだと思っています。
・働き方に多様性があると、ただ働きやすいだけでなく、人生の選択に主体性が生まれ、プライベートが充実させやすい。
3. 目標設定と活動成果・どのくらいお金と時間がかかった?
3-1. 目標設定
自らが希望するエンジニア転職を実現するために、
できるだけ高い目標とその期限の設定は絶対に必要だと考えてました。
そこで、Webエンジニア転職において以下の目標を設定しました。
「未経験から3ヶ月で自社開発系(グルメやマッチング、旅行系)へ転職」
この目標を設定した背景・理由は以下のとおりです。
なぜ3ヶ月間?
→ 未経験からの転職とはいえ、会社選びに妥協はしたくないという前提のもと、プログラミング学習の開始からポートフォリオ作り、内定獲得までの期間は、少なくとも3ヶ月間と算出したからです。
なぜ自社開発?
→ ただ仕様に沿って開発するのではなく、より多くの人にサービスを使ってもらうため、開発メンバーとPDCAを回しながら、自分たちのサービスを開発・改善する仕事をしたかったからです。
3-2. 活動成果
結果として、第一志望群のITベンチャー(自社開発系)でのWebエンジニアとして10月1日より入社することが決まりました。
ちなみに、転職活動時は、条件にかかわらず1社でも自社開発系企業から内定を頂けたら御の字かなと考えてたので、その点で、今回は自分の期待以上の成果を出すことができました。
3-3. 費用の内訳
Progate 980円×3ヶ月 計2,940円
Dotinstall 980円×1ヶ月 計980円
Udemy 1,200円×3動画 計3,600円
TechAcademy PHP/Laravelコース (8週間) 計170,000円
書籍 3冊 計8,000円
交通費など雑費 計15,000円
合計 約200,520円
費用でのポイントは、やはりプログラミングスクールです。
2ヶ月という期間でも20〜40万円の受講料がかかるスクールも多い中、約17万円のスクール・コースを受講し、結果的に転職に必要なポートフフォリオを短期間で準備できたことは、非常に大きかったです。
詳細は次章以降でお話します。
3-4. 全体スケジュール
プログラミング学習と転職活動、SNS等の活動に分けて、スケジュールとしてまとめました。
ここでのポイントは、当初目標で決めていた3ヶ月という期間の中で、逆算してタスク(やるべきこと)を設定できた点です。
大まかな流れは以下のとおりです。
・プログラミング学習
オンラインサービスで基礎学習 → スクールにて開発手法やフレームワークへの理解 → Webサービス制作・公開
・転職活動
企業研究・勉強会などでの繋がり → 面談書類作成・Twitterでの発信 → 転職活動 → 内定獲得・入社準備
このような感じで、設定した期限に沿って
非常に効率的にゴールに向かって突き進むことができました。
4. オンライン学習サービス
4-1. 使用した学習ツール
・Progate 有料コース3ヶ月
・Dotinstall 有料コース1ヶ月
・Udemy 有料動画2本
・書籍 2冊
・TechAcademy PHP/Laravelコース ( 8週間 )
以降、基礎学習とスクール受講に分けて、具体的な学習内容を紹介しております。
4-2. 基礎学習
学習内容 ( オンライン学習サービス )
Progate:HTML、jQuery、PHP、Command、Git、SQL
Dotinstall :Laravel、Atom、Vim、Bootstrap
Udemy :WordPress、MySQL、API、ローカル開発環境の構築
学習内容 ( 書籍 )
「いきなりはじめるPHP~ワクワク・ドキドキの入門教室~」: PHP超基礎
「よくわかるPHPの教科書 【PHP7対応版】」:PHP文法辞典
基礎学習において大切なのは、
「Webサービス制作に最低限必要な知識を習得すること」でした。
僕の学習の目的は、あくまでポートフォリオの作成だったので、あれこれ手を出し過ぎずに、必要だと判断した知識だけ集中して習得しました。
具体的には、メインはProgateを2周ずつ、そしてサブとしてDotinstallやUdemyなどを使って、各フレームワークの仕組みやDBなどを学びました。
1ヶ月半ほどで終わりました。
5. プログラミングスクール受講
5-1. スクール受講の目的
スクール受講の概要は以下の通りです。
・スクール受講の目的
約1ヶ月間の中で、転職に必要なWebサービスを作成・公開するのに、
経験豊富なメンターのサポートが必須と感じたため
・受講スクール
TechAcademy PHP/Laravelコース ( 8週間 )
・主な学習内容
PHP/Laravel、Cloud9、Heroku、git/GitHub、Webサービス制作
現在は無料のオンライン学習サービスや書籍が豊富にあるにもかかわらず、
わざわざお金と時間をかけてスクールを受講する理由は、ただ一つでした。
それは、超効率的に転職活動でのポートフォリオを仕上げたかったからです。
エンジニア転職にポートフォリオが必須であることは理解していましたが、
前章での基礎学習を進めている時点で、僕は既にこう悟ってました。
「まだプログラミングを始めたばかりなのに、1〜2ヶ月で人に見せれるレベルのWebサービスをたった一人で作成するなんて無理ゲーだ。。」
そこで、メンターのサポートがあるとどうなるかを具体的に想像してみました。
・初心者だと解決するのに半日かかるエラー
→ メンターだと数分で解決
・初心者だと機能拡張するのに実装方法が不明、そのまま迷宮入り
→ メンターだと最初から正しい調べ方・手法を指導
慎重に検討した結果、今回はメンターと二人三脚で正しい勉強方法を学びながら、ポートフォリオ制作を効率的に進めることを決断しました。
5-2. スクール選びの基準
今回の受講の目的を踏まえて、
スクール選びでは以下の基準で検討しました。
1. メンターの質・サポート体制
2. オリジナルサービスの作成が可能
3. 受講期間・予算
1つ目のメンターの質・サポート体制に関して、
現役エンジニアがメンターをしているスクールを探しました。
また、一日中勉強をする前提だったので、困った時にすぐに相談できるサポート体制があるスクールを探しました。
2つ目のオリジナルサービスの作成が可能に関して、
これはシンプルにカリキュラムとしてメンターのサポート受けながら、実践的なWebサービス作りができるスクールを探しました。
3つ目の受講期間・予算に関して、
これは自分の受講期間( 1~2ヶ月間 )と予算( ~30万円 )に合ったスクールを探しました。
上記3点を参考にして、
最終的にオンラインスクールでTechAcademy PHP/Laravelコース ( 8週間 )を受講することを決めました。
ちなみに、転職支援つきプログラミングスクールもたくさんありましたが、
仕事や働く環境は自分の意志で選びたかったので、一切候補に入れませんでした。
6. Webサービス制作 (どんなサービスを作ればOK?ポートフォリオも公開)
5-1. Webサービス制作の前提
まず大切な前提として、今回の目的は、自社サービス系企業のWebエンジニアとして内定を獲得することであり、Webサービス制作は、それ自体が目的ではなく、あくまで手段の一つでした。
それを踏まえて、どんなサービスを作るべきかを整理しました。
作るべきもの
・エンジニアとしての適性を企業へアピール出来るサービス
作らなくてもいいもの
・自分が興味本位で作ってみたいサービス
・専門的な技術を導入しているサービス
・SNSでバズりそうなサービス
僕自身モノづくりが好きなので、どんなサービスを作ろうか想像するだけでワクワクしましたが、その一方「エンジニア転職を成功させるという本質を見失うな!」と自分に言い聞かせておりました。。笑
*この考えは、時間と予算が限られていて、かつプログラミング経験が浅かった僕自身の状況ゆえであり、そういった制約がなければ、一から好きなサービスやバズるサービス作るのは面白いし大いにアリだと思います!!
5-2. どんなWebサービス制作をするのか
先程述べた「エンジニアとしての適性を会社へアピール出来るサービス」ですが、個人的には以下の機能が実装済みであることを条件としました。
・記事投稿機能
・記事一覧・詳細表示機能
・管理ユーザー登録・ログイン機能
・DBテーブルのリレーション管理
・画像ファイルのアップロード機能
・ページネーション機能
これは、現役エンジニアである勝又健太さんのYoutube動画で、サーバーサイドエンジニアとして最低限実装しておいた方が良い機能として紹介されているものの一部です。自力で実装できそうなものをピックアップしました。
非常に参考になったので、リンクを貼っておきます。
これを念頭に置いて、以下で紹介する2つのWebサービスを制作しました!
5-3. Webアプリケーション1つ目
・Monolist (楽天APIを使用した商品検索アプリケーション)
フレームワークLaravelを使用した商品検索アプリケーションです。
ログイン後、楽天市場の商品を検索して、その商品をWantとHaveに分けて共有することができます。
その他の機能は以下の通りです。
・ユーザー登録、ログイン認証機能
・楽天市場の商品検索
・Want, Have された商品の一覧表示、詳細表示
・Want, Have された商品の数でランキング表示
メンターに教えて頂きながら作成しました。
制作時間は、約30時間 (4日間くらい)です。
5-4. Webアプリケーション2つ目
・Microposts (Twitterクローン)
フレームワークLaravelを使用したMicropostsを作成しました。Twitterのようなアプリケーションです。
実装機能は以下の通りです。
基本機能一覧
・記事投稿 / 削除機能
・記事一覧 / 詳細表示機能
・フォロー / フォロワー / お気に入り追加機能
・ユーザー登録・ログイン機能
・ページネーション機能
追加機能一覧
・ファイルアップロード機能 (AWS S3へファイルを格納)
・ユーザー登録時のメール送信機能
・投稿削除時のモーダル表示
工夫したこととして、投稿機能やフォロー機能などの基本機能を実装した後は、「ユーザーが快適に操作できること」に焦点を置いて、公式ドキュメントやQiitaを参考にしながら、ユーザー登録時のメール送信機能や投稿削除時の確認画面の表示などの追加機能を実装しました。
メンターに教えて頂きながら作成しました。
制作時間は、約50時間 (7日間くらい)です。
*上記2つのサービスは、こちらの情報でログイン可能です。
メールアドレス:php@gmail.com
パスワード:php2018
*あと、現在OGPタグ設定中です。。なぜ適用されないんだ。
5-5. 受講を終えて (振り返り)
スクールを受講して良かった点をまとめておきます。
・メンターさんのサポートが非常に丁寧かつレスポンスが早かった。
・カリキュラムの内容が体系的で、かつ図解が豊富で理解が深まった。
・結果的に短期間で効率よくWebサービス制作ができた!!
当初の目標であったポートフォリオ作成が達成できたので、
全体的な僕の評価としては、大満足でした。
で、一番大切なのは、転職活動でのポートフォリオの評価はどうだったのかだと思いますが、こちらは転職活動編にて具体的にまとめました。
只今執筆中なので、少々お待ちください。
7. さいごに
7-1. 絶対やっておいてよかったこと
絶対やっておいてよかったことは、「明確な目標設定」です。
なぜなら、明確な目標がなければ、正しい学習計画を立てることが困難であったり、重大な選択をする際、自分の価値基準を持っていないことで、間違った選択をしてしまう恐れがあるからです。
例えば、明確な目標設定がなく、漠然とエンジニアになりたいと考えていた場合、以下のケースで失敗しやすいと思います。
・プログラミングスクール選び
・転職エージェント選び
・学習方法 (無駄な学習に時間を費やす)
これは、やはり自分の中で曖昧な目的意識しか持っていないため、「無料で必ずエンジニアになれます。」といった宣伝文句や「未経験者は自社サービス系企業へ入社できません。」といった根拠のない言葉を鵜呑みにしがちだと思います。
依然として闇が深いと言われているIT業界でもありますので、
自らの意志で目標設定し、それを信じて行動し続けることが何より大切だと僕は思います。
ちなみに、目標設定のコツは、とりあえず以下の点を抑えることです。
・ 具体的である
・ 期限がある
僕の場合だと、
「3ヶ月でグルメかマッチング系の自社サービス企業へエンジニア転職」
これだけで、どの転職サービスを使って、どんなポートフォリオを作るのか、最初の1ヶ月は何を学べばよいか等、物凄くアクションを決めやすくなります。大きな失敗をすることもないでしょう。
万が一、どうしても具体的に目標設定ができないという人は、とりあえず高い目標を設定して、それに必要なスキルを習得すればいいかもしれません。
3-2. 御礼
長文の記事となりましたが、最後まで読んでいただき、ありがとうございました!
少しでも参考になることがあれば、とてもうれしいです。
転職活動編を11月中に公開する予定です。
僕は約70社もの自社開発系企業へ応募しました。面接での質問内容や不採用の理由、職務経歴書の一部など、これからエンジニアになる方々の役に立ちそうな情報は、できるだけ発信しようと考えています!!
また、この記事に関するご感想や転職活動編で記事にしてほしい内容などは、noteやTwitterにてコメントして頂ければと思います。
どうもありがとうございました。
この記事が気に入ったらサポートをしてみませんか?