見出し画像

未経験から独学でエンジニアへ転職するまで

未経験から独学で自社開発企業のエンジニアに転職ができました。

初めの3ヶ月間は業務委託契約です。

エンジニアを目指している人の役に立てたらと思い、プログラミングを学び始めてから転職までの経緯や得た知見を書いていきます。

決してスクールを批判しているわけではないのでご了承下さい。


簡単に自己紹介

・25才男性 千葉在住 既婚。(応援してくれた妻には本当に感謝)

・前職は医療関係の仕事をしていたのでITの知識なし。

・英語もほとんどわかりません。

・2018年8〜9月に初めてプログラミングを触る。2018年12月末に前職を退職。

転職までの時系列

2019年3月〜4月まではほとんど転職活動の話はないです。笑

『転職活動の情報だけ欲しいんだ!』という人は、目次の『転職活動の話』まで飛ばしてください!

・2018年8〜9月 

前職のモチベーションダウン。

「Progate」でプログラミングを遊びでやり始める。

楽しくてハマる。

 「Progate」のレッスンは、『HTML&CSS / Ruby / Ruby on Rails / Command Line / Git / SQL』をやりました。

『HTML&CSS / Ruby』は2〜3周しました。


・10月 

「Progate」の他に、「ドットインストール」や「Rails Tutorial」で勉強し始める。

エンジニア転職を決意し、前職を12月末に退職予定となる。(今思えば決断が早すぎですね。笑)

会社を退職して背水の陣で挑むのはあまりオススメしません。笑

デメリットは3つ。

・無職なので早く就職したいと焦ってしまう。

・予想以上にお金が減る。

・プログラミングに飽きる可能性もある。


メリットもあります。

・勉強時間が取れる。


けど実際は働きながら勉強するのは凄く大変ですよね。。僕はキツかったです。

退職を決断できた理由は2つです。

・前職が患者様の人生に関わる仕事だったので、中途半端な気持ちではできないと思った。

・前職が国家資格の職業だったので、プログラミングに挫折しても元の職に戻れる。


プログラミングに挫折した際のリスク管理ができていれば、会社を退職して勉強に集中しても良いと思います。

退職を考えている人がいれば、一度立ち止まって考えてみてください。

決断は慎重にしてくださいね!


「Rails Tutorial」を進めるが難しすぎて挫折しそうに... 

1章の環境構築だけで2〜3日かかった気がする、、

わからなすぎてYassLabo株式会社様の「Railsチュートリアル解説動画」を購入。

これがめちゃくちゃわかりやすかったです。解説動画を購入していなかったら挫折していたかも。。本当にYassLabo様には感謝です。

楽しく学ぶことができます!


エンジニアに転職する人はスクールに通う人が多いと情報を得る。

スクールを比較して検討する。

実は初めスクールに通おうと思っていました。笑

他のスクールに比べると評判が良く、受講料が安かったので「ポテパンキャンプ」に応募しました。


しかし、「ポテパンキャンプ」に応募するも選考に落ちる。。。泣

他にも「DIVE INTO CODE」を考えたのですが、金額が高かったのでやめました。結婚していなかったら行ってたと思います。

他のスクールは個人的に気になるところがなかったので「独学でもいいかな」と思い、独学での勉強をすることにしました。


・11月

仕事終わりと休日を使って「Rails Tutorial」を進める。

「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで」を購入。途中で飽きてしまい5章〜6章で断念。

11月は仕事が忙しかったので特に何もないです。。

・12月

有休消化に入る。

12月で「Rails Tutorial」2周終えた記憶があります。

「現場で使える Ruby on Rails 5速習実践ガイド」を購入。これも8章くらいで飽きてしまった。。今見返すと凄く内容が良いです!!


Twitterで転職の情報を見ていると「ポートフォリオをとりあえず作るべき!」といった情報が多かったので、ポートフォリオを作成し始める。

しかし作りたい物もなかったので、作り始めるも途中で投げ捨てる。笑


勉強方法が正しいかわからないし、IT業界の知り合いが全くいなかったので「もくもく会」に初参加してみる。

年末年始は無職にも関わらず、謎の余裕感でグータラして遊びまくる。


・2019年1月

1月がターニングポイントになった月です。とりあえず行動しまくりました。

年末年始が終わり、焦り始める。

Twitterで「駆け出しエンジニア支援プログラム」の募集を見つける。応募して参加することになる。自分は『HTML&CSS / JavaScript / Vue.js』のコースに応募しました。

支援プログラムの内容に沿って「ドットインストール」でHTML&CSS を学び直す。


