馬斯克談產品研發過程可能犯的錯誤

馬斯克談產品研發過程可能犯的錯誤

今天下午看到一個 2021 年 Elon Musk 接受專訪的影片:https://www.youtube.com/watch?v=t705r8ICkRw

裡頭提到蠻多產品開發的觀念,包含需求、分工,以及工程師的職責,我個人認為非常值得一看,以下我幫大家摘要了部分我有感觸的內容。

讓你的需求更簡潔

簡化需求,而非複雜化需求,許多工程師會傾向於增加需求或規格,但真正好的做法應該是減法。這個減法理論從 Steve Jobs 到 Elon Musk 都非常推崇,我個人也認為是很關鍵的議題。

在一個產品中,增加東西是容易的,但往往會增加複雜度,當我們總想著增加時,思考解決問題方法時,我們往往只有「增加」這個方向,而不會想著「減少」與「重新設計」。這其實也是所有技術債的成因之一。

而習慣用加法的產品,很容易模糊了產品的焦點。

當產品核心功能不具備競爭力時,很多產品團隊會開始想給客戶更多,而更多經常意味著失焦,A 客群需要的主要功能沒法滿足,卻老想著用其他次要功能來填補,卻沒想過,即便次要功能再怎麼多,也很難讓客戶滿意。

給更多,這是一種人性在面對批評與挑戰時的慣性,但卻不利於產品發展。

別複雜化問題

過去碰過許多工程師,老喜歡將自己置身於複雜問題之中,舉個例子來說。

當今天要改技術債問題時,他可能會告訴你,要解決這個問題,需要改 10 個地方,而且會改到底層,而這些底層元件目前是由 N 個部門負責,然後這些部門的 PM 有好幾個都是直接對業務主管匯報。然後會順帶一提,這個問題以前也改過,但失敗了,失敗的原因是沒有任何業務主管支持。

我們可以看到,一個簡單的技術問題,到最後演變成一個複雜的問題。如果這時候我們立刻跳進來解決這問題,你就得處理一大堆政治問題、優先級問題與真正要處理的技術問題。

但過去我的經驗,我通常是要工程師告訴我 - 技術問題怎麼處理,剩下的問題我來解決。

當我今天只討論技術面的議題時,解法是什麼通常很明確,我們先針對技術面的議題做討論,就能明確所需要的資源與可能的風險。而當資源跟風險明確了,要去找人討論自然就簡單許多

可當我們被一堆非技術問題卡住時,我們連仔細評估技術問題的時間都沒花,那還談什麼解決問題呢。

別花力氣解決不存在的問題

這個段落很短,但我覺得很有趣,在馬斯克眼中,有很多問題根本不存在。而他所謂的不存在指的並不是沒這問題,而是這問題根本不值得討論跟花時間。

什麼樣的問題不值得討論呢?就是當你選擇減法時,當條件改變,原先的問題就不再重要了,所以解決問題時,應該先思考能否透過減法來讓問題變簡單,我們應該專注於解決更簡單、更單純的問題,而非複雜的問題。

如果本來我們要又快、又好、又便宜,那我們要在一個高科技產品的早期同時滿足以上三項條件,那解法肯定非常難。但如果今天老闆認為便宜這個條件不必存在,他只要又快、又好,那你完全可以想出一個成本較高,但能解決問題的方法。

所以馬斯克有特別提到,不要在一開始就跳進問題中,然後開始做最佳化,而是先做減法,刪到只剩必要的部分,此時才開始解決問題,才開始進行最佳化

先減法,解決問題,而後最佳化,而非立即跳入最佳化的思考。最佳化之後,則是自動化。

他舉了幾個 SpaceX 跟 Tesla 的例子:

開發 SpaceX 的火箭時,決定不折疊翼面(grid fin),因為這是一個不必要的機制。

開發特斯拉 Model 3 時,發現車身底部的玻璃纖維墊是多餘的,因此將其刪除,節省了成本和時間。

在生產線上進行過多的流程中測試也是一個錯誤,因為這會降低生產效率。

你會發現,他解決問題的本質,一直都是簡化與減法。

