【実体験】僕が未経験からWebエンジニアに3ヶ月で転職したときに勉強したことをまとめます
Table Of Contents
こんにちは、たわです。
僕は 2 年前に、経営コンサルタントから Web 系のエンジニアに転職しました。
同じく Web 系のエンジニアを目指して勉強・転職中の方が多くいるとのことだったので、自分の経験をまとめてみます。
このまとめを通して、
- どんな風に勉強すればいいのか
- 何を勉強すればいいのか
のイメージを掴む参考になればなと思います。
※ 僕は仕事を辞めてすべての時間を使える状態で学習していました。期間などは参考程度に。
実際に僕が学んだこと
実際に転職に成功するまでに僕が実際に身に付けたスキルを紹介します。
転職して採用を進めてくれたエンジニア(今は同僚)に聞いたところ、
「ここまでできていれば普通に若手エンジニアとして採用するよ!」
とのお墨付きを頂いたので、ここに書いたことができるようになれば転職活動もうまくいきやすいかもしれません!
基本情報技術者の知識
まずは「基本情報技術者」という国家資格の勉強をしました。
IT 系の基礎知識がまとまった資格なので IT の全体像を掴むために最適でした。
ただエンジニアに転職するためにはこの資格が必要というわけではありません。
あくまで、IT の基礎知識を知っておくとプログラミングの学習も捗るよ! というくらいの温度感で大丈夫です!
僕は取得までしましたが、さらっと一読するくらいで十分だと思います!
ドメインとか IP アドレスとか知らない言葉が出てきてもすぐ調べられる状態にしておくと学習効率が上がります(もう理解して調べなくても分かると最高)。
でも知識だけなら「IT パスポート」で十分そう
ですが、「基本情報技術者」の試験は少し実践的な試験内容もあるので、知識だけを考えると少し多すぎなところもあります。
なので、「IT パスポート」という知識に特化した一番初歩の資格の参考書を使うのでも十分だと思います!
参考書を 1 冊、1 週間くらいで読んで次に行きましょう。
HTML/CSS/JavaScript
基礎知識を雰囲気つけたところで、実際に手を動かしてコードを書いていきました。
僕ははてなブログとか WordPress は触ったことがあって簡単に HTML/CSS は調べて使ってみたことがあったので、おさらいくらいの感じでやりました。
Progate でサラッとおさらい
実際の学習方法としては、Progate を使いました。ブラウザ上で簡単に進められて、ポイントが押さえられるのでよかったです。
JavaScript は ES6 という新しいほうをやればとりあえず十分です。jQuery はやらなくていいと思います。
1 日中時間が使えるのであれば 1 週間くらいでできたイメージです。
Ruby on Rails
次に Ruby on Rails をやりました。
HTML/CSS/JavaScript の次は、PHP だったり Ruby だったり色んな選択肢が合って悩む人も多いかと思いますが、僕は Ruby を選びました。
理由としては、PHP から Ruby に移ったりすることが多く、また新しく作るなら Ruby で作るという事例が増えていると聞いたからです。
今でも PHP か Ruby であれば間違いなく Ruby をお勧めします。
教材を真似る
まずは教材のとおり自分でコードを書いてみました。教材の説明とおりに自分でも動かすことに集中しました。
ただ写しているだけ(写経)でも案外難しいですし、やってみてはじめて分かることもあります。
「なるほど! こうやって動くんだ!!!」
から
「じゃあ、こうやったらどうなるんだろ?? ?」
と想像を膨らませて+α も試しながら学習していくと理解が深まると思います!
Progate でまず予習
さて、最初に Ruby on Rails でやったのも Progate でした。最初にイメージを掴むためには本当に便利な学習ツールです。
ただ本当に基礎的なことしか書かれていないのでサラッとこなしてしまいましょう。丸暗記する必要もありません。
動画コンテンツで学習
ここからが Rails 学習の本番です。ここからは重いので 1 ヶ月かそれ以上かかるかもしれません。
僕は動画教材で学習を進めました。Udemy という動画教材のサイトが一番お勧めです!
過去に書籍で学習しようと思ったことは何度かあったのですが原因不明のエラーに苛まれて結局わからず諦めてしまうことが結構ありました。
ですが、動画だと細かく解説されていたり、実際にコードを一字一句書いている画面を見ながら学べるものが多いです。
初心者は書籍よりも動画を見て学習することをお勧めします。今ですとこのあたりがわかりやすそうですが、プレビューを見て自分に話し方などが合いそうなものを選ぶとよいと思います!
自分で作ってみる
ここまでは教材とおりコードを書いてきました。
その次は自分で自分の考えたコードを書いてみて動くものを作ってみました!
やっぱり自分でコードを書いてみると、意外とわかってないことや新たな難しさが出てきます。
そんなときは教材に立ち戻ったり、Google 検索をしたり試行錯誤しながらなんとか形にしてみてください!
既存のサービスを真似る
自分でコードを書くのですが、作るものもオリジナルにしてしまうと
「コードの書き方」
ではなく
「何を作ろうかな」
というところを悩んでしまいます。
コードが書けるようなることがまずは大事なので、すでにあるサービスを真似るのがよいです。
僕は Pinterest を真似した
僕はPinterestというサービスの基本的な機能をすべて真似して作ってみました。
Pinterest が Rails が使っているかはわかりませんが、Rails で同じ機能を作るならどうしたらいいんだろう、と考えて真似してみました。
そうすると実際に世の中で使われているよいサービスの工夫とか、実装の仕方とかもわかってくるのでとてもお勧めです。
工夫したりこだわるといくらでも時間をかけられてしまうのでやめどころが難しいのですが、2, 3 週間くらいかけたと思います。
ポートフォリオにする
いい感じに仕上がってきたら、ポートフォリオにして色んな人が見れるようにしました。
ポートフォリオとは転職活動のときに、自分の作ったものを成果物として見せられる状態にすることです。
エンジニアの転職だとGithubというサイトにコードをアップロードしておいて、そのリンクを応募先の会社に渡すことが普通です。
また、実際に自分の作ったサービスがオンライン上で見れるようにデプロイまでしておくとさらによいです。
ポートフォリオを用意しておくと、エンジニアは未経験でもどんなものを作れるのか/作ってきたのかがすぐわかってもらえるので、ミスマッチも少なく転職においても有利でした。
具体的な方法は、また別の機会に書こうと思います(GitHub やデプロイというキーワードで調べると雰囲気が分かるかもしれません…)
React
Ruby on Rails でポートフォリオができたら一段落ということで転職活動を始めていました。
ポートフォリオがあるので、実際に面接もうまく進みました。この段階でも転職できる状態なのかなと思っています。
ですが、やはり転職活動をしている間も時間はあるので、次の学習として React をやっていました。
JavaScript を学習したときに、ページの見た目を少し変えるために使ったと思います。ですが、今は SPA という JavaScript で HTML を作る技術が流行りなのでその 1 つとして React を選びました。
今では、Vue という別の(SPA の)フロントエンドフレームワークのほうが初心者には入りやすくお勧めです。
やっぱり動画で学習
これも Udemy を活用して学習しました。
やっぱり動画のほうが新しいことでもイメージしやすく学習効率がよかったと思います。
次は完全オリジナルで作る
Ruby on Rails のときは Pinterest の真似をしましたが、今度は完全オリジナルで作りました。
最後まで作りきれませんでしたが、思い出を管理するアプリを React で作りました。
実際に入社した会社で面接をしてくれたエンジニアも、独学で 3 ヶ月で React まで触ってものを作ったところを評価してくれたようでした。
ここまでできれば未経験としてもアピールポイントになるかと思います!
学ぶときに気をつけたこと
ここまで何を学習したかを書いてきました。
ここでは、学習しているときの僕が意識していたことをいくつか書きます。
丸暗記はしない
受験勉強の名残で、Ruby や JavaScript の関数の名前や使い方を丸暗記しようとする人もいるかも知れませんがそれにはあまり意味がありません。
現役のエンジニアでも全然 Google で検索して確かめます。
「あんな関数があったけどどうやって使うんだっけ?」
くらいで大丈夫です。それよりもいっぱい手を動かしてコードを書いたほうがためになりました。
そうするとよく使うやつは自然と覚えました。
見せられるもの(ポートフォリオ)を作る
やっぱり最後は転職することが目標です。さきほども言いましたが、転職するにはポートフォリオが大事です!
なので、見せられるものを作ることを優先しました! 少しでもよいものを作ろうと試行錯誤していくことに時間をかけました。
なかなか進まず苦しいことがあるかもしれませんが、ここを工夫して解決しました! という話はとてもいい経験ですし、面接でのアピールポイントにもなります。
そして何より、実際のエンジニアの仕事に近い体験でもあります! 現場でも色んな工夫をこらして開発していくのでそういった経験が転職してからもかなり役に立ちます。
楽しむ!
やっぱり転職するためとかお金を稼ぐため、というのも大事ですが、楽しむというのも大事です!
エンジニアは売り手市場で稼ぎやすいという注目ポイントもありますが、1 人でもおもしろい/役に立つものが作れることがプログラミングのよいところだと僕は思っています!
Facebook や Twitter や LINE といった人々の生活を変えてしまうほどの影響力のある技術ですし、そういったものを自分の手で作れるかもしれません。
もちろん地道で大変ですが、無限の可能性を広げられる技術なんだ! と思って転職に踏み切ったのでそれを忘れないようにしながら勉強していました。
まとめ
こんな感じで実体験をまとめてみました。少しでも誰かの役に立てばよいなと思って書いてみました。
最初は難しくてわからないことだらけで辛いこともありますが、地道にやっていけば着実にできることや分かることも増えてきます。
そしてそれはエンジニアとして働き始めても同じです。2 年間エンジニアとして働いて分かることも増えて、さらにおもしろい仕事だなと思っています。
なので、これからもこれを読んでくださった方に少しでも助けになる情報を発信していければと思っています。
何かあれば、Twitterとかでも気軽にお声がけください!