プログラマ―

プログラミングの勉強|間違った学習は無意味|理解できないのは当たり前

投稿日:2021年8月14日 更新日:

プログラム

プログラムの学習をしていて、いったい何を学べばいいのだろう?
本当に学習方法はあっているのだろうか?
勉強しても全然理解できないよ…

現役エンジニアがこういった疑問に答えます。

プログラムの学習をしていて、いったい何を学べばいいのだろう?

悩んだことのある人は多いのではないでしょうか?

私もプログラム未経験の時は一体何を学習すればいいのかわからなく、AIって言葉最近よく聞くからAIについて学んでみようとか。。。

初心者なのにAIの学習をしようとしていた時期もあります。

実際にディープランニングの参考書を買っていたりしていました…

もちろん難しすぎて挫折したのは言うまでもない・・・

何を学習すればいいのかも分からず、どの参考書を買えばいいのかもわからない。

自分なりに調べてみた結果、某質問サイトで自称プログラマがC++が良いとか…

今考えればそんなわけないだろと思うのだが

ネット上でも適当な情報にあふれていて、何が本当でなにがウソかもわからなくなっていた。

知識のある今だから何を学ぶべきなのか、どのような学習が効率がいいのはわかるようになってきたが、当時はそれすらもわからなかった。

とりあえず勉強をしていても、これ何の役に立つんだろうとモチベーションが下がりまくり・・・。

500ページほどある参考書の2ページを理解するのにも10日ほどかかり

目に見える成果を感じる事は出来ず、ただよくわからない勉強に無駄に時間をかける日々。

プログラムを学ぶのではなく、プログラムで作る。

職業訓練

プログラムを学ぶのではなく、プログラムで作る。

プログラムができるようになりたい理由は、プログラムで何か作りたいから。

もしくは企業にアピールするための成果物を作成したいとかでしょうか?

なんとなく勉強としてやっている人が挫折しがちですが、

本来は動機が逆です。

物を作りたいからプログラミングを学ぶんです。

誰かの役に立つものを作りたいから

誰かに評価されるものを作りたいから

○○を作りたい!→どうやったら作れる?

それにはこういった言語を学んで、こんな方法があれば作れるのではないか?

その方法を自分で考え実装することからプログラミングです。

作りたいものが明確であれば、何に使うの?

という疑問は起こりようがありません。

プログラムの勉強とは作品を作り上げる中で足りない物を調べてゆく、方法を考えていくことだと感じています。

参考書が私の作りたいものを理解してくれているとは思えません。

だだし、自分の作りたいものを作り学習していくという事にはデメリットもあり、必要のないものは調べないということが起こります。

私が入社して苦労した点はまさにここです。

作りたいものを作る技術はあるがそれ以外は何もない。

プログラマーであるからには知っておかなければいけない事。

学校ではまず先に教わるような基礎中の基礎。

これが私にはありませんでした。

私の知識は穴だらけでスカスカでした。

スカスカだから専門用語がわからず、プログラマーとしてのルールも知らず。

当然ですが会社では何もできず、呆れられる日々。

だが安心してほしい。

スカスカは簡単に埋めることが出来る。

方法は色々な物を作り続けていくだけ。

いろんなものを作る。

それは色々な勉強をすることと同じこと。

勉強なんかやめて、自分の作りたいもの作ればいい。

勉強なんかやめて、自分の作りたいもの作ればいい。

こういわれるとなんだか気が楽になりませんか?

けして学習から逃げているわけではなく、これが正しい学習方法であると言えます。

とにかくまずは触ってみて習うより慣れろという方法

私の場合はゲームがすきだったので、ゲームを作ろうと行動し始めました。

ただ何となく就職したいから勉強するのではなく、好きなものを自由に作りたいという遊びの感覚で。

実際作ってみて本当に楽しかった。

何時間もかけて、ゲームタイトルを表示させる。

そこには自分の目的の為に一歩踏み出せた喜びと、自分のゲームのタイトルが出来上がったという達成感。

ただ何となく「helloworld」と表示させるだけの、なんとも言えない虚しさとは違い

作るのではなく、自分のやりたい物、作りたいことの為に行動する。

自分で自由にコードを書き、動かすことができるようになれば楽しい

自由にって事がすごく大切で、参考書なんて見てたら手順道理にやってください的なもの多いですよね。

自由に好きなものを作る。それが効率が良い勉強です。

ただ必要最低限の準備は必要

何もわからない状態で作るのは無理です。

