Pocket

最初プログラミングを始めようと思うと、とりあえずコードを勉強することになります。

そしてその勉強が一通り終わり、いよいよコードを入力するコーディング作業に入ることになります。

しかし今までプログラミング初心者の方で

『コーディングがめちゃめちゃ大好きです!』

という話はほとんど聞いたことがありません。

avatar
私もやりたくありませんw
avatar
大変ですからね笑

プログラマーだけではなく、Webデザイナーという仕事であっても、結局最初に大きく躓くのはコーディング作業なのです。

特にCSSの作業などは、特に苦手な方が多い印象です。

ちなみに私自身は最初の段階で、CSSのコーディングに挑戦しようと思った時

『いやいや、こんなの大変すぎないか?絶対むりやん‥』

と絶望したことを覚えています。

そんなメンタル最弱だった私が、どのようにしてコーディングスキルを高めていき、それなりのWebサービスを作れるようになったのか?

ここではその点について詳しく掘り下げていきたいと思います。

ちなみにコーディングは勉強するものではありません。

その点は勘違いしないように注意しておきましょう。

正直に話すと、私はコーディングが一番嫌いでした

そもそもコーディングというのは、実際にプログラミング言語をソースコードで入力する作業のことを言います。

補足

制作物の仕様書に従って自分でコードを打ち込んでいくため、HTMLやCSSなどの基礎的な知識だけではなく、設計から確認作業まで幅広くをこなす必要があるのです。

実際のところ、プログラミングを学習してコードを扱えるようになると、とりあえずコードを打ち込んで動きを試したくなってきます。

avatar
試しながら覚えていく感じですね。

そしてWebサイトなどの全体像を理解することができれば、自分の手でコードを模写してサービスを作ることもできます。

この模写する作業を繰り返していると、気づいたらそれなりのスキルが身についていることが多いのですが、多くの場合、模写するよりも

『コードを勉強することに力を入れる』

人がほとんどなのです。

もちろん勉強することは大切です。

しかしある程度のラインまで勉強が終われば、そこからは勉強し続けてもスキルを伸ばすことはできないのです。

コーディングを勉強する人たちのスキルがほとんど伸びない理由

そもそもコーディングというのは勉強するものではなく

『練習するもの』

です。

プログラミング初心者の頃の私は、この考え方の意味が全く理解できず

『えっ?何を言ってるの?』

と思っていました。

avatar
勉強しなきゃ練習なんてできないじゃん!と思っていましたが、今考えるとその順番は逆にしたほうが効率が良いことを知りました。
補足

実際にプログラミングの基礎を頭に入れると分かりますが、全体像さえ把握できれば、そこまでコードが頭に入っていなくてもググって解決することが可能になります。

逆に多くのコードを知っていても、そのコードをどの場面で使うのかが全く分かっていない場合、ただコードが思い出せるだけで実務で使うことができません。

実はコーディングの勉強に力を入れている人というのは、共通して伸び悩んでいることが多いです。

それにはいくつかの理由があります。

暗記することに力を入れている

これは日本の学校教育の弊害かもしれませんが、日本人の多くは暗記物に力を入れがちです。

例えば何か新しい知識を身に付けようとした場合、最初に知識を頭に詰め込むことを考えます。

もちろんこれはこれで良いことなのですが、プログラミングやコーディングに関しては

『ネット上に全て答えが出ている』

ため、わざわざ全てのコードを暗記する必要はないのです。

重要なのは

『いつでも問題解決できる力』

になります。

暗記する:コードは覚えているが、実際にコードを書くと詰まる

問題解決能力がある:コードは覚えていないが、ググればコードを書ける

わからないコードが出てきたときに、どのようなコードなのかを正確に調べることさえできれば、暗記する必要なんてありません。

コーディングスキルを伸ばすために力を入れるべきなのは、暗記することよりも

『問題解決能力を高めること』

なのです。

これを向上させるためには、勉強するのではなくとにかく練習が必要となってきます。

ノートを使って勉強してしまっている

