Written by Manabu Bannai

プログラミング学習で「写経」は効果あり【具体的な学習方法も解説】

PROGRAMMING

プログラミング学習を頑張っている人「プログラミングの上達には、写経が大切なのかな? 最近は写経しつつ学習しているけど、、、本当にこれで問題ないのか気になります。 効率の悪い学習だったら嫌なので、、、経験者に相談したいです。」

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

本記事の内容

  • プログラミング学習で「写経」は効果ありです
  • プログラミングで写経するよりも効果的な学習法

この記事を書いている僕は、プログラミング歴が5年ほど。
すべて独学でプログラミングを学び、年収1,800万くらい稼ぎました。

今回は、プログラミング学習で「写経の効果」について解説します。
結論からいうと「効果あり」なので、具体的な学習方法を記載しました。

プログラミング学習で「写経」は効果ありです


学習の流れは「学習動画を見る→画面を見つつの写経」です。

技術書の書き写しは、若干微妙かも

ここは個人差があると思いますが、僕が思うに技術書の写経は微妙ですね。
理由は下記のとおりです。

  • 技術書にはミスがあったりする
  • 写経したのに動かなかったりする
  • どこで間違えたか不明、萎える

こんな感じの場合が多いです。

なので、技術書を完全には否定しませんが、あくまで「全体像を把握するツール」という感じで位置づけて、その後に動画とかで学習する方が理解しやすいと思いますよ。

基本的にはYouTubeで学習できます

最近は気づく人が増えてきましたが、YouTubeは「プログラミング学習の宝庫」です。

特に英語で動画を検索すると、素晴らしい動画が多いので、それらを見つつ写経しましょう。

  • 検索方法は「言語名+tutorial」です
  • 閲覧数の多い動画を見ておけば問題なし
  • 英語がわからなくても、たぶん理解できます

大半の人は「自分は英語ができないからな…」と思うかもですが、、プログラミング系の動画は「英語があまり聞き取れなくても、コードを追えばなんとかなる」と思います。

余談:3ヶ月くらい英語をガチ勉強するのもあり

補足ですが、僕は半年のフィリピン留学経験があります。
これくらい留学すると、「基本的に英語を聞き取ることができる」という状態になるので、いったんプログラミング学習を置いておいて、フィリピン留学するのもありですね。

そして、スピーキングはあまり重要じゃなくて、大切なのは「リーディングとリスニング」です。

ここを強化したらよくて、期間は3ヶ月あれば十分です。留学中は、毎日7時間くらい学習しましょう。

そしたら、プログラミングを英語で学ぶ&ググれるという状態になるので、今後に活きるはずです。
とはいえ、まぁ必須ではないので参考までにどうぞ。

写経もいいけど、やりすぎてもNGですよ

写経に話を戻します。
写経での学習は否定しませんが、下記のような方法は良くないです。

  • 同じ動画を何度もみて、何度も写経する(最大2回)
  • 写経したソースコードを暗記しようとする(暗記不要)
  • 写経しつつ、大切な部分を紙のノートにメモする

上記の感じです。
特に「暗記しようとする」のと「紙にメモする」というのは結構無駄なのでご注意を。プログラミングなんて幅が広いので、暗記しようとしても無理です。

大切なのは「ふわっと理解しており、ググれる状態」です。分からないことがあれば、なんとなくキーワードを思い浮かべて、15分くらいでググれたらOK。

あと、紙ノートにメモもNGでして、これだと「探すのに時間がかかる」かなと思います。

本気でエンジニアを目指すなら、PC内にメモしましょう。メモアプリは「Evernote」とかでOKですよ。

プログラミングで写経するよりも効果的な学習法


結論は次の2つでして、もっと言うと、ここをやらないと伸びません。

  • その①:仕事を受注する
  • その②:ゼロからサービス開発

順番にみていきます。

その①:仕事を受注する

仕事を請けるのは怖いです。

しかし、ここをやってみないと、次のステージに進めません。
参考までに、僕が初受注したときの状況を話します。

  • プログラミング歴は1年くらい
  • Web制作の案件を10万円で請けました
  • ページ数は100ページくらいです

こんな感じで、控えめにいって「圧倒的に疲労」でした。

当時の僕は「10万円を貰えるなんて神・・・」と思っていましたが、いまの僕が見積もりをしたら「120万円」くらいにすると思います。

とはいえ、安請けでしたが、勉強になったし、めっちゃ苦労したし、次のステージに進めたので良かったです。

なお、大半の人は「どれくらいのスキルになったら仕事を請けて良いのか」という点で迷いますが、この点は下記記事で解説していますので、どうぞ。
» フリーランスエンジニアとして「初受注」する際に必要なスキルを解説

その②:ゼロからサービス開発

サービスを作りましょう。
次のような感じです。

  • 自分が欲しいと思うサービス
  • 身近な問題を解決するサービス
  • 憧れているサービスを真似する

このあたりでOKだと思います。
そして、初めにお話しておくと、たぶん失敗します。

もしかしたら「このサービスは流行る」と思ってコードを書き始めるかもですが、、、ぶっちゃけ厳しいですね。そしてモチベ維持も大変です。

  • なにかサービスを作ろうと思う
  • →最初はテンションが高い
  • →作り始めると大変なことに気づく
  • →徐々にやる気が低下&適当になる
  • →最終的に完成せず、途中で放置

こんな感じになると思います。まさに過去の僕です。
まぁ、これでも良くて、サービス開発の途中でも学びが多いです。

しかし、できれば最後まで完成させると良くて、そのコツは「めっちゃ小さなサービスを作ること」です。

たとえば「ミニ掲示板」とか「なにかに特化したタスク管理アプリ」とか「おもしろ系の簡易サービス」とかですね。まずは小さなサービス作りから始めるのが吉です。

とりあえずは1年の継続、これで人生が変化する

というわけで、以上となりますが、プログラミング学習には時間がかかりますね。

小さなバグにハマり、時間だけが過ぎていき、自分の無力さ、才能のなさに絶望すると思います。しかし僕が思うに、目指すべき「平均的なエンジニア」もここなら、到達できると思います。

僕の周りには何名かの「天才エンジニア」がいますが、、僕は無理だったので、平均点を目指しました。
そして、平均点を獲得したあとは、別のスキル(マーケティングやデザイン)も学習して、掛け合わせスキルで戦いました。

こんな感じにすれば、平均点でも勝てますので。まずは1年の継続をしましょう。
そうしたら、徐々に人生が変わってくると思います。

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