【自走できるエンジニアへの上達法】プログラミングの効率学習10のポイントとは?

優れたエンジニアの多くは、職業訓練学校や研修スクールで学ぶような学び方をしません。作りたいものを作っていたら、自然に習得できているのです。

彼らは、授業を聞いたりテキストを読むことで失う時間を、純粋にプログラミング時間に向けることで、習得効率を飛躍的に向上させ、モチベーションを維持しています。

また、その時点で知らなくていい知識や概念を可能な限り削ぎ落とし、知るべきタイミングが訪れた時にはすでに制作を通じて覚えているようなスキル習得の自動化を行なっているのです。

今回は、彼らのやり方を参考に、効率の良い学習方法のポイントについてまとめてみました。

いま覚えなくてもいい事はあえて流す

サンプルコードの全てを概念から覚えようとするとなかなかとっつきづらいものです。

教材の裏には作成者の意図があり、ここで学んで欲しいところと、ここでは学ばなくていいところがあります。

あとで学べばいいところに詰まることは、教える側の意図と反することなので、細かいことに気にせず、「こういうものなんだ」ぐらいで流しておきましょう。

言ってみれば「スルー力」。脳内メモリーが満タンになってスタックしないように「スルー力」を身につけましょう。

スティーブ・ジョブズは、毎日ジーパンに黒のタートルネックだったのは「余計なことで脳内メモリーを消費したくないからだ」と言ったそうです。

とにかく適当でもいいから書いてみる

過去に書いたことがあるコードや、教材のヒントを参考に、とりあえず書いてみることが重要です。

サンプルコードを見る場合は、動いているプログラムと見比べて、この辺りにこの機能(動き)がかかれていると見当をつけて「類推」します。
すると、この関数はこういうものなんだろうと、なんとなく認識できます。

こんな感じでいいんです。

この「類推力」。結構重要です。類推する癖がつくと、センスが磨かれていきます。逆に「まずメソッドを覚えて」というやり方だと、いちいちリファレンスを見ないと前に進めない臆病者になってしまいます。

テキスト読解を主にするような勉強法では、わかったつもりでいて、実は書く時に何を書いていいか困ることがあります。

この困った時間が実にもったいない。なにはともあれミスしてもいいから書いてみて、ビルドしてみる。

エラー文をもとに、また書いてみる。「これではどうだ?」みたいに試行錯誤してみることは、後から血となり肉となります。

とりあえずコーディング(プログラミング)するという癖がつけば、初歩的なミスタイピングを防ぐことができます。

プログラミング学習では、「習うより慣れろ」という部分が結構あるものです。

言ってみれば「アテ感力」。アテ感、行き当たりばったり、上等。
「こう書いてみれば行けるんじゃないかな」で、いいんです。

わからなかったら、答えを見ればいい

わからなかったら、答えのソースを先に見るというのもアリです。

といいますのも、答えのソースを「読むことができる」こともスキル習得の大事な一歩となります。

いわば「諦め力」。自分で考えてコーディングする時間をあらかじめ決めて、できなかったら答えをみればいいんです。

また、脳内メモリーがパンパンになって手が動かなくなった時は、すぐに「諦め力」を発揮して、写経をはじめればいいんです。

最初のうちは答えとの差分をごっそりコピペ。
次に、一行一行コピペ。

最後に、ちゃんとタイピングするって感じです。

コピペ上等上等。
世の中にはコピペエンジニアと揶揄される人たちもいます。
でもちゃんと上等な給料をいただけている。

初学者ならなおさら、コピペ上等です。

ただ、自分でなにがしかコーディング(プログラミング)してから、答えを見るということがポイントです。

自分で書いてみることで、答えを見るときの意識が変わり、答えのソースから新しい発見を見出すことができます。

ですので、くれぐれも、最初から答えを見るという誘惑に負けないようにしましょう。

暗記をする必要は全くない

受験教育では、暗記を前提とした学習法が蔓延していて、「公式は覚えておかなくてはならない」という気分に陥りがちですが、プログラミングの世界では、わからなかったらググるのが当たり前です。

要求仕様に沿ったプログラム開発ができることがエンジニアの目的なのですから、わからなかったら調べればいいのです。

そのうちに覚えてしまったら結果オーライですし、そんなに使わないものは忘れてしまったとしても、また調べ直せばいいのですから、忘れて結構です。

