WEBエンジニアとして一人立ちした個人ロードマップ(実装編)


はじめに

この記事は、commew Advent Calendar 2019の25日目の記事です。

自分は組み込みをずっとやってて、1年前まではWEBの知識どころか経験もないエンジニアでした。
そんな自分が独学で勉強して現場でほぼ一人プロジェクトを経験して今、スタートアップでWEBエンジニアとして今一人で仕事を進めれるまでに至った学習ロードマップを紹介しようと思います。

前提

・エンジニアとしての経験は3年(SEとしての経験)
・WEBの経験は無し
・一年前は、プログラミングはほぼコピペばかりであまり自信がなかった
・ほぼ独学(プログラミングスクールやメンターなどは未使用)
・あくまで自分が一年前から今までどんな感じで学習してきたかを振り返る形なので参考程度に見ていただければと・・・

学習ロードマップ(実装編)

①〜④は独学
⑤〜⑦は業務
になります。

①Railsチュートリアル(2019/01~2019/02)

一番最初にやったのはRailsチュートリアルでした。
まあ決めた理由はだいたい未経験の方と同じ理由で色々なサイトでオススメされていたので。。。
日本語ドキュメントが充実していてFWを使った開発をしたことがなかったので、一通り全部やりましたね。
ここでWEBの楽しさとGitの便利さとローカルでのRailsの環境構築の大変さを主に学びました。

使った技術:

Ruby, Ruby on Rails, MySQL, Git, GitHub, Heroku, Node.js(環境構築用)

②個人用のポートフォリオサイトを作成(2019/03)

転職をしようと思った時に何か自分で作ってみようと思ってVue.jsとFirebaseで簡単なポートフォリオサイトを作りました。
その時に作り方をまとめたのはこちらになります。

Vue.js + Firebaseで自己紹介用の静的サイトを作ってみた 第1弾 環境構築編
Vue.js + Firebaseで自己紹介用の静的サイトを作ってみた 第2弾 実装編(ルーティング)
Vue.js + Firebaseで自己紹介用の静的サイトを作ってみた 第3弾 実装編(ヘッダー、フッター、SNSリンク設置)

使った技術:

JavaScript, Vue.js, Vue-CLI2, Git, GitHub, Firebase(Hostingのみ), Node.js(環境構築用)

③RailsでECサイト構築(2019/04~2019/05)

これもたまたまSNSで見かけたものなんですが、とだこうきさんがRailsチュートリアル終了レベル向けの学習教材として以下を公開していて自分は開始当初から参加していたのですが要件を最初に出してそれについて自分で考えながら作っていって後ほど解答と解説を公開するといった課題解決型でやってました。
有料の教材でしたがnoteで単体では安かったので手が出しやすかったです。
これとRailsチュートリアルでMVCの考え方とかは結構理解できた気がしますね。。。
Railsで簡易ECサイトを作ろうWriteSomeCode

使った技術:

Ruby, Ruby on Rails, MySQL, Git, GitHub, Heroku, Node.js(環境構築用)

④RailsでLINEBOT作成(2019/06)

これはハンズオン形式の勉強会をやろうと思ってそこで作るためのものとして作りました。
ここで初めて外部APIを使用しました。

この時用意した資料はこちらです。
【初心者向け】AWS Cloud9 + Ruby on Rails + Heroku + LINE messaging API でLINE BOTを作ってみた

使った技術:

Ruby, Ruby on Rails, Git, GitHub, Heroku, LINE messaging API, Open Weather Map API, AWS Cloud9, Node.js(環境構築用)

⑤PHPでほぼ一人プロジェクト(2019/07~2019/09)

容器管理システムの要件定義、設計、実装、テストまでほぼほぼ一人でやってました。
一応全体のスケジュールを管理する人は別にいたけど実作業はほぼ自分一人でやってました。
ある意味誰も頼れる相手がいない環境だけど納期はあるので追い込まれるのもあって、ここでかなり実装のスキルはつきましたね。。。

使った技術:

PHP(v5.0系), PostgreSQL(バージョンは忘れました), RedHat3系, IE5系, jQuery, JavaScript, A5MySQL

⑥診断サイトのJS部分の実装(2019/08)

こちらは副業でやってたものですが、デザインコーディングの終わってる診断サイトに動きをつける部分の実装のみを担当してやらせてもらいました。
VueのComponentを使って特定部分だけVue実装といった形で対応しました。
WordPress案件も初だったのでローカルでのMAMPを使ったWordPress環境の構築もこのタイミングで初めてやりましたね。
副業でのお客さんが優しかったのもあり、いい感じに終わらせて報酬を無事受け取ることができました。

使った技術:

Vue.js, WordPress, MySQL, PhpMyAdmin, MAMP

⑦SymfonyでSaaSの開発(2019/10~現在)

今は、現職でECプラットフォームのアプリケーション開発を行ってます。

使った技術:

PHP(5.6系, 7.1系), Symfony(2系、3系), JavaScript, MySQL(5.5系), BootStrap, jQuery

終わりに

参考になったかどうかわからないですがWEB未経験の自分がこの一年間でやってきたことです。
今でもわからないことたくさんですがなんとかかんとか一人称で開発できてます。
この一年間やってきてやっぱりググる力(調べる能力)をつけるのが一番大事かなぁと思いました。
特に独学でエンジニアやってる人はここが強い人が多い気がします。
後はなんだかんだで業務でやってた時が一番成長できてるので個人の勉強をずっとするよりある程度期間を定めて勉強してそれ以降は業務で経験を積んだ方がいいですね。