我從 97 年開始接觸軟體開發,至今邁入第 17 個年頭。自己開發過,也和大量、各式工程師合作過。這期間最重要的經驗,就是深刻體悟,最有價值的工程師,就是懂得與其他工程師分工合作、瘋狂使用開源碼的工程師。他們都像偉大的建築師或設計師。

這些工程師,不是工人。

當你提出一個軟體開發需求,譬如網站。沒有靈魂的工人會這樣反應:「請你給我清楚的 spec」、「……用什麼語言開發?」、「這功能做不到,你又不是 Google 或 Facebook」、「為什麼又要改?」、「之前這版本誰開發的啊?」

我不是說問以上哪些問題的就是工人,我說的是,工人只會問那些問題。

我和很多優秀的開發團隊合作過,其中《TechOrange》/流線傳媒的開發團隊會這樣反應:「這個網站的目的是什麼?」、「內容網站?內容包括影音嗎?」、「內容來源是較為少數的作者或編輯,還是有 UG…..還是有很多使用者上傳的內容?」、「建議不要把資源或預算砸在開發上稿後台,用 WordPress 的會比我們自己重頭來要好又快,不如把時間和預算省下來建立分析使用者偏好的 Framework,比較有趣」、「之前這版本為什麼這樣開發?」

Richi/里斯特的開發團隊會這樣反應:「虛擬貨幣交換?可能要考慮台灣以外的多語系和多貨幣架構」、「支付?在哪裡支付?支付什麼?」、「行動支付?行動的人的支付?還是行動電話的支付?」、「這些 module 開發是兩週……到兩個月。兩個月這些 module 可以(透過 API)給其他內部或外部開發者使用。」

這些開發者,講話有人味,思考獨立,溝通激烈。你會感覺到人在工作,不是工在作人。

在軟體領域,其實不只軟體領域,硬體製造、工業設計、品牌行銷、零售流通、金融支付,各式各樣的領域,都早已成長到不是一個人或一間公司可以處理所有需求。只是台灣的軟體服務產業,以及這個產業裡的企業和組織,都還非常年輕,才會短暫出現那種 not invented here 的錯誤思維。

如果你聽到你的工程師嫌棄或挖苦 wordpress,看到外部合作廠商的需求分析或提案報價中欠缺 AWS、Hadoop 等外部技術或開源碼的整合或規劃項目,表示你的工程師和協力廠商還是工人與施工單位,還不是建築師與建築設計事務所。

我們需要的,是能夠因應快速成長與變化的技術環境、快速整合技術成果和成熟合作能力的軟體服務公司。

具備和一萬個工程師合作的能力的工作者,聚集在願意和一萬間企業合作的企業裡;或是一萬個工程師,創辦或聚集在一萬間不願意和其他人合作的企業。

又是個經濟與經濟學的問題。

小全通訊社。通訊社通常提供可以被其它新聞群組織直接利用,而不需要大修改的文章,然後把它們出售給其它的新聞群組織。它們通過有線服務(開始是電報,今天是網際網路)提供大量的文章。而公司、個人、分析員和情報局也被它們描述為通訊社的信息來源。(維基百科)

(圖片來源:jef safi ‘pictosophizing, CC Licensed)