たわとあすかのスクラップ

東京から福岡移住したITエンジニアと福岡出身の建築士が福岡を切り取ります✂

【実体験】僕が未経験からWebエンジニアに3ヶ月で転職したときに勉強したことをまとめます

f:id:tawachan39:20191009233046p:plain

こんにちは、たわです。

僕は2年前に、経営コンサルタントからWeb系のエンジニアに転職しました。

同じくWeb系のエンジニアを目指して勉強・転職中の方が多くいるとのことだったので、自分の経験をまとめてみます。

このまとめを通して、

  • どんな風に勉強すればいいのか
  • 何を勉強すればいいのか

のイメージを掴む参考になればなと思います。

※ 僕は仕事を辞めてすべての時間を使える状態で学習していました。期間などは参考程度に。

実際に僕が学んだこと

実際に転職に成功するまでに僕が実際に身に付けたスキルを紹介します。

転職して採用を進めてくれたエンジニア(今は同僚)に聞いたところ、

「ここまでできていれば普通に若手エンジニアとして採用するよ!」

とのお墨付きを頂いたので、ここに書いたことができるようになれば転職活動もうまくいきやすいかもしれません!

基本情報技術者の知識

まずは「基本情報技術者」という国家資格の勉強をしました。

IT系の基礎知識がまとまった資格なのでITの全体像を掴むために最適でした。

IPA 独立行政法人 情報処理推進機構:制度の概要:基本情報技術者試験

ただエンジニアに転職するためにはこの資格が必要というわけではありません。

あくまで、ITの基礎知識を知っておくとプログラミングの学習も捗るよ!というくらいの温度感で大丈夫です!

僕は取得までしましたが、さらっと一読するくらいで十分だと思います!

ドメインとかIPアドレスとか知らない言葉が出てきてもすぐ調べられる状態にしておくと学習効率が上がります(もう理解して調べなくてもわかると最高)。

でも知識だけなら「ITパスポート」で十分そう

ですが、「基本情報技術者」の試験は少し実践的な試験内容もあるので、知識だけを考えると少し多すぎなところもあります。

なので、「ITパスポート」という知識に特化した一番初歩の資格の参考書を使うのでも十分だと思います!

【ITパスポート試験】情報処理推進機構

キタミ式イラストIT塾  ITパスポート 平成31/01年 (情報処理技術者試験)

キタミ式イラストIT塾 ITパスポート 平成31/01年 (情報処理技術者試験)

参考書を1冊、1週間くらいで読んで次に行きましょう。

HTML/CSS/JavaScript

基礎知識を雰囲気つけたところで、実際に手を動かしてコードを書いていきました。

僕ははてなブログとかWordPressは触ったことがあって簡単にHTML/CSSは調べて使ってみたことがあったので、おさらいくらいの感じでやりました。

Progateでサラッとおさらい

f:id:tawachan39:20191008161923p:plain

実際の学習方法としては、Progateを使いました。ブラウザ上で簡単に進められて、ポイントが押さえられるのでよかったです。

Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

JavaScriptはES6という新しいほうをやればとりあえず十分です。jQueryはやらなくていいと思います。

1日中時間が使えるのであれば1週間くらいでできたイメージです。

Ruby on Rails

f:id:tawachan39:20191008170542p:plain

次にRuby on Railsをやりました。

HTML/CSS/JavaScriptの次は、PHPだったりRubyだったり色んな選択肢が合って悩む人も多いかと思いますが、僕はRubyを選びました。

理由としては、PHPからRubyに移ったりすることが多く、また新しく作るならRubyで作るという事例が増えていると聞いたからです。

今でもPHPかRubyであれば間違いなくRubyをおすすめします。

教材を真似る

まずは教材の通り自分でコードを書いてみました。教材の説明通りに自分でも動かすことに集中しました。

ただ写しているだけ(写経)でも案外難しいですし、やってみて初めて分かることもあります。

「なるほど!こうやって動くんだ!!!」

から

「じゃあ、こうやったらどうなるんだろ???」

と想像を膨らませて+αも試しながら学習していくと理解が深まると思います!

Progateでまず予習

さて、最初にRuby on RailsでやったのもProgateでした。最初にイメージを掴むためには本当に便利な学習ツールです。

ただ本当に基礎的なことしか書かれていないのでサラッとこなしてしまいましょう。丸暗記する必要もありません。

動画コンテンツで学習

f:id:tawachan39:20191008192417j:plain

ここからがRails学習の本番です。ここからは重いので1ヶ月かそれ以上かかるかもしれません。

僕は動画教材で学習を進めました。Udemyという動画教材のサイトが一番おすすめです!

https://www.udemy.com

過去に書籍で学習しようと思ったことは何度かあったのですが原因不明のエラーに苛まれて結局わからず諦めてしまうことが結構ありました。

ですが、動画だと細かく解説されていたり、実際にコードを一字一句書いている画面を見ながら学べるものが多いです。

初心者は書籍よりも動画を見て学習することをおすすめします。今ですとこのあたりがわかりやすそうですが、プレビューを見て自分に話し方などが合いそうなものを選ぶと良いと思います!

https://www.udemy.com/course/ruby-on-rails-5/

自分で作ってみる

ここまでは教材通りコードを書いてきました。

その次は自分で自分の考えたコードを書いてみて動くものを作ってみました!

やっぱり自分でコードを書いてみると、意外とわかってないことや新たな難しさが出てきます。