作るための準備は必要です。

DIYをしたいけどドライバーもなければ、のこぎりもない・・・

用意するしかないですよね…

プログラマーにってのドライバー、それはPCと参考書、ネット環境です。

PCについての記事はこちら

質の良い参考書とは

私は過去になん十冊も参考書を買ってきました。

全部読んだのかというと、まともに読んだのは5冊ほどでしょうか?

あとは部分的に欲しい技術(5ページほど)の情報の為に購入しています。

暇なときに軽くめくってみたりといった、購入する価値のないものがほとんどだと言えます。

タイトルに騙され購入したものの、よく見るとかなりレベルの低い内容の本だったり、初学者用の本のはずが

かなり難易度高い事を書いていたり。

初学者の参考書選びは重要です。

ですので私がおすすめする参考書を記載しておきます。

あくまでWEB系のエンジニアのお勧めなので、ゲームを作成したいとかそういった方にはお勧めできません。

未経験からIT業界への就職を考えている方で

WEBエンジニアに興味がある方へのお勧め本です。

就職に役立つ技術か?という観点でおすすめしています。

現在フロントエンドの需要が高まっていると感じている為、フロントの参考書になります。

一気全部そろえる必要はありません。

① を理解したら②の学習をしましょう。

①HTML&CSSを学ぶ。

もし、Web方面に行くとしたら、プログラミングとは別に、htmlやcssの知識も必須になります。

それらに加えて、javascriptやphp等のいくつかのプログラミング言語を、合わせて使うことになります。

HTMLとCSSはWebサイトを制作するうえでは避けて通れない基本的な言語です。

とても簡単な言語と言われ入門としてはおすすめとされています。(実際はとても奥が深く難しいのですが)

理由としては、学習コストが低く、数時間の学習でそれなりのウェブページは作れるようになります。

実際に私が通った職業訓練でもHTML、CSSの学習から始めました。

HTMLとCSSの知識を備えていれば、ホームページの運営や設計を任される可能性もあります。

HTMLってこんなものなんだ~

レベルで良いので学習することをお勧めします。

②java scriptを学ぶ

java scriptはWEBエンジニアにはとても大切なものです。

WEBエンジニアとしてお金をいただくなら java script は必須と言えるでしょう。

しかしながら現在はタイプスクリプトで開発するのが普通ですので、ここも java script ってこんなものなんだと理解するレベルで良いと思います。

java scriptを学んでいるとjqueryも必要だなんておっしゃる方いますが、正直 jquery はレガシーな技術なので

就職した会社が jquery つかってますとかでしたら覚える程度でいいと思います。

③Vue.jsを学ぶ

HTMLとCSS、 java script を学んだらVue.jsを学びましょう。

Vue.js は沢山の企業が使用している技術なので、就職しやすいフレームワークだと思います。

学習方法として、参考書はガッツリよまなくてもいいです。

わからなくなったら読む程度で大丈夫でしょう。

とにかくひたすら自分の作りたいものを作りまくることだけ考えていれば、スキルがどんどん増えていきます。

そして、作成している最中にサーバについて気になってくるはずです。

サーバが必要になったら PHP(LALAVEL) を学びましょう。

この頃には未経験エンジニアとして内定が頂ける可能性も高くなると思います。

作成した成果物を面接でアピールできれば最高ですね。

④PHP(LALAVELを学ぶ)

サーバー側の技術もエンジニアには必須です。

データベースの事なども必ず必要になってくる技術です。

Vue.js と PHP(LALAVEL )を学んでみて楽しい方のエンジニアになることをお勧めします。

Vue.js が楽しいならフロントエンドエンジニア

PHP(LALAVEL ) が楽しければサーバサイドエンジニアと。

両方楽しいならフルスタックエンジニアを目指しましょう。

⑤Gitの使い方を学ぶ

Gitも必須です。なぜなら使用していない会社はないと思います。

こちらも入社前に覚えておきましょう。ガッツリ覚える必要はなく軽く使える程度でOKです。

参考書はいらない

基本的に基礎を学べる最低限の参考書が数冊あれば良いです。

参考書よりもウェブで検索した方が、簡単に有益な情報を得られるからです。

まとめ

プログラミングを学ぶならまずは作りたいものを決める。

HTMLとCSS、 java script を学んだら ひたすら作るりたいものを作成する。

作成していく中で必要な技術があれば、学んでいく

GITはさわりだけでも覚えるべし

-プログラマ―

執筆者: