サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第2部/3部作】

こんにちは、ユーキと申します。

僕はサラリーマンを続けながらWEBエンジニアを目指しています。

6月末までの転職を目標として設定し、12月末に勉強を開始。
現在4ヶ月が経過しました。

2ヶ月ごとに勉強の軌跡をQiitaに残そうと考え、今回は第2部です。

参考1：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第1部/3部作】](https://qiita.com/YukiWebTech/items/b31926c256e3c4392071)
参考2：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第3部/3部作】（→9ヶ月かかりました）](https://qiita.com/YukiWebTech/items/2c4f95cb347b68428f2b)

#0.本記事の目的

1.勉強過程をアウトプットし客観的に確認し軌道修正したい
2.先輩方からアドバイスをいただきたい
3.未経験からWEBエンジニアを目指す方と高め合いたい

# 1.これまで
過去記事に勉強開始2か月間の過程をまとめています。概要だけを「これまで」として整理します。

## 前提
完全未経験から12月20日に「Progate」を開始し、プログラミング学習の門戸を開きました。
フルタイム（というか、残業多め）で他業界で就業しながら平日朝と土日を確保して、全力で勉強しています。

## 過去学習内容
12〜3月までの3ヶ月間は独学で勉強しています。

 - 12月
    - Progate
 - 1月
    - Progate
    - Udemy「よくわかるRuby on Rails入門」
 - 2月
    - Udemy「もう怖くないGit！チーム開発で必要なGitを完全マスター」
    - 書籍『現場で使える Ruby on Rails 5速習実践ガイド』（以下、『現場Rails』）

# 3.勉強内容

それでは今回の主題、3月から4月の2ヶ月間を振り返ります。

## 3月上旬

#### 書籍『現場Rails』で基本スキル習得
通称、『現場Rails』の2週目を実施。1週目にはできなかったRSpecのテストを中心に、タスク管理アプリの制作しました。

この書籍は、RubyとRailsの基本から応用までを学べる最良の書籍ですね。

CRUDの実装から、有用なGemの利用までカバーしており、効率かつ網羅的に学べるのが良いところ。

#### 「雨予報LINEBOT」開発でプログラミングの楽しさ爆発
人生初のアプリ（API）を開発しました。

**「筋肉雨予報」**という名のLINEBOTで、下記の機能を実装しています。

 - Herokuのスケジューリング機能とRakeタスクを用いて、毎朝6時にAPIより天気情報を取得
 - 定時時刻の降水確率が30％以上ならメッセージ通知
 - 「明日」や「明後日」など任意のメッセージに対する応答

これらは、チュートリアルをベースに作り、1から設計しコードを書いたわけではありません。

とはいえ、初めてアプリを開発し公開し反響をもらうという体験は、かなり興奮しましたし、プログラミング学習のモチベーションがかなり高まった出来事でした。

よろしければ、ご確認ください。

GitHub：https://github.com/yuki0920/muscleweather
友達追加：https://line.me/R/ti/p/%40yol6914w

### 3月中旬

#### 書籍『Bootstrap 4 フロントエンド開発の教科書』でデザインスキルを底上げ
Railsの学習で疑問に感じていたHTMLファイルの構造、特にクラス指定が理解できていなかったため、Bootstrapの学習を開始。

書籍の内容はデザインパターンを網羅とチュートリアルでしたが、効率性を重視してチュートリアル形式で学べる章のみを学習しました。

この学習は20時間程度で完了した割に、今後のプログラミングスクールの課題やポートフォリオの開発において、かなりの効果を発揮することとなりました。

ブログにも勉強内容を整理しアウトプットしています。

 - GitHub：https://github.com/yuki0920/bootstrap4_practice
 - Blog：[【技術書勉強メモ】Bootstrap 4 フロントエンド開発の教科書](https://muscle-engeneer.com/bootstrap-front-end/)

### 3月下旬
#### 書籍『Everyday Rails - RSpecによるRailsテスト入門』でテストをざっくり把握

プログラミングスクールのカリキュラムに含まれていないものの、実務では超重要だとわかり、テストの勉強を開始。

3日くらいでさらっと読み、下記の構造を把握しました。

・コントローラースペック
・モデルスペック
・フィーチャースペック

まずはテストコードを書いて失敗する→

本格的には、オリジナルアプリ制作時にモデルスペックやフィーチャースペックを実装していく予定です。

### 4月上旬
#### プログラミングスクールカリキュラム

オンライン完結のプログラミングスクールに入校し、既定のカリキュラムを進めました。

 - 掲示板
 - タスク管理
 - Twitterクローン
 - 楽天APIを利用したショッピングサイト

3か月コースですが、1週間ほどで完遂。

Twitterクローンの中間テーブルを用いたお気に入り登録機能やフォロー/フォロワー機能は難しかったですが、何とか理解できました。

また、楽天APIを利用したショッピングサイトは、オリジナルアプリでamazonAPIを利用したサービスを制作していたいと思っていたので、何度も復習しました。

外部APIを利用する経験は、大きな糧になりました。

どうやらAPIは幅広く、いろいろなWEBサービスが提供しているようなので、既存のAPIを利用した新規サービス開発などに役立てられそうです。

またこの頃から、プログラミングスクールの課題やオリジナルアプリ開発で苦戦した忘れないようにQiitaでアウトプットするようにしましたね。

- Qiita:[Railsで「投稿お気に入り追加機能」を実装する](https://qiita.com/MuscleEngineer/items/ad4e85fb64b00a771aa3)

### 4月中旬～4月下旬
#### オリジナルサービス開発開始

サプリメントの口コミ共有サービスを開発しています。

 - GitHub:https://github.com/yuki0920/supplebox

筋トレ好きが高じて運営しているブログでは、サプリメントのレビューをしているのですが、PV的に割と需要があるなと感じていたので、このサービスに決定。

化粧品口コミサービスのLIPSさんは、僕の目指しているサービスに近いため、アーキテクチャ設計時にはかなり参考にしましたね。

開発初期のamazonAPIを利用した商品情報の取得に苦戦。
以前利用経験のあった楽天APIはJSONでの出力に対し、amazonAPIはXML形式での出力だったため、理解の浅い僕には難しかったです。

断片的な知識でなんとか実装できたので、今後のためにも記事を執筆しました。

- [【初心者】RailsでAmazonAPIを使ってみよう！](https://qiita.com/MuscleEngineer/items/7e7e9dcd955fed777bc1)


### 4.補助教材（隙間時間利用）

昼休みや就寝前の時間を利用してKindleで読書をしています。

#### 書籍『Webを支える技術』
『Webを支える技術』の2週目を読み、ブログにまとめました。下記のWebの知識を拡充でき、良書でした。

 - URI
 - HTTP
 - HTML
 - XML
 - JSON

XMLやJSONは読んだときは「？？」だったのですが、API利用時の情報取得で、利用されていることがわかり、理解が深まった感があります。

 - Blog:[【おすすめ技術書の要約】Webを支える技術](https://muscle-engeneer.com/web-technology/)

## 5.今後

オリジナルアプリ開発が順調なので、このまま進めていけば良さそうかな、と楽観的に考えております。
余裕があればCIツールやDockerも学んでみたいなと。

### 5月
 - ポートフォリオのコードをきれいに書く
 - ポートフォリオにテストコードの実装
 - ポートフォリオのSEO対策
 - 転職活動開始
 - Rubyの学習(『現場』)


まず、5月はポートフォリオに一層磨きをかけます。
同時に、弱点のRubyを深め、ポートフォリオのコードをリファクタリングしたり、転職活動時の技術試験に備えます。

教材的は、慣れ親しんでいる『現場Rails』のRubyやリファクタリングの章を読み込んで感触をつかむ予定。

ブロガー上がりなので、SEOにも注力し、転職活動時に検索ランクで上位取れてると最高ですね。


### 6月
 - Rubyの学習(Paiza、『プロを目指す人のためのRuby入門』)
 - 転職活動完了

5月のRubyの学習で足りない部分を『プロ』で補います。動くアプリをきれいに書くことをコンセプトとした学習です。

また、本格的に転職活動を進め、無事に内定獲得を目指します。

#6.最後に
- **先輩方からの勉強方法についてのアドバイス**
- **同じく未経験からWEBエンジニアを目指す方からのコメント**

お待ちしております！！

次回は、「サラリーマンを続けながらWEBエンジニアに6ヶ月で転職するまで【第3部/3部作】」を6月末に投稿予定です。

参考1：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第1部/3部作】](https://qiita.com/YukiWebTech/items/b31926c256e3c4392071)
参考2：[サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第3部/3部作】（→9ヶ月かかりました）](https://qiita.com/YukiWebTech/items/2c4f95cb347b68428f2b)