Written by Manabu Bannai

【公開】効率的にプログラミング上達するコツ【2つの手順で解説する】

PROGRAMMING

プログラミング初心者「プログラミング上達のコツを知りたいなぁ…。 早くスキルアップしたいので日々学習を頑張っているけど、、、すぐにバグにハマる…。バグにハマっていると3時間くらい経過するし、、、これじゃ1日がすぐに終わるよ…。どうしたらいいんだろう…。」

こういった疑問に答えます。

本記事では効率的にプログラミング上達するコツと、プログラミングの上達曲線を解説しました。プログラミング初心者で日々の学習に行き詰まっている方向けです。

なお、本記事の書いている僕はプログラミングを独学で身につけました。現在はバンコクを拠点にWeb系フリーランスで食べていますが、仕事の1つとしてノマドエンジニアの育成講座『iSara』を運営しています。そういった背景から得た知見を元に記事を書きました。

※プログラミングの独学方法は記事で公開しています。
» 【独学でWeb制作マスター】勉強方法のまとめ【初心者向け】

効率的にプログラミング上達する為のコツとは


プログラミングは問題解決の手段です。
なので、『プログラミングスキルが高い = 問題解決スキル』が高いとも言えます。

そこで今回は問題解決の手順を解説します。

プログラミング上達に必須な『問題解決の手順』とは

超絶シンプル。次の2ステップです。

  • 手順①:30分悩む
  • 手順②:誰かに聞く or 時間をおく

手順①:30分悩む

悩み方の解説です。
ちょっと抽象的な部分ですが、思考法を解説するので、辛抱強く読んでみてください。ここはかなり重要な場所ですよ。

まず覚えてほしいことは、『分からないことが分かる状態 = 問題は8割解決している』ということ。
プログラミング初心者にありがちなことですが、どこが分からないのか分からない。なんかバグったけど、そもそも自分がどこにいるか分からないので、お先真っ暗という状態。

悩み方のコツ:疑問点を言語化してみよう

分からないことを書き出してみましょう。
例えば次のような感じ。

  • 現在の状況:BootstrapのフレームワークでWebサイトを作っている。
  • 問題点:画像がうまく真ん中に表示されない。なんでCSSが動かないのか分からない。

こういった感じで言語化できたら8割解決です。
あとは、疑問点をググればいいだけ。

『現在の状況』と『問題点』の中にあるキーワードをスペース付きでGoogle検索に打ち込むだけ。

Google検索「Bootstrap Webサイト 画像 真ん中 表示されない CSS」

ちょっと検索ワードが長いですが、まぁ別にOK。結果として、下記サイトが1位に出てきました。
» 中央寄せしたい!CSSで画像などをセンタリングする方法

記事内容をみると分かりますが、ばっちり問題解決になっています。
簡単ですよね。これが正しい悩み方です。

※よくあるダメな例:悩んでいるふりして、ぼーっとするだけ。
●●が分からないときに『ぼけ〜』っとしててもダメです。
先ほど解説したように、問題を言語化しないと、悩んでいるうちに寝落ちするだけです。悩むふりをしても価値はないので、要注意です。

手順②:誰かに聞く or 時間をおく


続いて手順②を解説します。

まずは『誰かに聞く』を解説。
ここはシンプルなのですが、30分悩んでも分からないなら、誰かに聞くべき。

効率的なプログラミング学習にはメンターが重要です。
とはいえメンターがいるからといって、何でもかんでも質問するのはNG。それじゃ思考力は育たないですからね。

まずは先ほど解説した方法で30分は悩みましょう。
悩んで悩んで、問題点を言語化できないか考えてみましょう。どうしてもダメだって場合は、メンターに質問すべき。

このサイクルを繰り返すことで、自分で問題解決する思考力が育っていきます。

メンターがいないよって場合はプログラミングスクール受講を検討すべき。
下記におすすめをまとめておきます。

  • TechAcademy(1週間無料):オンライン完結のプログラミングスクール。メンターが付きます。
  • TECH::CAMP:オフラインで最も有名なプログラミングスクール。メンター付きです。

