2019年12月からFJORD BOOT CAMP(フィヨルドブートキャンプ)で学習を始めた。年度末は仕事や引っ越しであまり勉強できなかったが、4月からは学習中心の生活を送っている。
基本的には本や参考サイトを見ながら自分のペースで進めるスタイルで、課題は現役プログラマのメンターがレビューしてくれる。学習した日は必ず日報を書くことになっていて、メンターが見てくれるシステムがとてもいい(他の参加者も見たりコメントしたりできる)。質問はSlackやサイト上でいつでもできるようになっているほか、ミートアップやLT会などもある。
多分今カリキュラムのちょうど半分ぐらいなので、どういうことを勉強したのかまとめておく。学習時間は、ブログを書いたりLT会の準備をしたりする時間を含んでいない。
学習してきたこと
去年の12月以前:これまでどんな勉強をしたか(まとめ) - No Solution for Life
0〜100時間(12月〜1月)
学習の進め方を確認。SlackやGitHubに登録。
自分のブログを作る。当初ワードプレスで作ったが後でこのはてなブログに移行。
Macのターミナル操作に慣れる。
Markdownの書き方。HTML&CSSの基本。ページの模写。
Linux。VPS上にDebianをインストール。新しいLinuxの教科書など。この本がとてもわかりやすくてよかった。
101〜200時間(1〜3月)
HTTP。「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのかを読む。telnetでHTTP通信を見る。
Cookieの理解。
Nginx(エンジンエックス)。VPS上のDebianにNginxをインストールしてVirtualHostを使って複数ドメインのサイトを作る。SSL化する。
GitとGitHub。Git-itや本などを見ながらやってみる。
Ruby。ゼロからわかる Ruby 超入門 はじめてのIT技術講座を読む。練習問題は少し難しいものもあったが全体的にとてもわかりやすい本だった。
201〜300時間(4月)
引き続きRuby。FizzBuzz問題。カレンダーコマンドをRubyで作る。初めて本格的に書くプログラムで、カレンダーは最初途方に暮れた。が案外すぐできた。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus 2周。例題プログラムを実際に動かしながら。まだ全ては理解できていないのでまた読み返す。
301〜400時間(4月〜5月)
RuboCop、rake、Bundlerの理解と実践。
lsコマンド、wcコマンドをRubyで作る。オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方を読む。lsコマンド作りが一番大変だった。丸2週間かかって作り上げたので達成感があった。
401〜500時間(5月〜6月)
SQLの基本、PostgreSQLインストール。
データベース設計。達人に学ぶDB設計 徹底指南書、楽々ERDレッスン (CodeZine BOOKS)を読む。TwitterのER図を描く。これもなかなか難しかった。
501〜600時間(6月)
RESTの理解。Webを支える技術 ―― HTTP,URI,HTML,そしてREST WEB+DB PRESS plusを読む。URL設計をやってみる。
Sinatraでアプリ作り。データベースなしとあり(PostgreSQL)で。JSONの勉強もした。コネクションの考え方が難しい。
Rails。Railsの教科書を実際に動かしながらやる。Railsインストールに意外と手間取った。
振り返ってみて思うこと
いろいろ勉強してきたけど、まだまだ道のりは長い。3ヶ月間朝から晩まで毎日勉強してみて思うのは、やっぱりこれは絶対仕事にしたいということ。毎日やっても飽きないし嫌になることもない。元々Webサイトを作ったりするのが好きで没頭しているとあっという間に時間が過ぎる。今は時間だけが過ぎて何も生み出せないことも多いけど、もっと勉強して実践していろんなものを生み出せるようになりたい。
夜寝る前などの隙間時間には、英語の勉強をしている。仕事の役に立つと思うからというのが大きいが、もはやプログラミングも英語学習も趣味かもしれない。以前から、仕事が暇な時期になると英語か情報技術系の勉強方法や資格の取り方なんかを調べるということをよくやっていた。勉強方法を調べるだけで実際に勉強はしなかったから全く身についていないのだけど…。
今度こそどちらも身につけるべく、毎日地道に続けます。