這一段他還提到學校教育,他說學校教育老是要我們去解一個不存在,假設出來的問題。甚至不允許你去反駁教授或老師,如果你跟教授說:「你這個問題沒有意義,根本不會發生。」你可能會被當掉。

這超級寫實,其實在公司也是如此。

對基礎問題提出質疑

馬斯克提到,早期他的專業能力不如那些在火箭領域浸淫許久的專家,但他還是針對「翼面(grid fin)需要可折疊的假設」提出了質疑。

也就是當專家們陷入過往經驗的陷阱時,他提出了一個專家不再考慮的問題,但最後火箭卻因此拆除了折疊機制而簡化了設計。

這問題我也超有感,過往每次在跨領域或進到一個新環境時,總會有人說「這件事就是如此」、「你過去不是這領域的可能不懂」、「這是行業的常態」。

但我也經常問這些人:「如果這是一個必然的事實,那請問其他人是怎麼解決的?」

如果其他人都能解決,這就代表這件事不是必然,既然不是必然,那肯定我們過往的假設出了問題

責任必須到人而非部門

提到工程需求必須對應到個人而非部門,是因為他認為這樣才能確保需求的合理性和責任歸屬

這個段落他隨口帶到,有時需求可能是很久以前某位實習生的隨口提議,但這個實習生早已離開公司,但現在部門裡也沒有人認可或支持這個需求。

如果需求來自於部門,接收需求的也是部門而非人,那可能會出現沒有人真正為這個需求負責的情況。

而如果工程師不質疑需求的來源,也沒有人負責解釋這個需求,最後就會盲目地執行,浪費時間和資源在不必要的優化上

透過將需求與個人連結,可以確保每個需求都有明確的負責人,這個人必須能夠解釋需求的必要性,並為其負責。這樣可以避免工程師陷入「優化不該存在的東西」的陷阱。

工程師需要有「總工程師」的思維

工程師常陷入一種迷思,就是專注於優化單一零件或步驟,而忽略了系統層級的問題。

舉例來說,SpaceX 的工程師花了很多心力降低引擎重量,卻沒有花太多心思減少推進劑殘留。結果火箭降落時,仍然攜帶著大量未使用的燃料。

雖然一噸燃料看似不多,但相較於工程師為減輕引擎重量所付出的努力,或許直接優化燃料會比優化引擎更容易。這是局部最佳化常見的問題。

也是為何我們常說,開發系統要能看見全貌,要能掌握脈絡。

如果每個人都能像「總工程師」一樣,從系統層級去理解問題,就能避免這種見樹不見林的錯誤。唯有每個工程師都了解系統的全貌,才能做出對整體最佳的決策,而不是只顧著優化自己負責的那一小部分。


很多時候,解決問題的方法遠比想像的更簡單,可我們經常被技術之外的問題給困住了,因此複雜化了問題。

當我們願意回歸基礎,挑戰基本假設,對問題進行減法,解決問題或許就沒那麼困難了。

如果你覺得我內容寫得還不錯,歡迎訂閱我的電子報,我每雙週會發送一封電子報到你的信箱。訂閱連結在這,過往的電子報也在這:Gipi電子報

也鼓勵你可以將我的電子報分享給你認為有需要的朋友們,也許你的舉手之勞,將會改變另一個人的思維與習慣。

Read more

大語言模型對軟體開發的影響

大語言模型對軟體開發的影響

近期閱讀了一份文件,內容是關於大語言模型對軟體開發工作的影響,文件的連結在這:Assessing and Advancing Benchmarks for Evaluating Large Language Models in Software Engineering Tasks 這份文件聚焦於大型語言模型(LLMs)應用於軟體工程(SE)領域的效能評估。這是個有趣的題目,所謂的效能,簡單的說就是能直接在該工作任務中大幅增進效能的比例。 大家都知道現在的 AI 寫 code 已經不是什麼大不了的事,但透過 vibe coding 寫出來的 code 真的可以用嗎?符合需求嗎?品質可以嗎?能被維護嗎? 關於這些問題,我們要如何衡量 AI 的有效性呢?目前的答案是透過 Benchmark(基準)。 舉例來說,之前有的 benchmark 叫 SWE-bench,

