今天朋友丟了卡米哥大大的另一篇文章給我,立馬選擇轉貼上來:
軟體開發者的價值 - 卡米哥

身為一個軟體開發者,我一直以來都想知道我的價值到底在那裡。在我長期的觀察和思考,終於有了一個初步的答案,若站在老闆的角度來看,我的價值其實就是我寫下來的程式碼總共幫老闆賺了多少錢。

因為老闆僱用你,就是希望你可以幫他打造一台自動賺錢機器,然後靠機器運轉來達成自動賺錢。若要深入探討的話,我想先談談什麼是價值,以及什麼是程式語言,從思考一行程式的價值開始,到思考軟體開發者的價值。

從這個出發點開始,作者大大一路思考:什麼是價值?什麼是程式語言?程式的價值呢?開發者的價值呢?

其中一個思路我覺得不錯,那就是「程式的價值 = 執行次數 * 執行一次生成的平均價值」,
也就是說:程式執行是會賺錢的(當然有些程式的價值可能是負的 xD)

而我們軟體開發者,就需要運用技術力來讓程式能夠繼續跑下去、繼續賺更多錢。
所以,開發者提升開發速度、提升程式碼品質等等,都是在提高讓程式能繼續跳表(?)的戰力

這個觀點也能夠解釋為什麼我們應該追求上一篇文章提到的那些價值觀(程式碼品質、維護成本、修改成本等等),因為這些都影響了我們產出的價值


此外,還有幾個我特別標記的點。其中一項就是關於技術債的部份:

在我之前的工作經歷當中,大部分時間是在做新創公司的案子,而新創公司的客戶數通常趨近於零,我曾經開發並且上線一個新的網站,卻始終沒有用戶真的去使用,經營了一兩年,結果測試環境上的資料還比正式環境上的還多,在這種情況下,即便程式的效能再好,沒人來使用的網站所產生的價值其實是趨近於零。

= 沒有人在用的程式,產值是零

當時是案主付錢委託我們開發網站,所以我們有收到錢,只是網站並沒有替案主賺到錢。我們採用的技術很好,自動測試也寫的很完整,卻做出了一個垃圾,而在此同時,我接了另一個案子的長期維護,這個專案裡程式的架構很亂,欠了一堆技術債,而且都沒寫測試,但是客戶人數足夠而且一直有下訂單,所以反而這個案子就有在賺錢。

= 即便是充滿技術債的程式也能產生價值

我發現像我這樣的菜鳥常常會有一種迷思:這專案的技術債有夠多!真沒價值!

但不是這樣的,並不是臭不臭就可以斷定程式的價值。只要這個專案還是收入來源,它其實就還在產生價值。你養蟲,蟲也養你

就像泳池的收入並不是取決於裡面的尿多不多,而是進來游的人多不多嘛

而我們的目標就是用我們的技術力和解決問題的能力,替它排除更多的障礙、讓它繼續產生價值,然後把錢帶回來給我們(?)


那如果我們做不到呢?例如上頭就是想要你寫一些沒人用的東西?

雖然你在一家公司內可能不能決定要寫什麼程式,但你可以選擇要去哪一家公司寫程式,去能被執行最多次,且單次執行所生成價值最高的專案寫程式,則可以最大化自己的價值。

沒錯!是時候歡迎我們 2/27 推薦過的這篇「上游思維」的結論:

  1. Change your company, or
  2. Change your company.

那麼,今天的轉貼就到這邊,明天見~