優秀なプログラマーはなぜ、「この基本」を大事にするのか?

1590

プログラマーの「インプットとアウトプット」のバランスの良さと、アウトプットに対する評価はわかりやすい。優秀なプログラマーの学ぶことに対する姿勢から、ノンプログラマーが参考にできることは多い。

一緒にプロジェクトをしているプログラマーがいる。彼は中学生の時にプログラミングを始め、これまでに色々なウェブアプリケーションやアプリを作ってきた。中学生の頃に始めたブログでは、プロダクトを作る課程で学んだことを書いているという。そんな彼のプログラマーとしてのインプットとアウトプットは以下のようになる。

インプット

  • プログラミング言語のリファレンスマニュアル(英語)
  • Githubなどのソフトウェア開発プロジェクトのための共有ウェブサービス(基本英語)
  • Stack Overflowなどのプログラミング技術に関するナレッジコミュニティ(基本英語)

プログラミング言語のマニュアルの多くは英語である。開発者は日本人だけとは限らないため、プログラマーコミュニティの共通言語は英語となる。

アウトプット

  • ウェブアプリケーション
  • ゲーム
  • スマートフォンアプリ
  • ブログ(内容は上記プロダクトやサービスを作る課程で学んだこと)

実際に多くの人が彼のウェブサービスやアプリを使うことで、アウトプットに対する評価が得られる。アウトプットに対する評価が数値として分かると、さらなるモチベーションにもつながる。

アウトプットに対する評価

  • アプリダウンロード数、ウェブサイトアクセス数、他にもGoogle Analyticsで様々な評価項目が数値で示される
  • 評価項目は、学校や地域レベルではなく、世界中のサービスと比較することも可能
  • 実際に使ってみたユーザーからのフィードバックやブログへの反応

プログラマーの学びに対する姿勢

清水亮(株式会社ユビキタスエンターテインメントCEO)著の「教養としてのプログラミング講座」という本を読んだ。

あるとき、大学生を対象とした無料のプログラミング講座を開催したことがあります。すると意外なほど受講者が集まって、しかもほとんどの人が文系だったことに大変驚きました。私のような理系育ちにとって、プログラミングは何となく、「自分一人で習得するもの」という認識があるのに対し、「習う」と言う感覚を持ち得る人には文系の方が多かったのかもしれません。

上述のプログラマーもプログラミングは独学だと言う。プログラマーのOSとして、わからないことは自分で調べ、色々と試しながらモノを作っていくという基本動作が組み込まれているのかもしれない。

以前マレーシアにあるインターナショナルスクールを訪問したとき、校長先生がこう話していた。

ここではコンテンツを教えることはしません。子供達が大きくなったころには、ここで学んだコンテンツは時代遅れになります。ここでは、「考え方」を教えます。

プロダクトやウェブサービスを作るためにわからないことは、リファレンスマニュアルや本を読んだり、オンラインのナレッジコミュニティに聞いてみるなどして、インプットを増やす。そして、ウェブサービスやアプリケーションという形でアウトプットを出し、市場から反応を聞く。

プログラマーの学びに対する姿勢から、ノンプログラマーも学べることは多い。