ただ、調べる時間が短縮されることに越したことはありませんので、どこの部分でこの関数を使ったことがあるというように、一度学んだことは、あとで調べやすくすることが無駄時間の短縮のポイントです。

そのために、ここは覚えておくといいなと思ったことを、ノートにとっておきましょう。とはいえ無闇にノートをとりまくらなくてもいいです。何度も間違えたとか忘れるようなことがあればノートにとるような癖をつけましょう。

とにかくググる

優れたエンジニアはグーグル検索がお上手です。
グーグルはノウハウの宝庫。知りたいことはすべてグーグル先生が教えてくれます。

試験会場にいるあなたがいたとします。
あなただけはスマホがある。カンニングし放題ですよね。

これがスーパーエンジニアなのです。
私たちプログラマーは賢いことを証明するために仕事はしていません。

仕様を満足させるプロダクトを作るのが我々の仕事です。

そして、その仕事がめちゃ早いのがスーパーエンジニアなのです。

ググり力」は常に鍛えておきましょう。

復習は少なくとも3回以上やってみる

一度解いたテキストでも日が経つと解けなくなるものです。
熟練のプログラマーですら、2週間前に書いたコードを忘れることもあるくらいです。

ですので、別の日に過去にやったことがある課題をやることは新しい問題を解くのと変わりありません。

だから、復習する意味があります。


そして、あるタイミングで、自分でスラスラと解けるようになったら、その課題はクリアです。

こんな風に、2回、3回と繰り返していくことが上達への早道となります。

課題作成者の隠された意図をイメージしてみる

テックジムのテキストは、無駄なことが一切なく、復習するたびに発見がある、いわば「短歌」のような世界観があります。

各問題の裏には、出題者の意図が隠されており、それを見破れる力を身につけていただくように設計されています。

決して無駄のないカリキュラムとなっておりますので、復習するたびに新しい発見があるものです。

といいますのも、人は全てのことを一瞬に覚えることができません。ひとつずつクリアしていくしかないのです。

一方で、教材作成側は色々な仕掛けをこしらえており、ひとつの課題で、複数の覚えることを仕組んでいます。

課題ごとにも段階を踏んでおり、作成者の意図をイメージしつつ、「ひっかけがどこにあるのか?」という視点も持ち合わせて、作成者との駆け引きを楽しんでみてはいかがでしょうか?

とにかくアウトプット(コーディング)が大事

プログラム説明の文章を読む時間や、講義を聞く時間は無駄な時間になりがちです。

その中には無為に悩む時間があったり、わからなくて思考が止まったり、「読んでいるから大丈夫」とか「聴いているから大丈夫」という自己満足に終わる時間が大部分を占めたりします。

そもそも、受動的に摂取する情報は定着しずらいですし、自分の理解スピードにぴったりあうことも稀なのです。

あえて断言しますが、プログラミング学習はソースコードを書く時間に比例して上達します。

また、自分でソースコードを書いた上で、解答のソースコードを読むことも理解を促進します。

逆に、ただ与えられた情報を摂取するだけではプログラム上達になりません。
理解したつもりでも「いざアウトプットしようとしても全く歯に立たない」ということがよくあるのです。


ここが、プログラミング学習での落とし穴であることを肝に銘じましょう。

テックジムでは基本的には自習スタイル。わからなかったらトレーナーに聞けばいい。

このように必要最低限の情報を能動的に摂取するというスタイルが最も効率の良い学習法なのです。

ひとつ上達したら、その上達部分を人に教えてみる

まず、人に教えることで、自分の理解度を試すことができます。


もし、うまく教えることができなかったら、まだあんまり理解していないことを自覚しますし、教えてみることで改めて気づくことがあり、理解が進むものです。

実際、エンジニアは仲間を集めて勉強会を開催するのが好きです。


これは、わからないことを教えあうことで、お互いの弱点を補完しあういい機会になります。一緒にいるだけで頑張ろうという気持ちにもなります。

自分より上達した人と一緒にやることも、自分より上達していない人と一緒にやることも、両方とも有益なことを彼らは知っています。

何より、教えることで教えた相手に喜ばれることがモチベーションにつながり、上達のステップを上がることができます。

世間にお役に立てたということが、自己肯定感を育くむのです。

他人と比べない。ライバルは未来の自分と過去の自分。

