これは2017年ごろの話です!
今通用するかどうかは怪しいので注意して読んでください。
エンジニアになった経緯紹介記事
エンジニアになった経緯を紹介する。長いので以下のパートに区切って記事にする。
・プログラミングスクール入学から卒業まで ←今ここ
・プログラミングスクールから業務システム開発会社のサーバーサイドエンジニアになるまで
・業務システム開発会社のサーバーサイドエンジニアからゲーム会社のサーバーサイドエンジニアになるまで
テックキャンプエキスパートコースでの学習に1週間くらいでついていけなくなった
テックキャンプでの学習は、オンライン教材を読みながらアプリを実装するものだった。やったことはうろ覚えだが以下の通り。
教材でやったこと
・railsの環境構築
・githubの使い方
・rubyを使って簡単なプログラムを実装する(標準入力した値を計算するとかだったか?)
・htmlとcssで色付きの四角いブロックを並べ替える簡単なマークアップをする
・javascriptで押したら色が変わるボタンを作る(確か。。)
・railsでチャットアプリを作る(ActionCableを使った非同期通信ではない)
・railsで現行のイケてるサービスの一部機能をコピーしてAWSにデプロイする
これらのカリキュラムを大体3週間くらいで終わらせるスケジュールが切られていたので、あんまり詰まると間に合わなくなる。
自分は確かhtmlとcssのところでスケジュールには間に合わなくなっていたと思う。
学ぶより答えを探す日々を送る
スケジュールがキツかったので、遅れた分の学習はネットで調べてコピペで済ませていた。「どういう仕組みでそのように動いているか」を学ぶ余裕は自分にはなく、自分がやっていることと同じことをやっている記事を探してはコピーの繰り返しだった。
なので、画面に表示されたものがなぜそのように動いているかはわかっていなかった。当然コピーしたものが想定通りに動かないことも多く、その場合にはまた別の動くものを求めて検索をしまくっていた。
在籍期限のないテックキャンプエキスパートコースの夜間コースに編入する
そんなコピー生活を送っていても、学習スケジュールは大幅に遅れていた。また、コピーにコピーを重ねた手元のプログラムはめちゃくちゃで、まともな人なら1から作り直したほうが早いとすぐに判断する代物だった。
しかし、こちらはその「1から作る」ができないからコピーしているのである。このバグ大盛りのスパゲティをなんとかする以外やることはなかったのである。
学習スケジュールの遅れが挽回不可能なところまで来た頃、エキスパートコースの夜間コースの存在を知る。夜間コースでやっている人に話を聞いてみると、夜間コースはそもそも学習時間が取れない人向けのコースなので、通常コースのように学習スケジュールも切られていなく、在籍期限も存在しないという。
今の自分にはぴったりだと思い、このコースへの変更をテックキャンプに申し出る。そして、これは簡単に受理された。ラッキー。
課題をなんとかクリアする
たしか、10月頃にテックキャンプに入って、11月には夜間コースに編入して、課題をクリアして卒業したのは1月くらいだったと思う。本来長くても1ヶ月でクリアする課題を4ヶ月近くかけてやっちゃったのである。
もちろん、時間はかけたがカリキュラムをこなしただけなので、他のテックキャンプ生と知識に差はない。
会社員エンジニアになるための就職活動を開始すると同時にコースは卒業となる
課題をクリアしたのでここからは就職活動を行った。この状態でコース自体は卒業である。めでたしめでたし。
テックキャンプでの課題に人の4倍くらい苦戦したので、そんな無能は当然、就職活動でも相当苦労することになる。そのお話はまた次の記事で。
もしも当時のテックキャンプのカリキュラムを本などで学ぶならこれを使う
・railsの環境構築とrailsで投稿、編集、一覧、参照、削除ができるアプリを作る
railsのインストールからサンプルアプリの実装までできる。以下の2つはどちらか1つでいいと思う。
・htmlとcssとjavascriptで簡単なマークアップをする
マークアップはサーバー側と違って、間違っていても明確なエラー文が返ってこないことが多い。もちろん間違っていると動かないので、画面が真っ白になったりする。
そんな間違いを丁寧に指摘してくれるのはprogate。これは自分がテックキャンプ在籍時も使っていた。正直こちらのほうがわかりやすい部分も多かった。
・javascriptでajax通信を行う(railsのremote: trueとだいたい同じだけど)
テックキャンプのカリキュラムにあったajax通信。実際、railsのformにはremoteのオプションがあり、これを使えばこちらは学ぶ必要がないが、学んだので一応入れておく。
ちなみに、こんな仕組みです。
・AWSにデプロイする(capで)
こういうのはAWS側の仕様がわりと変わるので、最新記事をみるのがいいと思う。
記事でざっくり流れを把握して、あとは実際にやってみて、エラー文をgoogleに突っ込んで答えを探すことの繰り返し。
この時、自分がやったことの手順をまとめておくと、プログラムの修復もしやすいし、完遂できたら記事にもできてお得。