[事実]プログラミングに必要な能力は「情報収集」と「切り分け」です

こんにちは!好奇心おばけのかわそん (@KKohey4)です!

「プログラミングに必要な能力ってなんだろう?なんか、学校でならってきた、暗記とかとは違うような気がしています。
できれば、身につける方法も合わせて、話を聞いてみたいです。」
このような疑問を解決します。

本記事の内容

  • 「情報収集×問題解決」です
  • 正解のないものを作ること
  • 「協力」についてのスキル

この記事を書いている僕は、年間50人以上の初心者に、プログラミングを教えています。

また、個人でwebサイト・webサービスの開発の仕事も頂いており、「プログラミングに必要な能力」について、かなりわかってきました。

そこで今回は、コードを書いていくのに、必要な能力を解説します。

3分だけお付き合いくださいませ。(`・ω・´)ゞ

[事実]プログラミングに必要な能力は「情報収集」と「切り分け」です


結論から。

プログラミング能力
=情報収集×切り分け

上記の通り。
「情報収集」と「切り分け」
2つに切り分けて、見ていきましょう。

プログラミングの「情報収集」について

大きく2種類あると思いまして、下記の通り。

・「今」の問題を解決するため
・「未来」の問題を解決するため

上記の通り。

✔️「今」の問題を解決するための情報

目の前のエラーを解決するための、情報集めです。

たぶん、検索エンジンで集めるかなと。

例えば、開発していた時に、
「Syntax Error」っていうものが出たとしましょう。

Googleで「Syntax Error」って調べると、「文法ミス」って出てくるはず。

ドンピシャな回答が載ってるサイトを見つけられるかもしれませんね。

これはイメージつきやすいかなと。

ちなみに、欲しい情報にたどり着くためのググり方にはコツがありまして、下記で解説しています。

✔️参考
プログラミングのエラー解決方法を5つ紹介[初心者~中級者向け]

✔️未来の問題を解決するための情報

将来困らないために、知っているだけで有利になる情報を集めるってことです。

かなり重要です。

というのは、ITの世界って、「知ってるか知らないか」だけで、かなり効率が変わってくるんですよね。

例えば、〇〇したいって思った時。
たぶん、ググるかなと。

でも、、、結構遠回りになってることに、気づきますか?
「迷い」が出てくるんですよね。

「あれ、、こんなの出てきたけど、これでいいのかな。」

みたいな。

それよりも、

「〇〇っていう情報があったな、もう一回調べてみよ」

の方が、サクッと前進できます。

頭の中に、タネが撒かれてるか、更地のままか。
これで、けっこう変わってきます。

具体的には、下記のQiita記事に、目的別で紹介されてるので、興味のある方はどうぞ。

✔️参考
エンジニアの情報収集法まとめ

問題の「切り分け」について

エラーを解決するには、問題を切り分けていく必要があります。

というのは、「どっか違う」では、探す範囲が広すぎるから。
当たり前ですよね。

具体的には、

「ここまでは正しく動いてた。だから、こっから先に原因があるはずだ。」

とざっくり範囲を絞り、

さらにエラー内容から、原因を限定していくような感じです。

この能力を身につけるには、割と時間がかかり、方法を次で共有します。

プログラミング能力をあげるには「正解のないもの」を作る


じゃあ、どうやって力をつけていけばいいのか。

結論は「答えのないものを、自力で作る」こと。

これで初めて、コードを書いていくのに必要な能力がつきます。

というのは、
自分で動く状態に持っていくしかないから。
ですね。

そのためにググったり、考えたり、色々テストしていくしか、方法がないわけです。

そして、自然と力がついていきます。

「答えがあるもの」では、コピペできます

ここまで読んで、

「答えがあるものじゃ、なんで力はつかないんだ?」

と思う方がいるかもです。

結論としては、
原因の切り分けをしなくても、先に進めるから
です。

例えば、アプリが動かなかったとしましょう。

さっきみたいに

「ここから先に、原因がありそう。」

っていうところまでは、簡単に絞りこめると思います。

ですが、問題はそこから。
わからなかったら、コピペするっていう逃げ道が用意されてます。

何回見ても、間違ってなさそう。
まあいいや、コピペしちゃえ、みたいに。

結局、こういう時の原因ってスペルミスだったり、全角スペースが入ってたりするんですが、ここを見つけるのがいい練習になるんですよね。

ここをスキップできるのは、、、
やっぱり力がつきにくいです。

注意:「答えのないもの」はしんどいです

ちょっと、誤解のないようにしておきたいのですが、「答えのないもの」を作るのはしんどいです。

自力で解決しつつ、どこまで作れば合格点か、まで決めないといけないので。

ですが、やる価値があるのは、上記の通り。
間違いなく力はつきます。

筋トレみたいな感じ。
きついですが、正しく取り組めば、筋肉はつく。

ぜひ、やってみてください。(`・ω・´)ゞ

チーム開発は必要な能力ですが、後からでOK

チーム開発の能力も、必要です。

ですが、まずは自分の力をつける方が、圧倒的に優先ですね。

考えてみれば、当たり前ですが、組み合わせる価値のないレベルなのに、組み合わせ方を身につけても、、、意味は薄いはず。

ちなみに、共同開発で、最低限求められる能力に関しては、この本1冊あれば十分です。

✔️参考
[共同開発]Gitを使って自治体の課題解決に取り組んだ[Life is Tech!]

最後に:コツコツ能力を磨いていきましょう

記事のポイントをまとめておきます。

  • プログラミング能力=情報収集×切り分け
  • 「今のため」の情報と、「未来のため」の情報
  • 「正解のないもの」を作れば、力がつく
  • 「正解があるもの」には逃げ道がある
  • きついですが、やる価値は高い

こんな感じですね。

すぐに力がつくってことは、ありません。
どうしても時間はかかります。

でも、正しく取り組めば、徐々に慣れてきます。
やってみれば、わかりますよ。(`・ω・´)ゞ

では、以上です。
この記事が少しでもお役にたてば、幸いです。

✔️参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です