こんにちは、ユーキと申します。
僕はサラリーマンを続けながらWEBエンジニアを目指しています。
6月末までの転職を目標として設定し、12月末に勉強を開始。
現在4ヶ月が経過しました。
2ヶ月ごとに勉強の軌跡をQiitaに残そうと考え、今回は第2部です。
参考1:サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第1部/3部作】
参考2:サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第3部/3部作】(→9ヶ月かかりました)
#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時間程度で完了した割に、今後のプログラミングスクールの課題やポートフォリオの開発において、かなりの効果を発揮することとなりました。
ブログにも勉強内容を整理しアウトプットしています。
3月下旬
書籍『Everyday Rails - RSpecによるRailsテスト入門』でテストをざっくり把握
プログラミングスクールのカリキュラムに含まれていないものの、実務では超重要だとわかり、テストの勉強を開始。
3日くらいでさらっと読み、下記の構造を把握しました。
・コントローラースペック
・モデルスペック
・フィーチャースペック
まずはテストコードを書いて失敗する→
本格的には、オリジナルアプリ制作時にモデルスペックやフィーチャースペックを実装していく予定です。
4月上旬
プログラミングスクールカリキュラム
オンライン完結のプログラミングスクールに入校し、既定のカリキュラムを進めました。
- 掲示板
- タスク管理
- Twitterクローン
- 楽天APIを利用したショッピングサイト
3か月コースですが、1週間ほどで完遂。
Twitterクローンの中間テーブルを用いたお気に入り登録機能やフォロー/フォロワー機能は難しかったですが、何とか理解できました。
また、楽天APIを利用したショッピングサイトは、オリジナルアプリでamazonAPIを利用したサービスを制作していたいと思っていたので、何度も復習しました。
外部APIを利用する経験は、大きな糧になりました。
どうやらAPIは幅広く、いろいろなWEBサービスが提供しているようなので、既存のAPIを利用した新規サービス開発などに役立てられそうです。
またこの頃から、プログラミングスクールの課題やオリジナルアプリ開発で苦戦した忘れないようにQiitaでアウトプットするようにしましたね。
- Qiita:Railsで「投稿お気に入り追加機能」を実装する
4月中旬~4月下旬
オリジナルサービス開発開始
サプリメントの口コミ共有サービスを開発しています。
筋トレ好きが高じて運営しているブログでは、サプリメントのレビューをしているのですが、PV的に割と需要があるなと感じていたので、このサービスに決定。
化粧品口コミサービスのLIPSさんは、僕の目指しているサービスに近いため、アーキテクチャ設計時にはかなり参考にしましたね。
開発初期のamazonAPIを利用した商品情報の取得に苦戦。
以前利用経験のあった楽天APIはJSONでの出力に対し、amazonAPIはXML形式での出力だったため、理解の浅い僕には難しかったです。
断片的な知識でなんとか実装できたので、今後のためにも記事を執筆しました。
4.補助教材(隙間時間利用)
昼休みや就寝前の時間を利用してKindleで読書をしています。
書籍『Webを支える技術』
『Webを支える技術』の2週目を読み、ブログにまとめました。下記のWebの知識を拡充でき、良書でした。
- URI
- HTTP
- HTML
- XML
- JSON
XMLやJSONは読んだときは「??」だったのですが、API利用時の情報取得で、利用されていることがわかり、理解が深まった感があります。
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部作】
参考2:サラリーマンを続け未経験からWEBエンジニアに6ヶ月で転職するまで【第3部/3部作】(→9ヶ月かかりました)