2022年01月26日

お金を生むコードとは?

じゃお

ああ…それにしても金が欲しいっ…!!



この資本主義社会に生きる我々が、より多くのお金を欲することは自然の摂理だと思います。
お金を得るには、どうすれば良いでしょうか? 幾多の手段がございますが、今回はプログラマーとして報酬を得ることを考えてみましょう。
プログラマーとして多額の報酬を得るには、どうすれば良いでしょうか? 幾多の手段がございますが、今回は価値のあるコードを書くことを考えてみましょう。

・価値のあるコードとは?
・価値のあるコードを書くにはどうすればいいのか?

上記の二点に関して、私が仕事の中で意識していることをお伝えしたいと思います。



●価値のあるコードとは?

あらゆる要因が、下記の一言に集約されると考えています。

未来の「誰か」の時間を奪わない

我々の書いたコードは、そのサービスがリリースされ保守・改修され続ける限り、未来の誰かに触れ続けることになります。時間という限られたコストを、他人に使わせない。これはコード価値を高める上で、最も重要なことだと思います。
具体的には、下記3つの要素が挙げられます。

  • 読みやすい
  • 改修しやすい
  • バグが少ない

数十分〜数時間の手間を惜しんで、これらの要素を疎かにしたばかりに、未来の何人もの時間を数時間〜数日単位で奪ってしまうことは往々にして起こり得ます。



●価値のあるコードを書くにはどうすればいいのか?

1.ビジネスについて理解する

イチプログラマーだし、このサービスのビジネスとか関係ないっしょ!という考えでは、価値のあるコードは書けないと考えています。
ざっくりとRPG(ロールプレイングゲーム)で例えてみましょう。敵の攻撃を食らってHPが減る「ダメージ」と、敵の特殊魔法を受けて攻撃力が下がる「デバフ」とでは、「ステータスの数値が減少する」という処理では同じに見えて、まるで意味が異なります。RPGを全く知らないプログラマーが、これらを同じものと捉えて処理を書いた場合、保守性・可読性が著しく低下します。
サービスのビジネスを理解することは、適切な処理を設計する上で必要不可欠です。

2.プロジェクトの序盤をおざなりにしない

物事を進める上で、最初から細部に拘りすぎることは、時間的な意味で悪手という通説がございます。しかし、ことプログラムにおいては、開発当初から細部に拘ったコードを書くべきだと考えています。
「最初はざっくりで、後から綺麗にまとめていこう」と考えていても、開発中盤〜終盤にその余裕が残っていないことが多いためです。
開発当初の適当なコードは、割れ窓理論的に後続のコードも適当にしていってしまいます。

※割れ窓理論……割られた窓を放置しておくと「窓が割れてても誰も気にしないんだな」という考えが蔓延し、その周辺の治安が悪化するという考え。

3.質が重要視される環境を作る

期限を遵守することは必須です。しかし、期限に関して過度に厳しかったり、逆に期限内に終わらせることが過度に評価される環境下では、どうしても質より速さを重視するようになっていきます。
質の重要さがプロジェクトメンバーに浸透しているような環境が、望ましいと考えます。



●終わりに

繰り返しになりますが、大切なことは「未来の誰かの時間を奪わない」ことだと考えています。
おざなりなコードに時間を奪われる、ということが無くなれば、浮いた時間でより生産的な取り組みが可能です。結果として、時間当たりで生み出せる価値が高まり、入ってくる「お金」という面にも良い影響があります。
今回はお金を生むコード(=価値のあるコード)とは何かについて、述べさせていただきました。
結局のところは、これらの考えを基に、コードを書きまくり読みまくることが欠かせないと思います。
私も、まだ先の長い社会人生活の中で精進していきたい次第です。そして沢山のお金が欲しいです。

ここまでお読み頂き、ありがとうございました。