Twitterで「未経験・Web未経験エンジニアのチーム開発募集」を見つける。応募して参加することになる。


もくもく会に参加。これをキッカケに「株式会社 X-HACK」で勉強会の手伝いをすることになる。

現在(2019年4月)も勉強会を頻繁に行なっているので、興味がある方は是非参加してみて下さい。

X-HACK・松田さんの助言で「はてなブログ」でアウトプットを始める。


入りたかった企業への猛烈アピールで採用課題を受けさせてもらうことになる。笑

採用課題が『Ruby on Rails / React.js』 を用いたアプリケーションを作る課題でした。課題の期限は1ヶ月でした。

Rubyは勉強していたのですがReact.jsは触ったことがないですし、JavaScriptもほぼ勉強していない状態でした。

『この1ヶ月は本気でやらないと!』と思い、チーム開発は参加させていただいたばかりにも関わらず脱退しました。

「駆け出しエンジニア支援プログラム」も手を付けるのはやめました。こちらは特に期限もなく、オフラインで集まることもなかったのでやめなかったです。

「X-HACK」のお手伝いは回数を減らしましたが続けていました。


採用課題に集中する環境が整ったので、勉強しまくりました。


・2月

採用課題は1月末〜2月末の期間だったので、この期間はほぼ採用課題の勉強しかしませんでした。

期限のギリギリでなんとか課題を提出。

課題を作り終わったときは、めちゃくちゃ嬉しかったです。笑


・3月〜4月

課題が終わって面接・採用テスト・課題のコードレビューがありました。

1回目は面談のみ。

2回目は採用テストと課題のコードレビューをしていただきました。

結果はなんと、、、、、




お見送りとなりました。。。


もの凄く悔しかったです。


けど採用課題を受けたことでReact.jsを学ぶ機会が得られましたし、『Ruby on Rails / React.js』を組み合わせたアプリケーションを作ったので『ポートフォリオ』も完成しました!笑


未経験の自分にチャンスをくださり、長い時間をかけて丁寧に選考してくださったことに感謝しかないです。

自分の力で1つのアプリケーションを作ったことは大きな自信にもなりました。

そして、プログラミングの楽しさを再確認できました。


採用課題が終わった頃に、以前参加していたチーム開発のメンバーに偶然出会い、なんとチーム開発に再加入させていただくことになりました。

脱退したにも関わらず、再加入させていただけるチーム開発メンバーの懐の深さには感謝しかないです。泣


チーム開発と並行して3月18日から就職活動を再開しました。

ここからが就職活動の話になるので、以降の記事が皆様の興味のあることかもしれません。笑

転職活動の話

個人的に就職したい会社は『自社開発企業』か『受託開発企業』に絞っていました。理由は興味ないと思うので割愛します。笑

上記の企業募集が多かったのは「Wantedly Visit」だったので、「Wantedly Visit」を中心に転職活動を行いました。

それ以外でも「Twitter」や「企業ホームページ」から2〜3社ほど話を聞きに行ったりしました。


「Wantedly Visit」は就活者から企業にエントリーします。企業が就活者のプロフィールを見て興味を持っていただけたら、メールが届いてやり取りができるサービスです。

詳しくは下記をご覧ください。


つまり、企業に興味を持ってもらわないと話を聞きに行くこともできないのです。まずはプロフィールの項目を埋めることに専念しました。

プロフィールの充実度によって『Wantedly Score』というScoreが上がります。これも企業に興味を持ってもらえる指標になります。

『Wantedly Score』を上げるには、まずは項目を埋めることです。他にも色々あるみたいですが、ググるとたくさん出てくるのでそちらを参考にしてください。


ちなみに自分は『Wantedly Score』が『98』でした。

このくらいで企業からスカウトメールを送っていただけることが増えたので、『100』前後を目安にしてもいいかもしれません。Scoreが高いにこしたことはないです。

もし自分の『Wantedly』のプロフィールを参考にしたい人がいましたら、Twitterなどで声をかけていただければ見せます。

参考にならなかったらすみません、、笑


『Wantedly Visit』に『Premium』として課金することで、企業からプロフィールやスカウトメールを送っていただける確率が上がるサービスがあります。

1週間無料だったので利用してみましたが、スカウトメールが増えた実感はなかったです。笑

無料期間だけ試す価値は充分あると思います。無料期間を過ぎると自動で課金されてしまうので注意です!!


プロフィールを充実させると企業からの返信率も高くなってきたので、気になる企業にエントリーしました。

合計で15社以上の話は聞きに行ったと思います。

たくさんの企業に話を聞きに行った理由は2つあります。

・前職が医療業界だったのでIT業界が全くわからなかった。

