「プログラマの実力」とは一体何を指すのだろう、とよく考えることがあります。特に、プログラミング雑誌の編集者としては、「プログラミングの初心者と中級者を分けているもの」に、とても興味があります。

 中級者と見なされるには、様々なものが求められるでしょう。特定のプログラミング言語の文法を隅々まで把握していることかもしれませんし、最新のライブラリやツールを使いこなせることかもしれません。たしかに、こうした知識は、優れたソフトウエアを開発するうえで重要です。ただ、そうしたノウハウは、使用するプログラミング言語や開発環境が変わると役に立たなくなることもあります。

 そこで、日経ソフトウエア2014年4月号で、「中級者に必要なものは何か」をテーマにした「初心者脱出の近道は? プログラミングの『壁』大攻略」という記事を執筆しました。この記事では、中級者に必要なものを「良い習慣」と位置付け、どのような習慣が必要なのかを挙げていきました。

 具体的には、「適切な名前を付ける」「誤解されやすい表記を避ける」といった考え方の基礎をはじめ、「例外や境界値といった面倒から目を背けない」「新しい文法のメリットが大きければ積極的に使う」「メモリーを正しく意識する」「GitやJUnitといったツールを使いこなす」といった、身につけるべき良い習慣を紹介しています。

遠い昔の苦い思い出、実力はなかなかわからない

 もっとも、ある技術者がそうした「きちんとしたプログラマ」なのかどうかは、第三者からはなかなかわかりません。実は、そのことで痛い目に遭ったことがあります。

 遠い昔なのですが、Javaの入門記事の執筆をある技術者の方に依頼したことがあります。その方は、Javaに関する単行本を執筆した経験があったので「Javaにはとても詳しいだろう」と思ってお願いしたのです。