By gipi
溝通,不是把能說服自己的話拿來說服他人

溝通,不是把能說服自己的話拿來說服他人

還記得幾年前有個朋友私訊給我說了一段趣事。 他說公司有個同事援引了我在演講中提到的一句話:「敏捷走不出研發,就不能真正敏捷。」 他試圖用這句話來告訴業務團隊們「業務必須要參與到敏捷中,開發團隊必須要更了解業務狀態,我們才能真正發揮敏捷的效益。」 我那句話的本質跟他說出來的話,在意義上其實毫無分歧。 但他獲得的結果卻是被業務部門修理了一頓。業務部門告訴他:「這不是你該管的範圍,你應該專注把你的任務搞定。」 這邊姑且不論誰的想法才是對的,但我想跟大家分享一個我在溝通過程很重要的體悟。 「所謂的溝通,不是把能說服自己的話拿來說服他人。」 「所謂的溝通,不是把能說服自己的話拿來說服他人。」 「所謂的溝通,不是把能說服自己的話拿來說服他人。」 很重要,所以得說三遍。 我們讀書總會讀到很多很有道理的話,並且被這句話說服了。但千萬要記得,這句話能說服自己,不意味著能說服他人。因為我們的立場不同,遭遇的挑戰不同,先備知識也不同。所以一段自己覺得非常有道理的話,我們必須加以轉換後,才有可能說服他人。 舉個例子來說,做研發的會希望根本的理解一個需求背後的商務價值,因為這

By gipi
Meta 高薪挖來的 AI 人才,一個月後紛紛離職 - 論薪資公平性

Meta 高薪挖來的 AI 人才,一個月後紛紛離職 - 論薪資公平性

最近兩天看到好幾個談論 Meta 人才跳槽的消息,甚至連七月份從 OpenAI 高薪挖角的高手,也在入職一個月後決定離開 Meta 重回 OpenAI。當時的高薪挖角引起了眾多同業 CEO 的抨擊,覺得這種以錢為誘因的做法對 AI 的推進沒有幫助,終將會失敗。 Sam Altman:「用金錢驅動招聘,這會破壞以使命為中心的工作文化,真正的長期回報在於共同願景而非一次性高額薪資。」Dario Amodei:「極高的薪資策略可能破壞組織文化,雖然能吸引人才,但未必能吸引與其價值觀一致、長期投入願景工作的員工。」我相 信願景真的很重要,那是凝聚一群優秀人才的關鍵因素之一。但高額薪資背後的問題是什麼? 除了 Dario Amodei 提到的,會破壞組織文化外,我覺得 Michael Dell 的詮釋更直接。 Michael Dell:「這種高額薪資極有可能引發內部員工的不滿與文化上的緊張感。」 一樣從事 AI 研發工作,我在公司內已經是頂天的存在,但我的年薪不過就 1,

By gipi
對情緒控管能力的反思

對情緒控管能力的反思

前陣子跟大家分享了我自己對「情緒管理」與「承壓能力」的反思。 假設我們試著量化一個人的情緒承載能力,如果這個數值是 100,只要超過這個數字時,人的情緒就會崩潰。 而多數時候,我們會將自己的情緒壓力控制在 100 分以下,如果要自在一點的話,可能在 60 分以下是比較輕鬆自在的狀態。而那些工作壓力較大,或者內耗特別嚴重的人,很可能長期處在 80-90 分的狀態。 如果一個人的情緒壓力愈接近 100,那情緒就愈難自控,很容易沒耐性、暴躁、坐立難安。 過往我總認為自己是將情緒壓力控制在 80 分以下,所以自己在高壓工作下其實有許多的餘裕。 但最近發現,我可能只是為自己上了 buff。 所謂的 buff 是個遊戲用語,在遊戲中,有時我們可能會拿到道具,或者被施了魔法,讓我們的能力項注射了腎上腺素一般有個很明確的提升。 例如提升力量 5 點,增加 30% 血量,實體攻擊無效等等。

By gipi