Pocket

ある程度プログラミングができるようになってくると、挑戦したい気持ちがメラメラと湧いてくるため、どんな内容であっても楽しく学習することができます。

しかし最初の段階でプログラミングを学習する時は、とにかく何も分からない状態から知識を取り入れなければならないため、正直苦痛でしかありません。

avatar
分からない分からない分からない分からない‥あれっ?ちょっとずつ分かってきたか?あれまた分からない‥分からない‥いや、分かるようになってきた!おっ!分かるぞ!これもできるぞ!楽しくなってきた〜〜〜!

言葉で表すとこんな感じですかね。

多くの人が最初の分からないゾーンで気持ちが折れてしまい、プログラミング学習を諦めてこの業界から去っていきます。

ただ一つだけ言わせてください。プログラミングスキルを身につけることができているほとんどの人たちは

『プログラミングを学習しようと思っていない』

のです。

つまり、インプットよりもアウトプットメインで行動を起こしているのです。

avatar
何を言ってんだお前は?と思われるかもしれませんが、この考え方がプログラミング学習の明暗を分けることも事実です。

なのでここではインプットとアウトプットの考え方や効率的な学習方法について、私の経験を元に詳しくご紹介していきたいと思います。

インプットメインで学習している方にとっては、かなり役に立つ内容になっているはずですよ。

インプットとアウトプットについて

そもそもこのインプットとアウトプットは解説するまでもありませんが、一応おさらいしておきましょう。

インプット:必要な知識を自分の中に取り込む

アウトプット:インプットで学んだ知識を外に出すこと

すごいザックリですが、こんな感じです笑。

avatar
私たち人間は、インプットとアウトプットを繰り返すことで多くのスキルを身につけていくため、この2つは死ぬまで繰り返していく必要があります。

とはいえ、正直な話、プログラミング学習においてインプットは

『そこまで大くの時間をかける必要はない』

というのが私なりの結論です。

実際に私も、ど素人・未経験の状態からプログラミングを学んできた一人です。

学習していく中で様々な失敗をしてきましたが、それを経験したからこそ

『インプット重視の学習方法は効率が悪い』

ことをリアルに感じてきました。

とはいえ、インプットをすることが悪いという結論に達するつもりはありません。

むしろインプットは重要です。

しかしここでお伝えしたいことは

『インプットよりもアウトプットの方が圧倒的に重要である』

ということです。この点について詳しく掘り下げていきますね。

もしすでにインプット主体の学習をしている場合、そのやり方ではプログラミングスキルが伸びる可能性は低いので、できれば

『すでにプロとして活躍しているエンジニア』

に学習方法を教わり、最短で働けるレベルのプログラミングスキルを身につけるべきです。

インプットの割合が多い人がプログラミング学習で伸びない理由

私の場合、最初にプログラミング学習サービスを活用し、そこで最低限の知識を身につけてきました。

同時期に多くの方がプログラミングを始めたこともあり、自分が学習している中で、周りの成功事例・失敗事例もたくさん見てきました。

そこで実際に感じたことは

『インプット重視で学習している人たちは、共通して途中で挫折している』

ことでした。

ちなみに、プログラミングの教材を本で独学すると、さらに挫折率が高まります。

学校の勉強ができるような人たちは、最初に知識を詰め込んで学習を進めていきがちですが、実はこのようなインプット主体の考え方は、プログラミング学習において失敗する可能性が高いのです。

その理由はいくつか挙げられます。

いざコードを書く時にアウトプットできない

まず最初に思い出していただきたいことは

『そもそもなぜ自分がプログラミングを始めようと思ったのか?』

ということです。

たとえどんな理由でプログラミングを始めようと思ったとしても、絶対に

『プログラミングの知識を頭に入れるために学び始めた』

人は誰一人いないはずです。

プログラミングを始める理由の根底にあるのは

『プログラミングスキルを身につけて、何かしら自分の目標を達成したい』

ことですよね?

それが

『年収1千万達成する』

人もいれば

『プログラミングを学んでサービスを作り、起業する』

人もいるでしょう。

avatar
どんな理由であったとしても、プログラミングの知識を頭に入れることが目的の人は誰一人存在しません。

ということは、ただインプットを繰り返して知識を取り入れたとしても、それがあなたの目標を達成するための手段にはならないということです。

プログラミングの知識を取り入れて安心してしまう

実際に0からプログラミングを学び始めると、最初の段階は分からないことが分かるようになるとめちゃめちゃ嬉しいです。

その喜びを知ってしまうと、どんどん新しい知識を取り入れたいという欲求が強くなっていき、気づけば

『知識を取り入れることが目的』

になってしまうこともあります。

この考え方になると、高い確率でプログラミングで挫折することになります。

そんなことはない!と言う人がいるかもしれませんが、実際にインプット主体の学習を続けていき、その後に自分の手でコードを打ち込んで簡単なサービスを作ってみてください。

avatar
この時にインプット主体の学習を続けている人は、間違いなくコードを書くことができません。

逆にアウトプット主体でスキルを磨いていた人に関しては、荒削りな作品ではありますが、必ず一つサービスを生み出せるだけのスキルは身についています。

取り入れてばかりで吐き出す習慣を持っていない場合、知識はあってもコードが書けないことになるため、この段階で学習を諦めてしまうこともあるのです。

頭でっかちになりスキルとして身についていない

プログラミングは、基本的にテストや試験で問題を回答することはありません。

全て自分の手でコードを書いていくことが仕事となります。