・行きたい企業が絞れていなかった。


あくまで少しでも興味のある企業のみにアプローチしました。

話を聞きに行くときは企業の情報を調べ、いくつかの質問を考えて行くように心掛けていました。

わざわざ時間を作ってくださっているので、何も調べずに質問もなかったら失礼ですからね。

あまり興味がなかった企業も話を聞きにいくと『楽しそう!』と思うことも多々あったので、色々な企業に訪問することをオススメします。

実際に企業の人と会って話をすることで、その企業で働いている人達の雰囲気もわかりますし!

たくさんの企業に話を聞きにいく中で視野が広がり、ある程度自分の就職したい企業が絞られてきました。

その中からいくつか選考を受けました。


そして内定を頂けました。


転職活動期間としましては、だいたい3月18日〜4月11日なので約3週間ですね。転職活動中はプログラミングの勉強は最低限しかしませんでした。

個人的には転職活動を行うなら転職活動だけを集中的に行なった方が良いかなと思いました。人それぞれだとは思いますが。

ただ自分が想像していたよりも、面接を受けにいってから内定をもらうまでの選考期間が長い企業が多かったです(平均して2週間くらい)。早めに就職活動をしても良いかもしれません。


転職活動中に好印象だったこと

当たり前のことも書いていきますのでご了承ください。


・ポートフォリオがある(デプロイして見られる環境)

自分のポートフォリオは採用課題で作成した『Ruby on Rails / React.js』を用いたアプリケーションの1つだけでした。

ポートフォリオは1つだけでしたが、好印象をいただけることが多かったです。(コードは汚いです。笑)

褒められた点としては、『フロントエンドをReact.jsで書いている』『RailsでAPIを作成している』ことです。

『Ruby on Rails や Laravel』 でポートフォリオを作成している人が多いかと思いますが、それにプラスα何か必要なのかなと思います。

フロントエンドを『Vue や React』で書くのでも良いですし、それ以外でも良いと思います。

自分の興味のある分野がオススメです。楽しくないと続けられないですからね!


ポートフォリオのソースコードについて突っ込まれることは少なかったです。

アプリケーションは見るけど、GitHubのコードまで見る企業は少ないのかな、、?


・チーム開発経験がある

GitHubを使用したチーム開発をしていることについて面接で聞かれることが多かったですね。

これも好印象でした。

実務では個人開発ではなく、チーム開発ですから重要視される点だったのかと思います。

チーム開発の募集があれば参加するのが良いのですが、『そんな募集は中々ないよ!』と言われそうですね。

その場合はGitHubでbranchを切って、Issueを立ててなどしてチーム開発風にコードを書くのもいいかもしれません。

上記のように一人でやるのは辛いと思うので、Twitterなどで募集してみてもいいかもしれませんね。自分もTwitterでチーム開発募集を見つけたので!


ちなみにチーム開発で作成したアプリケーションを「DIVE INTO CODE」のデモデイにて発表したところ審査員賞を頂けました!めちゃくちゃ嬉しかったです!自分はあまり貢献できていませんが。笑

チーム開発することで一緒に勉強する仲間ができることも大きな魅力の1つですね!


・アウトプットをしている

自分は「はてなブログ」でプログラミングに関することをアウトプットしていました。

他の「note」や「Qiita」などでも良いと思います。

「Wantedly Visit」のSNS連携には上記の2つはなく、「はてなブログ」しかありません。

SNS連携も『Wantedly Score』に影響するので「Wantedly Visit」を活用する人は「はてなブログ」が良いかもしれません。


『アウトプットは面倒くさいし、時間かかるから嫌だよ!』と思う人もいるかもしれません。

しかし、自分の資産として形に残りますし、文章に書き起こすことで記憶の定着や理解の向上にも繋がります。

それでも『何を書けばいいかわからないし、文章を書くの苦手だから見られるの嫌だよ!』と思う人もいるかもしれません。

書くのは何でもいいんです。一日の自分の学んだことの中から一つでいいんです。量は少なくてもいいので、まずは書いてみることが大事です!

文章は書かないと上手くならないのでどんどん書いていきましょう!自分も文章を書くのは苦手ですが、書いている内に楽しくなってきましたし、何より自分の成長になります。


自分のブログは下記です。内容の質は保証しません。笑

これを見れば『自分でもできそう!』とアウトプットする自信がつくかもしれません。笑


どんどん気軽にアウトプットしましょう!!


・前職での経験

前職はIT業界とは無関係の医療系の仕事だったのですが、前職で『学会発表・外部への講座活動』を積極的に行なっている点を評価していただきました。