これは語弊があるかもしれませんが、ノートを取って勉強することを否定しているのではありません。

本質を理解してノートを使った勉強をしているのであれば、それは問題ありません。

しかし最初の段階でノートメインの学習にしてしまうと、結果的に練習する量が圧倒的に不足してしまいます。

補足

先ほどもお伝えしましたが、とにかく最初の段階では勉強時間よりも練習時間を増やすことが重要になってきます。

たくさんのコードをノートにメモして

『あ〜、今日もたくさん勉強できたな!』

と満足しても、実際にコードを書いてみると全く手が動かないことも多々あります。

avatar
勉強に満足するパターンはプログラミング学習あるあるですね。

何のために勉強をしているのか?ここさえ正しく理解できればいくらでもノートを取っていきましょう。

しかしスキルを伸ばせない勉強をしている人が多いため、まずは分からなくても良いのでとにかくコードを打ち込むことに力を入れるべきなのです。

アウトプット量が異常に少ない

練習量を増やすことができれば、結果的にアウトプットの量が増えることになります。

人間はインプットするよりもアウトプットする方が3倍疲れると言われていますが、これに関しては正直慣れの部分があります。
avatar
なかなかうまくいかない時期というのはアウトプットすることが辛いですが、自分の手でコードを打ち、何かしらのサービスを生み出せるようになると、途端にアウトプットすることが楽しくなっていきます。

私の場合、最初プログラミングを勉強し始めた頃は

インプット9割:アウトプット1割

このくらいの比率で学習を進めていました。

もちろんそれなりの力は身についていたのですが、コーディング作業になると、自分の手でコードを打っている時間が圧倒的に少ないため、なかなか思うようにコードが書けない時期が続いていました。

そのため、ある日を境に

インプット1割:アウトプット9割

このくらいの比率に切り替えたところ、途端にコーディングのスキルを伸ばすことができたのです。

アウトプットに関しては、少し大げさなくらいやった方が力を身につけることができますので、この意識を持っておくようにしましょう。

コーディングスキルを上げるには勉強よりも練習が重要です!

もしあなたの周りのエンジニアやプログラマーさんの中で

『アウトプットよりもインプットの方が大切だよ!』

と言っている人がいれば教えてください。

avatar
私も数多くのエンジニアさんと関わらせていただきましたが、そのほとんどの方がアウトプット重視の学習方法を取り入れていました。

私も数多くのエンジニアさんと関わらせていただきましたが、そのほとんどの方がアウトプット重視の学習方法を取り入れていました。

中には

『コードを打たずに勉強している奴は大成しない!』

と言い切っている人もいたので、やはりアウトプットは重要視すべきでしょう。

コーディングスキルを飛躍させるおすすめ練習法!

たとえどんな方法であっても、アウトプットさえ徹底すれば、必ずコーディングスキルは伸ばすことができます。

正直コーディングができない状態でアウトプットメインの学習をすることは、苦痛以外の何物でもありません。

コードを打とうとする→分からないことが出てくる→調べる→解決する→再度コードを打つ

avatar
これを永遠にループすることになるため、とにかく嫌になります。というより、私は嫌になりました。

なので挫折せずにコーディングスキルを伸ばすために何ができるのか?ここを考えていたところ、以下の方法で学習するようになったのです。

最初に基礎が学べるサービスを終わらせる

例えば最初の0の段階からコーディングスキルを伸ばそうと考えたとしましょう。

avatar
その場合、まず最初に基礎が学べるサービスを一通り終わらせることを考えるべきです。

代表的なサービスといえば、動画でプログラミングが学べる

『ドットインストール』

はオススメです。

こちらのサービスは、動画内で基礎からコーディングの方法まで詳しく解説しているため、ただ動画を視聴するだけでも意味があります。

一通り動画コンテンツを視聴して、その後に自分の手で同じようなサービスを作り始めれば、それだけでコーディングスキルを伸ばすことができます。

補足

ゲームを作ったり、初歩的なサイト作りまで網羅しているため、とりあえずこのドットインストールでスキルをマスターすれば、最低ラインのコーディング作業はできるようになるでしょう。

