初心者がテックアカデミーで独自サービス公開までの全学習記録

突然ですが、人生で挫折したことはありませんか?

  • ダイエット
  • 貯金
  • 禁酒
  • 禁煙
  • 恋愛

僕も40歳近くなる今まで挫折の経験は人並みにしてきました。

その度に「あんなこっといいな、できたら良いな?」と思っていました。

しかし、「40歳前にいっちょやってやるか!」とテックアカデミーに入会してプログラミングを学びWebサービスを公開することができましたのでその記録をまとめておきます。

作ったサイト

保活広場

テックアカデミーとは?

テックアカデミーは完全オンラインのプログラミングスクールです。

オンラインプログラミングスクールでは、

  • テックアカデミー
  • 侍エンジニア塾
  • テックキャンプ
  • コードキャンプ

の4つのサービスが有名です。

私の場合、日中は仕事をしているのでプログラミングにさける時間は子供が寝てから自分が寝るまでの時間しかとれなかったので完全にオンラインのみで完結するプログラミングスクールでかつ自分のオリジナルサービスが制作できるテックアカデミーを選択しました。

PHPコースにした理由

いくつかプログラミングコースがありますが、もともとワードプレスでブログを書くことはできました。Rubyとかほかの言語もありますが、PHPを学べばワードプレスがもっと楽しくなるのではないか?もし、挫折しても知識が無駄にならないのではないか?と少しネガティブな保険の意味もこめてPHPを選択しました。

テックアカデミーは4週間からコースがありますが、最初から8週間コースを選択しました。テックアカデミーについて書かれているブログは複数ありますが、オリジナルサービスまできちんと作ったブログは多分このブログが2つ目だと思います。入会してレポート書かれてますが、おそらく4週間とか短めに設定して挫折された方が多い印象です。

私のように全くプログラミング経験がない状態からオリジナルサービスを作りたいという気持ちで入会されるのであれば、間違いなく8週間以上のコースを選択したほうが良いと思います。

テックアカデミーは受け放題などのサービスもあります。しかし、テックアカデミーの素晴らしいところは質問し放題のチャットサポートよりも、オンラインでの現役エンジニアとのペアプログラミング、メンタリングです。

これがあったから挫折せずに私は2か月で何とかサービスまでこぎつけることができたと思っています。

 

0週目に感じたテックアカデミーのここがすごい

テックアカデミーは入会した日からカリキュラムを見ることができ、作業に取り掛かることができます。

時間とお金がもったいないので入会初日からテキストを読んでガンガン課題をこなしていきました。

初日から、コピペでプログラムが動いて

「自分がファイルを作ってプログラムが動くことが楽しい!」

そう思わせてくれる工夫がテックアカデミーの随所に見られました。

AWSクラウド9の開発環境

初心者がはまる最初の難関は、プログラミング開発環境です。プログラミング初心者向けの動画サービス「ドットインストール」のPHP講座は、Cent OSというソフトを入れたり、BIOSを少しいじったりしないといけません。これで、僕は心が折れかけました。

クラウド9は、アマゾンが提供するオンラインクラウド上での開発環境です。パソコンにソフトのインストール不要で、ブラウザさえあれば開発できる優れものです。

コピペで動く!サンプルコード

テックアカデミーの学習の流れは、

  1. 教材を読む
  2. 教材のコードをコピペする
  3. 動作確認
  4. 課題の制作。(一部コードを自分で制作。)

という流れになります。

「コード打ってないじゃない!」

そう思うかもしれません。

しかし、プログラミング初心者は、コピペさえ間違えます。

ちなみに、書籍で独学の場合、

  1. サンプルコードを手打ち
  2. 動作確認

ここで大体、半角スペースと全角スペースを間違えて脱落します。

コピペでも良いんです。動いて楽しければそれでいいと思います。

ググるよりも質問

テックアカデミーでは毎日15時から23時までチャットサポートがあり、質問をSlackに投げれば担当のメンターさんが答えてくれます。

大体、5分以内に時間内であれば返事が来ます。

プログラミングでわからないことはググって調べるが基本ですが、

「初心者はググってもそこに書いてある意味がわからない。」
「仕様が変更されて、ググっても古い情報しか出てこなくて詰む。」

ということが多々あります。そこを応用を効かせて解決することができるにこしたことがありませんが、まずプログラミング初心者はできません。

「テックアカデミーのテキストの内容だけでも仕様変更されてつみかけた。」(注 今は修正されて対応済みです。)という事例に遭遇しました。

AWSのクラウド9の仕様変更が昨年12月にあり、テックアカデミーのテキストの変更も追いついておらずそこで詰みました。Googleも調べましたが、当時の力量で私に読みこなせる情報はありませんでした。

テックアカデミー0週目の感想

テックアカデミーは、入会した日からテキストを読み課題を進めることができます。

  • 少しでも時間を有効に使いたい。
  • できるだけオリジナルサービスに注力したい。

そのように考えていたので、申し込み初日よりガンガン課題を進めていきました。

プログラムが動く、楽しい

とりあえず、テックアカデミーのテキストに載っている通りにコピー&ペーストすればそれなりに動くものは作れます。とりあえず、自分が書いた(コピペした)プログラム動くのは感動しますし、達成感もあります。しかし、コードを理解しているかと問われれば全く理解できてません。

ただ、「コピペを少し修正して課題の制作(追加機能の実装)にあたる」

を実践しました。

