TechAcademyを受講して改めて分かったプログラミングを上達するための3つのコツ

2018年9月21日TechAcademyTechAcademy,コツ,プログラミング

管理人のプログラミング能力は初学者を抜けたくらいです。(具体的には、読んで何の処理を行っているかは理解できますし、分からないメソッドが出てきても自力で解読できますが、自力でフロントからサーバーサイドまで構築して!となるとちょっと厳しいかな…というくらいです。)

会社の研修でJavaでのサービス開発を行ったのを皮切りに、基本的なHTMLやCSS(SCSSとかも)は理解していますし、SEOの知識もあります。(参考:WordPress(PHP)を挫折せずにできるだけ独学で勉強する方法・コツをまとめる)

個人的にRubyが好きなため、Ruby on Railsで週末プログラミングに勤しんでいるくらいだったりします。(参考:プログラミング初学者を抜け出すコツは「コードレビューを先生の隣で受ける」こと【PR】)

そんな僕が、TechAcademyのWebプログラミングコース(Ruby on Railsによるサービス開発を目的とするコース)を受講して改めて、プログラミングを上達するためのコツとTechAcademyのカリキュラムの想定外の良さをまとめます。

プログラミングのスクールで勉強する時も、自走できるようにするためにこれだけは意識してほしい3つのこと

まず、講座に載っている全てのコードを写経(写す)する

今回、僕が受講したコースでは主に以下の章立てでプログラミングを一通り学びます。

Lesson1 HTML/CSS
Lesson2 Bootstrap(CSSのフレームワーク)
Lesson3 Git
Lesson4 ポートフォリオサイトの制作
Lesson5 Ruby
Lesson6 メッセージボードの制作
Lesson7 Twitterクローンの制作
Lesson8 モノリストの制作
Lesson9 オリジナルサービスの制作

Bootstrapでのフロント開発はやったことが無かったため、HTMLやCSSは分かっているとはいえ、しっかり記載されているコードは全て写経しました。

漢字を習いたての頃や、英単語を覚えるときに何回も同じ単語を書いて覚えたことがあると思います。

それと同じことがプログラミングにも言えるのです。

書いてある意味が分かるまで、何度でも写経することがまずは大事だと(僕は)思います。

これが出来ない人は、そもそもプログラミングを上達することは出来ない気がします。(コードを見て一発で理解できる天才であれば、話は別だと思うのですが…。)

コードの意味が分かったら、自分でコードを書き換えて実際の動きを見てみる

写経だけしていても、プログラミングは一切出来るようになっていません

余分な処理を入れたらどういうプログラムが返ってくるのか、とかフロントはどのような表示に変わるのかとか、試してみることが初学者を抜け出す次のステップなのです。

というのも、現実世界で教科書通りのコードを書いて済むことなんて殆どありません。

英語に例えると、いくら英文法を覚えたところで話せるようにはなっていないのは明らかです。(リスニングとか別の能力が必要というのはもちろんありますが、同じことです。教科書通りの会話をしてくれたら、本当に楽なのですが…。)

逆に言うと、プログラミングも言語なので、英語と同じような学習方法を取れば良いのです。

実際に自分の作りたいサービスをゼロから開発してみる。それをやりきる

プログラミングの初学者を抜け出すには、自分のサービスをゼロから作り切ることが一番の近道です。

ゼロからというのは、フロントエンドからサーバーサイドまで自分で実装を行って、実際にドメインを取得してデプロイまで行うことを指しています。

会社の研修では、実際にサービスリリースを行うところまでやったので、フロントの実装もサーバーサイドの実装も全て自分の手で行いました。

これにより、プログラミングの初学者は抜け出すことが出来たのです。

※現在僕が作ろうとしているサービスはPHPのフレームワーク「Laravel」で構築しようとしており、その理由がサーバー側の処理を気にしなくて良い(全てサーバー会社に任せられる)ところにあったりするのですが、学習の際には自分で実装した方が圧倒的に早く習得できます。

ゼロからサービス開発を行う際に重要なのが「ググり力」と「メンターの指導」である

TechAcademyのカリキュラムは、座学(インプット)から課題(アウトプット)まで一気通貫で組まれていて、メンターの指導を期間中何度でも受けることが可能になっています。

この時に、どれだけ臆せずにメンターに質問しまくるかが、上達への近道と言えると思います。

「こんなこと聞いて、恥ずかしいな…」とか、そういう感情を如何に捨てられるかが非常に重要です。

TechAcademyの場合、Slackというチャットツールでもappear.inというビデオチャットでも、気軽に質問を行うことが可能です。

講師の方も、どんな質問に対しても懇切丁寧に教えてくれます。(管理人は、Cloud9の自動インデントのショートカットって何?とか質問していたりしますw)

例えば、以下のようにビデオチャットの画面から直接コードレビューを受けるということも可能で、オンラインのみだと画面見てもらえなくて不安…というデメリットは全く感じず、オンラインのみで完結するメリットをむしろ感じました。

講師の方の人の良さ、という点でも、TechAcademyでのプログラミング学習が高い成果を上げる一つの要因であるようにも感じられました。

気になった方は、以下よりTechAcademy [テックアカデミー]公式サイトを見てみましょう。


管理人は10/17までの受講期間で、カリキュラムを全てこなしてオリジナルサービスを作り上げる予定です。

具体的には、ある分野のキュレーションメディアを想定しています。

カリキュラム上はherokuでのデプロイを想定しているようですが、管理人はAWS上にunicornなど独自の環境でのデプロイを行いたいと考えています。

こうした無茶な希望も、要望次第ではあるが対応頂けるとのことでした。(!)

至れり尽くせりのTechAcademyのコース、ぜひ一度ご覧になってみてはいかがでしょうか?

ここまで書いてきたことを守れば、必ずや自力でサービス開発が出来るプログラミング能力を身につけられるサービス内容です。

いきなり受講はちょっと…という場合は、TechAcademy主催の無料の説明会動画をまずは見てみるのは如何でしょうか?

皆さんも、管理人と同じくプログラミングを学習し、オリジナルサービスを開発して多くの人に使われる喜びを味わってみませんか?

2018年9月21日TechAcademyTechAcademy,コツ,プログラミング