つい先日、TECH::CAMP(テックキャンプ)で1ヶ月間のプログラミング学習を終えました。最初は全く理解できず、「こんな自分がプログラミングなんてできるようになるんだろうか?」と半信半疑。
でも、いざ参加してみたらびっくり。
- メンターの方々がとても親切
- 教材がかなりわかりやすい
- スケジュールがしっかり組まれている
- 生徒のレベルが高くてモチベーションが上がる
などなど、プログラミング学習の環境がよく整っていました。なので、初心者のぼくでもしっかりと基礎力を身につけることができました。プログラミングを学ぶことで、確実に人生の選択肢が広がったので、今では「受講して良かった!」と心から思っています。
そしてなんと、今回の受講でカリキュラムの進捗具合が認められ、テックキャンプ公式の「エバンジェリスト」にも任命していただくことができました。
受講して半年後には、20名近くの方々にテックキャンプの良さを伝えるためにプログラミングの学習体験会も行っています。
たった一ヶ月受講しただけですが、それでも全くの初心者にプログラミングの基礎を教えられるまでになりました。
つまり、それだけテックキャンプの教材が素晴らしかったということです。
しかし、いくら教材が素晴らしくても、それだけでは高いレベルのプログラミングスキルを身につけることはできません。素晴らしい教材を活かすために、効率の良さは必要不可欠です。
せっかく高いお金を払うのですから、どうせなら最高に効率よく学習を進めていきたいですよね。
なのでこの記事では、テックキャンプでのプログラミング学習を超充実させるために、ぼくが実践してきた学習方法をお伝えします。
プログラミングができるようになれば、レバテックキャリアなどのエージェントでエンジニアに転職したり、【クラウドワークス】
やランサーズなどのクラウドソーシングで案件をこなして独立したりすることも可能になります。
プログラミングを学ぶと、人生の選択肢をかなり増やすことができますよ。僕も現在では、フリーランスになって2つの会社に勤めています。のびのび仕事できて幸せ。
事前学習
実はぼく、テックキャンプを受講する前からプログラミングを予習してました。なぜなら、「自分で理解できる部分は、自分で勉強したほうがいい」と思ったからです。
テックキャンプでは社会人の料金が1ヶ月で128000円もかかります。そのため、自分でやれば理解できるような基礎的な知識のために時間を使ってしまうのは、お金を捨てに行っているようなものです。
そのため、自分でやっても理解できないところだけに時間を使えるように、事前に独学で基礎を学んでいました。僕が学んだのはここら辺ですね。
- 文字や数字の出力(puts)
- データ型
- 変数条件分岐(if)
- 繰り返し処理(each)
他にも、テックキャンプが始まる前に、ぼくが実際に取り組んだことをご紹介します。以下の項目は、初心者にとっては結構重要。
プログラミングに関する本を読んだ
まずは、プログラミングに関して基本的な概念を解説するものから、本格的なスキルを学習する本まで、それらを一通り読みました。
プログラミングをはじめよう(池澤あやかさん)
この本は、タレント時々プログラマとして活躍している、池澤あやかさんが書かれた本です。
ざっとまとめてみると、内容はこんな感じです。
- プログラミングで手に入れられる働き方とは?
- プログラミングで何ができるのか?
- プログラミングは文系や女性には難しいのか?
- どのように学習を進めるべきか?
- 初心者が向いている言語は何か?
- プログラミング的思考とは何か?
こういったことを、わかりやすい言葉で説明してくれています。本自体もそこまで厚くないですし、あまり難しい専門用語も書かれてないので、プログラミング初心者のぼくでもスラスラと読めました。
ぼくはこの本を読んでいるうちに、気づいたら「プログラミングをやってみたい!」という気持ちになってました。プログラミングの楽しさを認識し、モチベーションを上げるためには最高の一冊です。
特に好きなのはこの部分。
プログラミングが「つまらなそう」な理由
「そもそもプログラミングって面白いの?」
と思われるかもしれませんが、私は飽きっぽい性格なので、面白くなければ続きません。
私にとってのプログラミングの面白さは、そのものの面白さというよりも、プログラミングで作ったものを世に出す面白さにあります。
Webやアプリをリリースすると、見てくれた人や使ってくれた人が感想をフィードバックしてくれます。自分で作ったものを通じて、ぜんぜん知らない人と交流することができます。
そういった側面が、私にとってのプログラミングの面白さです。そういう意味では、映画や音楽や演劇など、他の芸術の面白さにも通ずるところがあると言えそうです。
この文章に、プログラミングを学ぶことの本質が書かれています。大切なのは、「プログラミングを通してどういうことができるのか?」ということを知ることです。
多くの人は、まず最初に何が書かれているかわからない暗号のようなコードを見て、拒絶反応を示すでしょう。
そういう僕も、コードを書くことの楽しみなんて全く知りませんでしたし、興味もありませんでした。でも、今ではコードを書くのがめちゃくちゃ楽しいです。プログラミングの一番の魅力は「そのコードを使って自分のアイデアを形にする」ということ。自分の生活を楽にできるのがプログラミングのいいところです。
学習を進めていく中で、1度自分のアイデアを形にすることができれば、一気にその楽しさを実感することができますよ。簡単な自己紹介アプリを作るだけでも、自分の思ったとおりのものができるとめっちゃ嬉しい。
「プログラミングがどういうものなのか、ちょっと気になる」
そういう方は、まずは池澤あやかさんの本を読んでみてください。 ぼくはテックキャンプがはじまってからも、スキマ時間に何度もこの本を読んでモチベーションをあげていました。
あとは、下の2冊もオススメ。どちらもさらっと読める内容です。
たった2日でできるRuby(Ruby2.0対応)
「たった2日でできるRuby」と書いてありますが、もちろん2日でRubyをマスターできるわけではありません。それでも、この本では基礎的な部分をカバーしてくれているので、初心者の方にはオススメの一冊です。(ちなみに、WindowsとMacの両方に対応しています)
書いている内容は本当にわかりやすいので、さらっと基礎知識を身につけたい方は読んでみるといいでしょう。
HTML・CSSの練習
モチベーションを上げるための本を読んだら、次にHTMLやCSSを学んでウェブサイトを作る練習をしました。
そのおかげで、テックキャンプの受講中も、基礎的な部分に関してはほとんどメンターの方に質問をせず、自分の力でカリキュラムを進められるようになっていました。
実際に自分でコードを書いた経験があるのとないのとでは、エラーを解決するまでのスピードに圧倒的な差が出ます。ぼくはHTML・CSSの学習を通してエラー解決するための思考を身につけていきました。
スクールを受講する前に、最低でもHTMLとCSSは学んでおいた方がいいです。この2つの言語は、初心者がプログラミングの基本的な考え方を学ぶにはちょうどいい難易度です。ぜひ、遊びながら使い方を覚えてみてください。
注:HTML・CSSは厳密にはプログラミング言語ではないのでご注意を
ドットインストールで動画を見た
このサイトは、プログラミングを学ぶ上ではぜひ利用してほしいです。3分くらいの短い動画でプログラミングについて解説されていて、隙間時間を利用して気軽にプログラミングを学ぶことができるようになってます。
アカウントを作れば、自分の学習進度を把握することができるので、ぜひ登録してみてください。やっぱり、動画で説明されるとわかりやすいですよ。
リリースしたいサービスを考えた
もちろん、何もかもが初めての経験なので、そんな高機能で完成度の高いものをいきなり考える必要はありません。
あくまでも無理せず作り上げることができそうなサービスを考えましょう。
ある程度のイメージができていれば、スクールに通っているうちにどんどん実装したい機能を考えられるようになってきます。
始める前はザックリとイメージするだけで十分なので、ぜひ考えておきましょう。作りたいサービスがあるほうが、プログラミングの上達も早いです。僕は簡単なタスク管理アプリから作りました。
スクール(webアプリケーションコース)開始後に実践したこと
スクール開始後は、ただひたすらにカリキュラムをこなしていきました。ここでは、効率よく学習を進める上で重要なことをまとめてみます。
勉強するための時間を作る
これはもう、当たり前ですね。時間を作らないと、勉強することはできません。
テックキャンプのカリキュラムは、平日3時間、休日6時間でこなすように設計されています。なので、とにかく時間を確保することが絶対条件。
ぜひ、学習中は、プログラミングを学ぶためのタイムスケジュールを立てて行動しましょう。
ぼくは、平日は朝6時に起きて出社前に1時間、会社ではお昼休憩で1時間、夜は仕事を定時の18時に終えて2時間以上勉強するようにしてました。もちろん、休日は6時間以上みっちり勉強してます。
「6時間以上勉強するのは辛いな」
と思われる方もいらっしゃると思いますが、プログラミングをやってると、6時間なんてわりとあっという間に過ぎてしまいます。それに、テックキャンプで使用するTECH::MASTER(テックマスター)という教材もとてもわかりやすいので、飽きずに楽しく学習することができるんです。
だから、プログラミング学習に使える時間はできるだけ確保するようにしましょう!そうすれば、教材をこなすだけで確実にレベルアップします。
進み具合をスケジュールで確認
テックキャンプでは、カリキュラムをこなすスケジュールが決められていて常に自分の進捗状態が確認できるようになってます。
なので、遅れている場合は時間をできるだけ確保したり、学習スピードを早めたりしてきちんとスケジュール通りにこなすようにしましょう。
ご参考までに、ぼくが実際にこなした学習スケジュールを書いておきます。
個人的には、進めるスピードはそこまで遅くなかったと思います。
実際、カリキュラムで決められたペースをきちんと守って学習することができました。
仕事をしながらプログラミングを勉強した割には、結構ちゃんとこなせた方じゃないかな?
わからないところは即質問
ぼくは、基礎カリキュラムでは一回も質問せず、自力でエラーを解決していたのですが、やはり応用カリキュラムではそうはいきませんでした。
わからないところがたくさん出てきたので、そういう時は迷わずメンターの方々に質問しました。
そうすると、メンターの方々の対応が丁寧でとてもわかりやすかったです。
また、人当たりもとてもよかったです。
悩んでいる時間はもったいないので、わからない部分があれば積極的に質問しましょう。
そして、メンターの方々のスキルを盗みましょう。
とにかく前に進む
テックキャンプのカリキュラムは、理解度が100%にならなくてもいいので、とにかく教材をこなす事を最優先しましょう。
そうすると、3週目あたりから一気に知識が繋がり始め、理解度がグーンと伸びてきます。
逆に言えば、開始してから最初の3週間は、身についているのか不安になってちょっと辛い時期です。
ぜひ、この辛い時期を乗り越えて優越感に浸りましょう。
理解度をグラフで表すとこんな感じです。
また、学習の進め方に関しては、代表の真子さんもこのような事をおっしゃってます。
ーーーーーーーーーーーーーー代表真子からのメッセージーーーーーーーーーーーーーーお疲れ様です!TECH::CAMPのカリキュラムは、本来、独学で半年以上かかる内容を1ヶ月に圧縮しています。そのため最初は新しい知識ばかりで定着している気がせず不安になります。しかし、諦めずに続けると早くて3週間あたりから一気に知識が繋がります。実際にこのTECH::MASTERをやりきった後にエンジニアとして活躍している人もたくさんいますので、最後まで諦めずに学習を続けていきましょう。小さなことでも気軽に質問してください!
ぼくも実際は「本当にこんなんで知識が身につくの!?」と不安を感じながらカリキュラムを進めていました。
ですが、地道に続けていくと本当に一気に知識がつながる瞬間が来たんです。
だから、不安に感じることがあってもひたすら前に進んでいったほうがいいです。
そもそも人間の脳は、一度で大量の物事を覚えることはできません。
だから、1度で完璧に理解しようとするよりも、復習を前提とした勉強の仕方を心がけましょう!(これ超大事)
その方が効率もいいし、全体を把握しながら知識を結びつけることができます。
まずは、一通り終わらせることを目指しましょう!
一通り終わったら復習
だいたい、早ければ3週間くらいで復習の段階に入ることができます。
その時に、改めて基礎的なことから学ぶと一気に知識がつながるようになってきます。
なぜなら、カリキュラムをこなす中で1度自分で実践したことを、改めて知識として取り入れるから、その意味を理解しながら覚えることができるからです。
おそらく、誰でも初めてプログラミングを学ぶ時は
「えっ?これ何の意味があるの!?これやったらどうなるの!?」
ってなると思います。
それが、一通りカリキュラムを終えてから復習をすると
「あ〜!!!これはあれに使うのか!!!なるほどね!!!」
ってなるんです。
そしてそして、復習するならついでに何かカリキュラムを応用して、自分で簡単なアプリを作ってみるのがいいです。
その方が楽しいし、実際にどこにどのコードを書けばいいのかを自分で考えるようになるため、一気に知識の定着が早まります。
ぼくは、カリキュラムを見よう見まねでこんなものを作りました。
こうやて色々いじっていく中で投稿機能の実装の仕方を覚えたし、
- ログイン機能をつけるにはどうすればいいんだろう?
- 投稿の削除機能をつけるにはどうすればいいんだろう?
と考えるようになりました。
ぼくは、もうちょい遊び感覚でいくつかアプリを作ってから、自分のサービスの作成に挑戦したいと思います。
個人的には、この復習の時間がとても大好きでした。
そこにたどり着くまで苦労した分、理解できるようになったときの快感はたまりません。
なので、1ヶ月の間になんとしても復習をするところまで到達した方がいいです。
ぼくは、最後の4週目でやっとほとんどの知識を身につけた感じでした。笑
人生を変える1ヶ月になったか?
もうね、充分すぎるほど人生変わりましたよ!
1ヶ月前までは、「こんな俺でもプログラミングできるようになるのかぁ〜?」くらいの気持ちだったわけです。
でも、それが「あれっ?もう少し勉強すれば自分でサービス作れるようになるんじゃね?」くらいのところまで来ることができました。
もちろん、ぼくが1ヶ月で身につけたことなんて、プロの方々からすれば本当に付け焼き刃の薄っぺらい知識です。
ですが、プログラミングスキルをどんどん吸収するための土台は確実に築くことができたという実感があります。
それくらい、TECH::MASTER(テックマスター)という教材が素晴らしかったです。
自分でも色々と、Ruby on Railsのわかりやすい教材を探したけど、正直TECH::MASTERにかなうものはありませんでした。笑
カリキュラムについて強いてダメ出しをするなら、
- もう少しシンプルなアプリを作るようなカリキュラムを組んでほしい
- HTML、CSSに関してはさわり程度しかやらない
- カリキュラム終了後も教材を開放してほしい
という点くらいですね。
それ以外は何の不満もないです。
まとめ
最近では、【クラウドワークス】 で単発のプログラミング案件が多数紹介されていたり、レバテックキャリア
やレバテックフリーランス
などのエージェントも充実しています。
フリーランスエンジニアになった場合、Webエンジニアであれば月に90万の報酬も夢ではありません。
これだけ、エンジニアにとってはいい環境が整えられている中、プログラミングを学ばないのは非常にもったいないです。
自分の会社もいつまであるかわかりませんし、突然クビにされることだってあり得ます。
そういう場合でも、プログラミングスキルがあれば慌てずに済みます。
テックキャンプであれば、1ヶ月に13万(学生の方は64000円)払う価値は充分にあるので、プログラミングスキルを身につけたい方は、ぜひこちらで学んでみてください。
テックキャンプに関する質問あれこれ
ここからは、あなたがテックキャンプに関して気になる点に答えていきたいと思います。
受講前の疑問に関しては、こちらで解決しちゃってください。
テックキャンプを受講するメリットは?
テックキャンプでは、プログラミングをほとんどやったことがない初心者のあなたでも、何の不安もなく安心して受講できる体制が整っています。
その理由は以下の通り。
教材のクオリティーが高い
テックキャンプの教材であるTECH::MASTERは、質問を受けたら即改善ということで、現在では5000回以上のアップデートが重ねられています。
そのため、説明文もすごくわかりやすく、理解しにくいところは動画でのサポートもされています。
なので、徹底して受講者が理解しやすい工夫が施されているのです。
また、用語集や練習問題、トラブルシューティングに関する特設ページも用意されています。
なので、本カリキュラム以外のコンテンツもかなり勉強になるものばかり。
また、市販の参考書だと、その時点では学ぶ必要がない無駄な知識も多く含まれているため、かなり遠回りをしてしまいます。
ですが、テックキャンプであれば、必要最低限の知識を最短で学ぶことができるため、1ヶ月という短期間でも一気に初心者の域を脱することができます。
ぼくも独学で参考書を読んで勉強しましたが、今思うと無駄な内容が本当に多くてびっくりしました。(ちなみに独学は挫折)
参考書を使いながら無駄な内容を含めて何ヶ月も勉強するより、1ヶ月でサクッと初心者を卒業した方が賢いですね。
時間も立派なコストなので。
アプリを作りながら学べる
参考書によくある、プログラミングの基本的な文法をひたすら繰り返すだけの学習って超絶つまらないですよね。
そんな、何の楽しみも感じないことを学ぶよりも、「コードを書いてアプリを作成する楽しさ」を知ることが大切です。
楽しければ「勉強しなきゃ!」なんて意識しなくても、頭が勝手にプログラミングの方に向かいますからね。
勉強において効率がいいのは、「頑張る」ことよりも「のめり込む」ことです。
だからこそ、プログラミングも作りながら学んだ方がいいんです。
いつでも質問できる
初心者の方がなぜ独学で挫折するかというと、それは「エラーが出ても自力で解決できないから」です。
プログラミングは、たくさんのコードのうちたった一文字でも間違うだけで、エラーが出て動かなくなります。
これは、ある程度慣れてくるとすぐに解決できるようになるのですが、それを初心者の方がやろうとすると、下手したら1日かかっても解決できません。
テックキャンプの代表である真子さんも、最初にプログラミングを学んだ時は「たった1つのエラーで1ヶ月の間、全く前に進まなかった」ということをお話ししていました。
真子さんのように、1ヶ月も悩み続けるだけの精神力があれば話は別ですが、大体の場合はこの段階で挫折するでしょう。
だからこそ、エラーが出た時にはすぐにメンターの方に質問し、玄人の方々の問題解決における思考プロセスを間近で見て学んだ方がいいわけです。
その方が無駄な時間もストレスも生じないし、何より挫折しなくて済むので、継続してスキルを向上させることができます。
初心者を脱することができればあとは自分でエラーを解決できるようになっているので、その最初の壁を越えるためにメンターを使い倒すのが賢い受講の仕方です。
テックキャンプを受講するメリットは以上です。
これだけのメリットを考えると、無駄な時間やストレスを生む独学がどれだけ効率が悪いかがわかると思います。
それらの理由から、ぼくは13万という決して安くはない受講料を払ってでもテックキャンプでプログラミングを学ぶという選択をしました。
初心者でもできるようになるか?
充分できるようになります。
何を隠そう、ぼくも全くの初心者だったので。
大学・大学院と、ともにIT系とは全く関係のない生物を学んできたぼくでもできたのだから、あなたでも充分できるようになります。
大切なのは、プログラミングに関するセンスではなく、勉強する姿勢と時間を確保することです。
わからない部分に関しては、メンターに聞きまくればいいので何も心配はいりません。
ぼくが受講した時は、文系の学生さんも受講されていたくらいです。
Windowsでも受講できるか?
Ruby on Railsは、最初から実行環境が整っていることから推奨されているパソコンはMacなのですが、Windowsでも受講することは可能です。
ただし、「Rubyコース」「PHPコース」「VRコース」の中でも、Windowsで受講できるのは「Rubyコース・VRコース」のみです。
そして、その際に必要なスペックは以下の通り。
<必須スペック>
- Windows 7 以上(64bit必須)
- Intel Core i3 以上 (Celeron/Pentium/Atom/Core 2 Duoは不可)
- メモリ4GB以上
- デバイス空容量50GB以上
- 購入年数3年以内
<推奨スペック>
- Intel Core i7 以上
- メモリ 8GB以上
- SSD搭載機種
大体、値段にすると10万円以上のパソコンが必要ですね。
まぁ、そのくらいの値段はパソコンであれば当然なので、そこまで心配することはないかと。
ちなみに、このスペックのパソコンを持っていない場合でも心配はありません。
テックキャンプではMacのレンルも行っていて、1週間あたり1500円で借りることができます。
個人的には、パソコンを購入してプログラミングの環境構築をするのがオススメです。
なぜなら、いつでもプログラミングを練習できるようになるからです。
しかし、もしわざわざパソコンを買いたくないなら、こういうサービスは嬉しいですね。
受講スタイルはどのようになっているのか?
テックキャンプの受講スタイルは、講義形式ではなく黙々と自分のペースでカリキュラムをこなしていくスタイルです。
そして、わからないことがあればその都度メンターに質問して疑問を即解決していきます。
もちろん、直接オフィスに通わなくてもビデオ会話やチャットで質問をすることができます。
受講してみた感じ、オフィスに行っても自宅にいても、そこまで勉強に不利になることはありませんでした。
オフィスに行くメリットは、コーヒーやお茶が飲み放題であることと、休憩時間にお菓子がもらえることですね。
その他補足情報
その他の事項についても色々補足説明をしていきます。
・受講料を前もって支払った人は、受講開始2週間前からカリキュラムの観覧ができる
・イナズマコース一週間の受講が終了したら、残り3週間はカリキュラムの観覧とオンラインでの学習が可能
・イナズマコース受講後、残り3週間教室を利用したい場合は、10800円(税込)の追加料金がかかる
・他のコースとの同時受講はできない
・1日に3時間程度、時間が取れるのであれば1ヶ月コースがオススメ
・1日に1時間程度、時間が取れるのであれば2ヶ月コースがオススメ
・短期集中で一週間まるまる時間が取れるのであればイナズマコースがオススメ
テックキャンプに関して、疑問や不安を抱きそうな部分は、こんなところでしょうか?他に不明な点がある場合は公式サイトをご覧ください。