IT業界でなくても前職で積極的に活動を行なっていたかどうかを重視する企業もいらっしゃるということですね。

「Wantedly Visit」では前職の活動を記載する項目もありますので、詳細に記載すると好評価が得られるかもしれません。


・勉強会の手伝い

「X-HACK」で勉強会の手伝いをしていることも好印象のケースがありました。

機会があれば勉強会以外でも、企業イベントの手伝いをするのもいいかもしれません。

『何か勉強会に参加したことある?』と質問されたこともあったので、勉強会やもくもく会に参加するのもいいですね!

なにより現役エンジニアやエンジニアを目指している人と話す機会になるので情報交換の場になりますし、勉強に対するモチベーションも上がります。


面接で聞かれた内容

これは『企業によって全く違うな』という印象でした。

面接の内容で企業の雰囲気がなんとなくわかります。


自分が覚えている限りで聞かれた内容を記載していきます。

・プログラミングを始めたキッカケは?

・前職で大切にしていたことは?

・プログラミングをどうやって勉強してきたか?また躓いた点はあるか?

・どうやって企業を選んでいるか?

・何か将来作りたいものはあるか?

・将来どんなエンジニアになりたいか?

・前職はどんなことをしてたのか?

・最近気になった技術に関することはあるか?

・前職で苦手だった、得意だった業務は?

・どんな風にチーム開発をおこなっているの?

・ポートフォリオのModel・table構成はどうなっているか?

・フロントエンドとバックエンドどちらに興味があるか?


勉強に活用したサービスや技術書

サービス

・Progate

・Rails Tutorial

・ドットインストール

・Techpit Market

・Udemy

・Qiita

・stackoverflow

・teratail

・note

特に「Proagate」「ドットインストール」「Rails Tutorial」にはお世話になりました。

技術書

・プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

・現場で使える Ruby on Rails 5速習実践ガイド

・React入門 React・Reduxの導入からサーバサイドレンダリングによるUXの向上まで

・リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

・「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

・痛快! コンピュータ学(技術書ではないですが、コンピュータの歴史をし知れます)


「プロになるためのWeb技術入門」と「痛快!コンピュータ学」以外はまだ読み切ってないです。笑


他には、slackで質問に答えてくださるメンターさんと契約していたこともありました。

独学では質問できる環境がないので、質問できる人を見つけるのは重要かも知れません。

teratailでも質問はできますが、回答がない場合もありますからね。


後はGoogle先生でひたすらググってました。笑

勉強方法

自分の勉強方法を紹介します。これは人によって全く違うので、試してみて合わなかったらやめたほうが良いです。

試行錯誤しなら自分に合った勉強方法を見つけましょう!

・外で勉強する

自分は家で集中することができないので、朝から夕方までは外で勉強することが多かったです。「AWS Loft」にはかなりお世話になりました。笑

・やらなきゃいけない環境をつくる

基本的に自分は怠け者なので、勉強しなくてはいけない環境をつくりました。

一つは採用課題を受ける。

二つはチーム開発に参加する。

三つはもくもく会に参加する。

今はプログラミングの勉強が楽しすぎるので、やらなきゃいけない環境をつくらなくても大丈夫になりました。

・わからなくても手を動かして学び続ける

サービスや技術書を使って勉強していると『何言ってるのかよくわからん』と思うことがあります。僕はそうでした。笑

完璧に理解しようとすると終わらないので、1回目はとりあえず手を動かして学びましょう!

2回目になるとなんとなーくわかってきます。

読んだり見るだけではなく、コードを書きながらがポイントです!

・アウトプットしながら学ぶ

『転職活動で好印象だったこと』でも書きましたが、アウトプットしながら学ぶのは効率がいいです。

文章に書き起こすだけじゃなくても、人に教えたりでもいいです。

記憶の定着と知識の理解が深まります。

・楽しみながらプログラミングをする

個人的には『楽しみながらプログラミングをする』ことが一番大切だと思っています。

僕は楽しいからプログラミングの勉強を独学で続けてこれました!

楽しんでコードを書きましょう!!


最後に

勉強の方法や就職する企業に良い・悪いはないと考えています。

あくまで自分に適した勉強方法や自分に合った企業があると思います。

今回の内容を全て参考にする必要はありません。自分の考えを持った上で参考にできる部分は参考にしていただけると嬉しいです。


これからエンジニアを目指す人の役に少しでも立てたら幸いです。

何か質問などありましたら、お気軽にTwitterなどでご連絡ください。


最後まで読んでいただきありがとうございました。




この記事が気に入ったらサポートをしてみませんか?