https://qiita.com/Fumi_Oc7/items/74f2791a4b6c832f9555
私がプログラマーとして働き始めて1年半がたちました。幸いなことに環境に恵まれ、私の身の回りには成果を出し続ける優秀なプログラマーがたくさんいます。 1年半彼らの仕事を観察して気づいたことは、成果を出すプログラマーは共通して 「コードを書かない努力をしている」 ということでした。 この記事では彼らが業務で行なっている、 「コードを書かないための思考、習慣」 についてまとめていきたいと思います。
多くの人は「プログラマーはコードを書くことが仕事」だと考えています。この考えに基づくと、プログラマーが「コードを書かない努力をする」ということが、ひどくおかしなことに思えてしまうかもしれません。 そこでまず前提として3つの誤解を解くところから始めましょう。
私たちプログラマーの多くは会社から給料をもらいながらコードを書いています。そして会社が私たちに給料を払う理由は「私たちが利益を生むことを期待しているから」です。 つまり、私たちの仕事の本質は 「利益をうむこと」 にあり、コードを書くことはその一つの手段に過ぎません。 極端に言えば、成果さえ出せればコードを書く必要はなく、逆にどんなにきれいで高度なコードを書いたとしても、それによって利益が生じなければ、会社が私たちを雇う意味はありません。
利益を生むのは常に 「コードを書くという行為」ではなく、「コードを書いた結果の制作物」 です。 コードを書く時間はあくまで成果を出すための過程であり、同じ成果を出せるならその時間は短ければ短いほど効率が良いと言えます。
私たちがコードを書くのは、大抵の場合「やろうとしていることが既存のシステムだとできないから」です。 すなわち、コードを書くことは、システムに対して新たな機能、条件を生み出している のと同義です。 いたずらにコードを書くことはシステムの複雑性を上げ、バグや業務ミスの原因になり得ます。
この3つの前提に基づけば、業務において「コードは書く機会は少ないほどいい」ということが、少し理解しやすくなったと思います。
ここまでは「コードを書かない方がいい理由」を説明してきました。では、具体的にどうすればコードを書くことを回避できるのでしょうか。 私の身の回りのプログラマーは施策の依頼を受けた際、 コードを書く前に以下の4つのステップで施策を評価することから始めていました。
以下詳細にそれぞれのステップの考え方について解説をしていきます。
「依頼内容が目的とあっていない」ということは意外と多いものです。 例えば以下の例を考えてみましょう。
このような依頼を受けたら、あなたはどう思いますか? 多くの人は「そのページを改修しても意味がないのでは...?」と感じるはずです。 上記は極端な例ですが、「プログラマー」という役割意識に縛られると、無思考で頼まれたことをやってしまいがちです。 コーディングを始める前に、まず 「依頼された施策内容は目的とあっているか」 を考えてみましょう。そして施策が目的とあっていないと感じたら、着手する前に依頼者とすり合わせを行ってみましょう。 結果「施策をやる意味がない」という合意がとれれば、あなたはその時間を別の仕事に当てられるはずです。