プログラミングを学ぶ上で重要なたった3つのこと

はじめに

ボクはいわゆる「プログラミングができる人」です。

ただこの表現だと「物凄く高度なプログラミングができると勘違いされる」ので、IT業界で長らく使われているスラングの「アマグラマ」と自称することが多いです(プロと対比してアマ)。

そんなアマグラマなボクが今までプログラミングを学んで実践してきた中で重要としてきた3つのことを今回ご紹介したいなと思います。

プログラミングは手段である

プログラミングに興味のある人々は多くの場合「プログラミングしてみたい」と発言することが多いです。

プログラミングに興味を持ったことは大変素晴らしいことですし「じゃあやってみようぜ!」とボクも強くプログラミングへの参加を奨めます。

しかし、プログラミングを始めるのにあたって重要なことは「プログラミングは手段である」という現実です。

「プログラミングは所詮目的を達成するための手段」であって、プログラミングすること自体が目的ではないのです。

自分が得たいサービスがあるからこそ手段としてプログラミングするのであって、物凄くプログラミングするのが面倒くさいサービスならお金を支払ってサービスを得るのも手段の1つです。

サービスを得るためDIYするという手段と、サービスを得るためお金を支払うという手段には優劣がありません。その時その時の環境・状況によって適した手段があるだけなのです。

なのでプログラミングをするときは先ず「どんな目的のためプログラミングという手段を選択するのか?」を考えなくてはならないわけです。

この目的とは例えば就職に活かすため、普段の業務のため、既存のサービスに納得いかず自分専用にカスタマイズされた自分だけのサービスを作るためなどなど色んな目的があります。これらを実現するための手段としてのプログラミングなのです。

汚いプログラミングコードを受け入れる

はじめのうちはプログラミングに馴れていなくて、アナタの記述するプログラミングコードはいわゆる「スパゲッティなコード」で、プロが記述するような美しいコードは絶対に書けません。無理です。諦めましょう。

プログラミングには作法がありますが、それへ対して厳密すぎるほど従う必要は一切ないです。

何故ならアナタの目的は厳密にプログラミングすることではないはずなので、目的が達成されさえすればプログラミングコードの汚さなど些細な問題でしかないからです。

プロはプログラミングによってお金を貰っています。プロの目的の中には様々な理由によって美しくプログラミングするということも含まれていますが、アマグラマなうちはそこまで気をつけなくとも良いのです。

そして何よりプログラミング学習を実践し、ある程度考えた通りのサービスを作れるようになってくると「ここはもっとまとめられるんじゃないか?」とか「もっと高速化できるんじゃないか?」とか「新機能を増やしやすくできるように書けるんじゃないか?」とか考えるようになるとプログラミングコードは美しくなっていきます。

つまり、改善するという目的を達成する段階になってやっとプログラミングコードの美しさは考慮したら良いのです。

取り敢えず動くものを

前述から再三言っているとおりにアナタの目的はプログラミングによってサービスを得ることであってプログラミングすることではありませんし、美しくプログラミングコードを記述することでもありません。

取り敢えず目的を達成するサービスがあれば良いはずなので例えばプログラミング学習Webサイトを上から順番にナンバリング通りにやる必要もないです。

取り敢えず手を動かして、もし知識不足で手詰まりし続きのプログラミングができない状態になったときにググって調べれば良いのです。

単純な単機能サービスであっても取り敢えず動けば嬉しいですし、サービスが動いたことは自信にも、繋がりモチベーションも上がります。

アナタが思い描いたサービスのうちのたった1つを先ずはプログラミングしてみて最低限動くようにし、徐々に機能を増やせば良いのです。

プログラミングなんてこんなもの

プログラミングには堅苦しく小難しいイメージがつきまといますし、今まで手を出して来なかった人も大体は堅苦しく小難しいことに躊躇してきたのだと思います。

しかし、実際は結構プアにプログラミングというものは実践可能で、よりプログラミングに詳しくなるタイミングというのは手詰まりしたときなのです。これはきっと“プロ”グラマな方々も同じでしょう。

こんな理由から前述のたった3つを実践するだけで今日からアナタもプログラミングができる人の仲間入りでアマグラマになれるのです。