オススメの方法としては

『ドットインストールで紹介しているサービスを、少しアレンジして作ってみる』

ことです。

これができるようになると、コーディングの幅を大きく広げることができます。

毎日必ずコードを書く時間を確保する

そしてプログラミング学習やコーディング作業のポイントとしては

『なんとしてでも毎日コードを書く時間を確保すること』

です。これは徹底してください。

avatar
実際に私はコーディングスキルを身につけようとしている時、2・3日の期間コードを書かなかった日がたくさんありました。

そのように間を空けてしまうと、昨日覚えたことを思い出すのに多くの時間を使ってしまうことになり、結果的に復習することで1日が終わってしまうこともあるのです。

この時間はマジで無駄です。

なので毎日10分でもいいので、とにかくコードを書く時間を確保しておきましょう。

そうすると、昨日覚えたことを忘れずにスキルを高めることができるため、短期間で成果を出すことができるようになるのです。

補足

理想としては、1日1時間を3ヶ月継続するのではなく、1日3時間を2ヶ月継続するように、期間をギュッと短縮した方が成長スピードは早いです。

独自サービスを1つ作り上げてみる

基礎サービスを使い、毎日自分でコーディングする時間を確保することさえできれば、気づいたら

avatar
『あれっ?こんなこともできるようになってる!』

と、自分のスキルアップのスピードに驚く瞬間が訪れるはずです。

自分の手でコードを書き続けるというのは、初心者からすると想像以上に大変です。

なぜなら腑に落ちないポイントがたくさん出てくるため、今自分がやっていることの意味がさっぱり分からない瞬間を何度も経験することになるからです。

しかしそこを乗り越えると、途端にできることの幅が広がります。

そうなれば、今までのスキルを使って

『模写ではなく自分独自のサービスを開発する』

ことに時間を使うようにしましょう。

補足

既存のサービスを模写するのと、自分独自のサービスを作り上げるのとでは意味が全く違いますし、スキルのレベルも格段に上がります。

全く何もない状態から自分オリジナルのサービスが作れるようになれば、あとはプログラミングの世界を楽しむだけですからね。

結局のところ独学よりもプロの講師に教わるのが一番早い!

今の時代、特にお金をかけることなくプログラミングのスキルを高めることが容易になりました。

独学でプログラミングスキルを身につけ、IT企業にプログラマー・エンジニアとして転職する人もたくさんいます。

avatar
モチベーションを高く維持することさえできれば、プログラミングは誰でも身につけられるスキルです。

しかし途中でもお伝えした通り、プログラミング学習の中では心が折れそうな瞬間が何度も訪れます。

そこを乗り越える場合、完全独学では茨の道となることも多いため、最初の段階でプログラミングスクールを上手に活用することを推奨しています。

補足

基礎をプロに学び、その後自分でスキルアップしていくのと、最初から自分一人で学習し、そこからスキルアップしていくのとでは、学習期間に大きな差が生まれます。

ここを理解している人は、早い段階でスクールを上手に活用していますので、ぜひ一度無料体験などを使ってプロに教わってみましょう。

まとめ

コーディングに関しては、とにかくアウトプットしなければ経験値を積むことはできません。

最初は誰でも分からないことだらけです。

avatar
しかし分からないことが多くても、調べて問題解決することを繰り返すことで、その壁は必ず乗り越えることができます。

プログラマー・エンジニアとして活躍するのであれば、この問題解決能力の重要性を軽視してはなりません。

むしろこれさえ身につけておけば、ある意味

『どの業界でも結果を出すことができる』

ため、早い段階でこの能力を高めておくべきでしょう。

私自身も毎日のようにググって検索することがあります。

注意点

というより、プロのエンジニアでもググって検索することは日常茶飯事なので、このスキルを高めておかないと、いずれスキルアップに頭打ちが来てしまいます。

ぜひ今回の記事を参考に、コーディングに力を入れてみてください。

人気記事 安くてスキルが身につくプログラミングスクールを厳選してみた!

Pocket