実際、0週目で15ある課題のうち9番目(メッセージボート)の作成まで1週間で終わらせました。

内容が多すぎて頭はパンク気味

内容が多すぎて一つ一つを理解することは全くできていません。ターミナルコマンドも打てませんし、教科書に書かれているインスタンス?クラス?メソッド?全部、全く理解できていませんでした。

ただ、コピペだけど自力でプログラムが動かすことが確認できる。

これがすごく楽しかったです。

テックアカデミー1週目の感想

CRUDで詰む

Laravelが入ってくると一気にテックアカデミーのカリキュラムは難しくなります。

タスクリストという基本中の基本であるCRUD機能をアプリを作る課題があるのですが、そこでつまづきました。

ここで何度もコピペしなおしたり、プロジェクトをつぶしては作りしてタスクリストを完成させました。(確認したら5回やっていました。)

初めてのメンタリング

はじめて、メンターとの面談は緊張しました。僕より年下のエンジニアさんがメンターでした。最初、何を話していいかもわからず、課題の理解も中途半端ではっきり言って質問にもなっていない質問をぶつけていた気がします。それでも、真摯に対応してくださり、課題を確認しておわりました。

テックアカデミー2週目の感想

お気に入り機能で詰む

MicropostsというTwitterのクローンサービスを作る課題があるのですが、そこの課題はお気に入り機能を実装することでした。ここで詰んでしまいました。どうしてもリレーションコードがうまくかけない。

当たり前といえ当たり前で、その当時はまだクラスもメソッドも理解していませんでした。

メンタリングスケジュールが火曜日と金曜日だったので、次のメンタリングまで時間が空いていたので、チャットサポートが始まる3時前に質問事項を下書きで書き溜めて3時になったら一気にSlackに投げる。

テキストを全部プリントアウトして、赤ペンでコードを追う。

といった勉強方法で何とか課題をクリアしました。

テックアカデミー3週目の感想

MonoListという課題をやりました。この課題は、Micropostsに比べると問題なく特につまづくことなくクリアできました。この頃、オリジナルサービスについての設計などをメンターさんと打ち合わせしました。

また、ソーテック社さんの詳細PHP7+MySQLをソーテック社さんからご提供いただいたのでひたすら読み込んでいました。この本は、Laravelではなく生PHPについての本です。一応、チュートリアル形式にて書かれていますが、自分が理解できていないところを読んで理解するという辞書的な使い方をしました。サンプルコードもシンプルで私のような初学者でもわかるように記載されておりますのでおススメです。

テックアカデミー4週目の感想

ついに、オリジナルサービスの開発に取り掛かります。

コンセプトは、保育園のデータベースサイトでした。実装したい機能などをメンターさんにしっかり伝えることができずに何度かダメ出しをくらいながらイメージを作り上げていきます。ユーザーと管理者が必要なのでそれを実装するにはどのようにしたらいいかを相談して詰めていきました。

テックアカデミー5週目の感想

実際、Laravel5.1で管理者とユーザーのマルチログイン機能を実装することは、当時困難でした。ひたすら、QiitaやTeratailというプログラミングサイトを通勤中に見て、自分で実装できるような簡単な機能の抜け道はないか?を試行錯誤していました。

このころ、メンターさんがLaravel5.1ではなくLaravel5.5なら比較的容易に実装できるとアドバイスをくれたのでカリキュラム外ですが、Laravel5.5でオリジナルアプリを制作を開始しました。

カリキュラム外ですのでなかなかチャットサポートでもLaravel5.5を触っている人がおらず、チャット中心からGoogle検索+Teratailでの質問というスタイルに変わりました。

テックアカデミー6週目の感想

何とかマルチログイン機能を実装することができましたが、保育園という大量のデータを扱うのでCSVで一気にインポートができないかと、Googleで調べたGoodbyCSVというライブラリを使用しインポートを実装しようと試みましたが、うまくいかない。そのトラブルをテックアカデミーのメンターさんと一緒に開発画面を見ながら解決していきました。また、お気に入り機能を実装しましたがうまくいかず、そこも一緒に画面を見ながら解決していきました。

テックアカデミー7週目の感想

仕事でメンタリングが遅れることがありました。テックアカデミーはメンタリング24時間前までにキャンセルか変更の連絡をしないといけませんが、24時間を切っていました。そこで、遅れる旨をメンターさんに連絡し、わからないことをSlackで連絡、遅れてメンタリングを開始するも、それまでにメンターさんが質問事項については読んで、コードレビューまでしてくれていたので通常より短い時間でしたが濃い時間を過ごすことができました。

テックアカデミー8週目の感想

ほぼ、オリジナルサービスが完成し、細かい部分のブラッシュアップを行いました。質問としては今後どのようなことを勉強すればいいのか?とか課題関係なしにプログラミングについて話していました。

テックアカデミーはおススメか?

個人的には、テックアカデミーでプログラミングを学んでよかったと思っています。

テックアカデミーには

こけない、挫折しないように支えてくれる仕組み

があり、それがチャットサポートだったり、メンタリングだったりします。

特に、メンタリングは自分から勉強する人にとっては最高の環境だったと思います。

メンターさんのおかげで2か月でサービスが公開でたことは間違いないですし、一人だったら挫折していたと思います。

プログラミングは初心者から学ぶのはインターネットが発達した今でも少し敷居が高いです。

もし、少しでも本気でオリジナルサービスが作りたいと思うなら、テックアカデミーはお勧めできます、

 

コメント