そんなときは教材に立ち戻ったり、Google検索をしたり試行錯誤しながらなんとか形にしてみてください!

既存のサービスを真似る

自分でコードを書くのですが、作るものもオリジナルにしてしまうと

「コードの書き方」

ではなく

「何を作ろうかな」

というところを悩んでしまいます。

コードが書けるようなることがまずは大事なので、既にあるサービスを真似るのが良いです。

僕はPinterestを真似した

僕はPinterestというサービスの基本的な機能を全て真似して作ってみました。

PinterestがRailsが使っているかはわかりませんが、Railsで同じ機能を作るならどうしたらいいんだろう、と考えて真似してみました。

そうすると実際に世の中で使われている良いサービスの工夫とか、実装の仕方とかもわかってくるのでとてもおすすめです。

工夫したりこだわるといくらでも時間をかけられてしまうのでやめどころが難しいのですが、2, 3週間くらいかけたと思います。

ポートフォリオにする

いい感じに仕上がってきたら、ポートフォリオにして色んな人が見れるようにしました。

ポートフォリオとは転職活動の時に、自分の作ったものを成果物として見せられる状態にすることです。

エンジニアの転職だとGithubというサイトにコードをアップロードしておいて、そのリンクを応募先の会社に渡すことが普通です。

また、実際に自分の作ったサービスがオンライン上で見れるようにデプロイまでしておくとさらによいです。

ポートフォリオを用意しておくと、エンジニアは未経験でもどんなものを作れるのか/作ってきたのかがすぐわかってもらえるので、ミスマッチも少なく転職においても有利でした。

具体的な方法は、また別の機会に書こうと思います。(GitHubやデプロイというキーワードで調べると雰囲気がわかるかもしれません...)

React

Ruby on Railsでポートフォリオができたら一段落ということで転職活動を始めていました。

ポートフォリオがあるので、実際に面接もうまく進みました。この段階でも転職できる状態なのかなと思っています。

ですが、やはり転職活動をしている間も時間はあるので、次の学習としてReactをやっていました。

JavaScriptを学習したときに、ページの見た目を少し変えるために使ったと思います。ですが、今はSPAというJavaScriptでHTMLを作る技術が流行りなのでその1つとしてReactを選びました。

SPA(シングルページアプリケーション)ってそもそも何?メリット・デメリットも踏まえて解説! | RARA World

今では、Vueという別の(SPAの)フロントエンドフレームワークのほうが初心者には入りやすくおすすめです。

やっぱり動画で学習

これもUdemyを活用して学習しました。

やっぱり動画のほうが新しいことでもイメージしやすく学習効率が良かったと思います。

次は完全オリジナルで作る

Ruby on RailsのときはPinterestの真似をしましたが、今度は完全オリジナルで作りました。

最後まで作りきれませんでしたが、思い出を管理するアプリをReactで作りました。

実際に入社した会社で面接をしてくれたエンジニアも、独学で3ヶ月でReactまで触ってものを作ったところを評価してくれたようでした。

ここまでできれば未経験としてもアピールポイントになるかと思います!

学ぶときに気をつけたこと

ここまで何を学習したかを書いてきました。

ここでは、学習しているときの僕が意識していたことをいくつか書きます。

丸暗記はしない

受験勉強の名残で、RubyやJavaScriptの関数の名前や使い方を丸暗記しようとする人もいるかも知れませんがそれにはあまり意味がありません。

現役のエンジニアでも全然Googleで検索して確かめます。

「あんな関数があったけどどうやって使うんだっけ?」

くらいで大丈夫です。それよりもいっぱい手を動かしてコードを書いたほうがためになりました。

そうするとよく使うやつは自然と覚えました。

見せられるもの(ポートフォリオ)を作る

やっぱり最後は転職することが目標です。先程も言いましたが、転職するにはポートフォリオが大事です!

なので、見せられるものを作ることを優先しました!少しでも良いものを作ろうと試行錯誤していくことに時間をかけました。

なかなか進まず苦しいことがあるかもしれませんが、ここを工夫して解決しました!という話はとてもいい経験ですし、面接でのアピールポイントにもなります。

そして何より、実際のエンジニアの仕事に近い体験でもあります!現場でも色んな工夫をこらして開発していくのでそういった経験が転職してからもかなり役に立ちます。

楽しむ!

やっぱり転職するためとかお金を稼ぐため、というのも大事ですが、楽しむというのも大事です!

エンジニアは売り手市場で稼ぎやすいという注目ポイントもありますが、1人でもおもしろい/役に立つものが作れることがプログラミングの良いところだと僕は思っています!

FacebookやTwitterやLINEといった人々の生活を変えてしまうほどの影響力のある技術ですし、そういったものを自分の手で作れるかもしれません。

もちろん地道で大変ですが、無限の可能性を広げられる技術なんだ!と思って転職に踏み切ったのでそれを忘れないようにしながら勉強していました。

まとめ

こんな感じで実体験をまとめてみました。少しでも誰かの役に立てば良いなと思って書いてみました。

最初は難しくてわからないことだらけで辛いこともありますが、地道にやっていけば着実にできることやわかることも増えてきます。

そしてそれはエンジニアとして働き始めても同じです。2年間エンジニアとして働いてわかることも増えて、さらにおもしろい仕事だなと思っています。

なので、これからもこれを読んでくださった方に少しでも助けになる情報を発信していければと思っています。

何かあれば、Twitterとかでも気軽にお声がけください!

twitter.com