これが仮に資格試験であれば、とにかく知識を詰め込んで学ぶスタイルは正しい方法だと思いますが、私たちがやっていることは

『ビジネススキルを上げること』

ですから、インプットの量は全く重要ではないのです。

avatar
事実、プログラミングで分からないことがあれば、google先生にいくらでも聞くことができます。

それを考えると、重要なのは知識を取り入れることよりも

『目の前で起こっている問題を解決する能力』

だということが分かっていただけると思います。

補足

知識を入れるのではなく、その問題を解決できるスキルさえ身についていれば、エンジニアとして活躍することは可能です。

逆に自分の脳みそに入っている知識しか取り出せない人に関しては、イレギュラーなことが起こった時に対処できずに苦しむことになるでしょう。

この

『問題解決能力』

というスキルを磨くことも、プログラミングの世界において重要なポイントとなるのです。

大げさに言えばプログラミングは勉強してはいけない

実際にプログラミングスキルを身につけて、何かしら自分の目標を達成したい!と思うのであれば、このマインドセットはしっかりとインストールしておきましょう。

プログラミングを勉強してはいけない!という考え方は、何もインプットを否定しているわけではありません。

ここで一番お伝えしたいことは

『プログラミングの知識を頭に入れることに時間を使うな』

ということです。

途中でもお伝えしましたが、どんなに知識を頭に入れたとしても、それを自分で引き出せなければただの雑学になってしまいます。

avatar
逆に、ある程度プログラミングの全体像を把握できれば、知識がなかったとしてもググればどうにでもなるのです。

勉強することに時間を使うのではなく、自分が何かしらのサービスを作り出す手段として、プログラミングを学んでいくということです。

  • プログラミングを学ぶために勉強している人
  • プログラミングを使って目標を達成したいと思っている人

この両者が同じ期間勉強を続けた結果、最終的にどちらのスキルが伸びているかはあなたも想像ができると思います。

知識が少なくともアウトプットはいくらでもできる

プログラミングを勉強しないマインドを持つのに違和感を感じるかもしれません。

ですがここを自分の中でインストールしておくと、行動が大きく変わってきます。

avatar
今までは教材を暗記することに時間を使っていたのが、この思考法を取り入れることで、とにかくコードを書いてみるという行動を起こすことができるのです。

もし今の段階で知識がほとんどなかったとしましょう。

その場合、まずは最低限のコードを理解して、実際に既存のサービスを模倣したサービスを生み出してみてください。

誰かが作り出したサービスを自分の手で作ってみると、そこから様々なことが学べます。

他の人のサービスを模倣する(アウトプット)→分からないコードが出てくる→コードを調べながら再度サービスを模倣してみる(インプット・アウトプット)

アウトプット主体

で学習をしていくことによって、自然と知識が後付けされていくことが分かると思います。

最初は大変ですが、これを繰り返していくと、気づけば自分でそれなりのサービスが生み出せるスキルを身に付けていることでしょう。

もしインプット主体の学習をしていたのであれば、騙されたと思ってこの方法を取り入れてみてください。

ちなみに評価の高いプログラミング学習サービスは、アウトプット主体で学べる構成になっていることがほとんどですよ。

毎日全力でコードを書いている人にインプットマンは勝てない

真面目にプログラミング学習を続けることは重要です。

しかし自分がインプットマンになってしまっているのならば、なるべく早い段階でインプットマンからアウトプットマンに思考を切り替えていきましょう。

avatar
どんな優秀なエンジニアであっても、プログラミングのテストで100点を取ることはありません。
テストで点数を取れる知識を身につけるよりも、現場で不足のトラブルが起こった時に対処できる問題解決能力が求められる業界なのです。

学生時代に優秀だった人ほどプログラミングで苦戦することも多いらしいので、この点は十分に気をつけておきましょう。

ある意味、最初の段階は無心でコードを打ち続けられる人の方が成功できる可能性は高いのかもしれません。

avatar
ちなみに、私は最初インプットマンだったのですが、あるエンジニアさんとの出会いがアウトプットマンに思考を切り替えてくれました。

ただ、私と同じようにそのようなエンジニアさんに出会えることは稀なので、とりあえずまずはプロのいる環境に飛び込む、もしくは無料で使える学習サービスで最低ラインのスキルを身につけておきましょう。

もし暗記主体のプログラミング学習をしていた場合には、アプリ開発までを無料でできるTech Academyのブートキャンプを利用することでアプトプット主体で学習ができるのでおすすめです。

今回の記事があなたをアウトプットマンにする一つのきっかけになれば幸いです。

無料でプログラミング学習ができる環境

Tech Academy (オンラインで無料受講可能)

プロゲート (基礎から学べる講座多数あり)

プログラミング学習では呼吸をするようにアウトプットしよう!

ど素人・未経験の場合、プログラミングで分からないことがたくさん出てくるのは当たり前です。

その分からない部分を解決するためにインプットばかりしていると、それだけでも膨大な時間を失うことになります。

分からないことが出てきても、最初の段階は全体像が把握できるまでとにかく進むことを考えてください。

そしてある程度大枠が掴めたと感じたら、そこでアウトプット主体の学習をしていき、足りない知識を肉付けしていきましょう。

avatar
正直インプットの3倍くらいアウトプットは大変ですが、その大変なことを継続した先には明るい未来が待っています。

インプットマンとしてあらゆる失敗を経験した私からのメッセージとして、今回の内容を参考にしてみてください。

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

Pocket