「授業」のデメリットは、一度落ちこぼれると復活しづらいということです。
授業が終わるまで苦痛で、時間の無駄がでますし、別の時間で復習を要します。

一方で、できる人にとっては、退屈だったり、落ちこぼれをマウンティングしだす始末。こんなに社会悪なことはありません。

明治以降に欧米列強のやり方を取り入れた教育はもう限界にきています。
このやり方は、植民地にて原住民にスペイン語や英語を教えるために、効率よくかき集めただけなのです。

その点、江戸時代の寺子屋形式は理想的です。

学習が進んでいる人は、わからない人に教えてあげます。
先述の通り、教える方にもメリットがあり、教わる方も感謝します。
このように「教育」は「お互い支え合うこと」がベースであるべきです。

実際、エンジニアの現場は、いろいろな人種、スキルセットのバラバラな人たちがあつまって(あるいはリモートのときもある)、ひとつのプロダクトを作ります。スキルセットに応じて色々な作業がありますし、「ギャラ」と「納期」と「要求しているクオリティ」がマッチすれば次の仕事もよばれます。

「俺はあいつよりも優れたエンジニアだ」なんてことを言い合う暇はありません。すべては役割分担です。「できないエンジニアが使えない」というわけではありません。

エンジニア以外の仕事だって、こうあるべきです。
色々な人の色々なスキル(低スキルも歓迎)と時間を持ち合って、お互い尊重しあえばいいのです。

均一な人材を集めがちな企業はダサすぎます。

コミュニケーションスキルを気にしすぎなのもJAPANならではの残念ピーポーマックスですね。

流暢な日本語をしゃべる外国人なんていませんからね。

日本人同士の中でも「コミュニケーション能力」で人材の振り分けをするということは、「外国人と仕事をしないぜ」って言っているようなもんです。

もっとも効率的なスキル習得「テックジム方式」とは?

「テックジム方式」とは、基礎知識なしでも、座学なしでプログラミングに専念できるように設計されたプログラミングのカリキュラムメソッドです。

優れたエンジニアの多くは、職業訓練学校や研修スクールで学ぶような学び方をしません。 作りたいものを作っていたら、自然に習得できているのです。そして、優れた指導者(メンターや師匠)との出会いがエンジニアとしてのプロフェッショナル性を高めます。

この自発性とプロフェッショナル性を兼ね備えたのが「テックジム方式」です。 授業を聞いたりテキストを読むことで失う時間を、純粋にプログラミング時間に向けることで、習得効率は飛躍的に向上し、モチベーションも維持できます。 その時点で知らなくていい知識や概念を可能な限り削ぎ落とし、知るべきタイミングが訪れた時にはすでに課題を通じて覚えているようなスキル習得の自動化を図ります。

講座で用いるサンプルソースや課題は、最も効率よく学べるように細部に渡って設計されています。 まるで魔法にかかったようにプログラミンスキルが習得できるのが「テックジム方式」の醍醐味です。

現在はPython基礎コースのみご用意しております。 こちらは初学者からプログラミング歴3年未満の方を対象にしたコースです。 今後は、機械学習やディープラーニング、AIなど、Pythonならではの特性を活かした専門性の高いコースをご用意していきます。

【無料】ゼロからはじめるPython入門講座

オープン講座では、講義&実習スタイルで、テックジムの自習教材を体験していただきつつ、Pythonの初歩を学んでいただきます。

【無料】ゼロから始めるPythonプログラミング入門講座(週4開催)

【テックジム】ゼロからはじめるPython入門メール講座(無料)

12,000人以上が参加した人気講座がメール講座になりました。

ゼロからはじめるPython入門メール講座(無料)

【テックジム校舎一覧】

・入会金33,000円、月額22,000円(学割16,500円)
・初回にかかる費用は、「入会金+当月日割り計算分 + 来月分会費」となります。
・次月分の会員費は毎月26日に自動引き落とし(銀行決済・クレジット払い・コンビニ払いが可能)となります。
・途中解約や休会は前月10日までにご連絡ください。
・コース:Python基礎コース、AIエンジニア養成コース、Ruby on Railsコース、GASコース、スマホアプリ開発コース

校舎一覧

【無料】ゼロからはじめるPython入門講座(メール講座)
登録フォーム
お名前(姓名)
 
メールアドレス