「大学に行けば問題ない」は大間違い。プログラミングが身につかない人の共通点ベスト3


どうも。ヒビ(@hiibii256)です。

今日は専門分野のお話をしようと思います。それは、プログラミングの話。
プログラミングは理系、文系を問わず社会人として必須のスキルになろうとしています。
しかし、プログラミングを学ぶ機会はまだまだ少ない。最近ではオンライン講座もぞくそくと増えてきていますが、まだまだ大学で学ぼうという方は多いのではないのでしょうか。

大学に行けばなんとかなる。工学部に行けばどうにでもなる。

そう考えていると悲惨な目に会うことになるかもしれません。

もちろん、大学で学び、プログラマーなどのプログラミングのスキルを生かした職業に就いている人も大勢います。

なぜ、きちんと身につく人とそうでない人に分かれるのか。

本記事にてお伝えしていきますヾ(`・ω・´)ノ

共通の度合いと学習度への影響から総合的に順位付けしました。

3位 ゴリ押しで解決しようとする

これをやっちゃう人はそもそもプログラミングが向いてないです。他分野を研究された方がいいです。なぜならば、プログラミングの最大の目的は、面倒なことをコンピュータに押し付けることにあるからです。

面倒なことを面倒だと感じない人、面倒だとわかっていながらもやり続ける人。そんな人は、いつまでたってもプログラミングが身につきません。

コンピュータに代わりにやってもらう。
どんな簡単なことも自動化する。

これくらいの姿勢を持ちましょう。
何事も、まずは、考え方からです。

この問題を解決するには、先ほどから言っている姿勢を変えることと、法則を見つけることが挙げられます。

姿勢は大事。あなたの思う3倍は大事。

面倒なことは1つでも減らしてやる!という気持ちを持って取り組んでくださいね。

法則を見つけるというのは、いつもいつも言えることではないんですが、姿勢だけだと具体例を出せよ!という声が聞こえそうなので加えました。

例えば、アスタリスク(*)を使って入力された値を高さとする三角形を描画しなさい。

という問題があったとします。(大学で実際に出題された問題です)

高さが3の場合、5の場合、7の場合…となってくるわけです。

このとき、n行目は最初にm個の空白が必要、その後x個のアスタリスクを表示すれば良い。

とわかっていれば、繰り返しの文を書いて、先ほどのルールに沿って表示をしてしまえば良いのです。このルールを見つけようすることが大切なのです。

この繰り返しを巧みに扱えると、コードが一気に短くなります。プログラミングの得意な先輩のコードはいつも短く、シンプルで綺麗です。

2位 わからないまま進もうとする

これはもうプログラミングに限った話ではないです。どんな勉強もわからないままにしておくことが一番ダメです。

がむしゃらになって考え続けても答えが出てくることはありません。ましてや、プログラミングはあらゆる答えが存在します。先ほどの「ゴリ押し」も実行結果さえ合っていれば1つの答えとなりうるのです。

そうなってくると、わからないままでもいいじゃんと思われるかもしれません。

しかし、それは絶対にないです。なぜなら、わからないまま進むとゴリ押しすら通用しなくなるからです。

プログラミングというのは、知識・技術の積み重ねです。いずれはゴリ押しをしようとしても、ゴリ押しできるレベルを超えている問題にぶち当たります。

何からゴリ押しすればいいんだあああ。

というきちんとできる人には理解できない問題が起こります。
実際に起こっている友人もいました。

ましてや、大学の授業だと進むスピードが早く、そうそう振り返るようなことはしません。振り返りをしていないお前が悪いと説教されるだけです。

わからないことは、そのままにせず、教授や講師に片っ端から質問してやりましょう。

できる友人を頼るのも1つの策です。

凄いシステムが組めるとか、ゲームアプリを作れるだとか、そんなレベルは要求しません。(できるに越したことはないですが…)

少しでも、自分よりできる人、テストの点数が良かった人を頼りましょう。

基礎、姿勢さえ身に付けることができれば、立派なプログラマーになっていますよ。

1位 単位が取れれば良いという考え

非常に多い。その場しのぎ野郎が多すぎる。

わからないままにしておくのも、ゴリ押しするというのも、元凶はコイツです。

プログラミングというのは恐ろしいもので、簡単なものから難しいものまで幅がとてつもなく広いです。たった1つ、条件を追加しただけで何倍にも難易度が跳ね上がることなんてザラです。

テストや課題の問題は問題用なのです。
つまり、サクッと採点ができるような問題なのです。

私はまだ、本当の現場を経験したことはありません。
とはいえ、授業外の時間に先輩らと囲碁AIの開発などを経験しています。

そこでは、決まった実行結果が出ることはありません。
しかし、強い囲碁AIが求められるわけです。

多くの開発は、バグとの戦いです。

採点なんて、出来たものじゃありません。

その場しのぎを続けていると必ず、後悔します。

学年が上がって、ちょっと難しい問題をやるときかもしれませんし、現場に出てからかもしれません。新しいプログラミング言語を学ぶときかもしれません。

いつなのか明確に言うことはできませんが、後悔するときは間違いなくやってきます。 プログラミングは出来るようになると便利で楽しく、稼ぐことだってできます。

実力によっては世界を変えることすら出来です。

プログラミングをきちんと学んで世界に羽ばたいてやりましょう\( ‘ω’)/