分からない部分を明確にして、それを解決できる状態。
これを『自走できるエンジニア』と呼ぶことにしますが、自走できるエンジニアは無双状態になります。というのも、自分で問題解決できるので、無限に知識を増やせる状態です。

Twitterを眺めていると、スキルが素晴らしいエンジニアが多いですが、こういった方は自走できるエンジニアなのだろうなと思います。最近よくTweetを拝見するエンジニアさんのTwitterリンクを紹介しておきます。
» 山根 翔 (@sho_yamane) | Twitter

時間をおく ←こちらの解説

続いては『時間をおく』を解説します。

これは完全に言葉のとおりでして、一旦寝る、もしくはシャワーを浴びる、もしくはランニングするなど。なにか違う行動をしつつ、その間に頭を整理してみましょう。

『●●のバグにハマっているけど、なんで自分はここが分からないんだっけ?』 ←こういった感じで、ゆらゆら考えると答えが見つかったりします。『●●はが分からない。悔しい!辛い!』って状態だと、冷静に思考整理できなかったりしますので。

以上が効率的にプログラミング上達のコツです。

続いてはプログラミング上達曲線についてのお話。
よくプログラミング学習で挫折する方がいますが、この上達曲線を知っておけばモチベーションアップに繋がるはず。

プログラミングの上達曲線を作ってみた【根拠なし】


このグラフは僕の経験値から作っています。
参考までにご覧ください。

プログラミング上達曲線を作りました


入門から初級部分はサクサクいくけど、初級から中級が難しい。
ここは実際に手を動かしつつ、バグを直しつつ学習するのが一番です。

テキストに沿った学習から脱却が必要なので、教材が少ないのも辛い部分ですね。たぶんですが、挫折する人の大半はここなんじゃないかなと。

『初級→中級』へのステップアップの独学はかなり難しい

独学はかなり難しいので、学習環境を整えましょう。先ほども触れましたが、プログラミングスクールを使う、もしくはIT企業に就職するのもありです。
» 転職のリクルートエージェント|転職成功実績No.1

僕の例でいうと、初期学習が終わったタイミングでITのスタートアップ企業にジョインしました。そこで日々揉まれつつ学び、並行して独学をしていました。

なお、初期学習が終わったタイミングでは、学習カリキュラムとしてYoutubeを利用するのもおすすめ。具体的な方法は下記記事にまとめています。
» PHP初級者から中級者になる必殺技は、Youtubeにあり【便利で泣ける】

まとめ:プログラミング上達は学習時間に比例する。圧倒的に学習しつつも効率を考えよう。


以上、効率的にプログラミング上達する為のコツとプログラミングの上達曲線を解説しました。なんだかんだで初心者なら、長時間のプログラミング学習は必須です。

いつやるの? 今でしょ。

ということで、最初は辛いけど頑張って継続しましょう。

不安定な時代なので、プログラミングを学びつつも目移りすることも多いはず。例えば、『Web制作なんて時代遅れでオワコン』といわれるなど。

そういった時は、オフラインでの交流が大切です。
僕自身はWeb制作で食べれていますし、2017年現在でもWeb制作事業で売上を伸ばす会社は多いです。

フリーランスでも会社でも同じですが、伸びている人や会社はそれなりにノウハウを持っていたりします。そういった情報はオフライン交流じゃないと分からなかったりするので・・・。ネットに書かれた記事で「Web制作はオワコン」って言われて、それを見て挫折するのはモッタイナイです。

大切なのは時代に合わせた変化

結局は変化し続けることが大切ですが、時代の波に乗るための教養知識としてプログラミングは必須かなと。

さて、記事はここで終わりですが、そのままページを閉じますか? それともプログラミング学習を始めますか?

行動しない人

行動する人

  • TechAcademy(1週間無料):オンライン完結のプログラミングスクール。メンターが付きます。
  • iSara:バンコク発ノマド育成プログラミング講座。無制限のチャットサポート付き。
  • TECH::CAMP:オフラインで最も有名なプログラミングスクール。メンター付きです。

※P.S:無料メルマガで発信中:過去の僕は「ブログ発信で5億円」を稼ぎました。次は「30億円」を目指します。挑戦しつつ、裏側の思考を「メルマガ」から発信します。不満足なら1秒で解約できます。無料登録は「こちら」です。