學習

工程師 X 黃金圈理論

TED上很紅的一段關於黃金圈的演講,在行銷學領域講「黃金圈」理論,在三重圈圈裡最外圈是What,第二圈是How,而中心的圈圈裡則是Why。為什麼大家都做同樣的產品,但有些公司的產品就賣得特別好?通常的原因都是來自於Why。在What中只談產品規格,在How中談產品可以做什麼,但是在Why中告訴顧客我們為什麼要這樣做?背後有沒有向顧客開啟一個更大的想像? by Esor Huang
很久以前看到Esor大的一段話, 當時在看TED上的這段影片時, 深受啟發。 最近, 發現以這個理論為基礎, 可以很好的去回顧一路以來走過的軟體學習路線。

What first, how second, then why ?

有不少人(包括我)都是先從可以怎麼做, 開始學習程式語言, 之後才逐漸的知道這個程式語言可以做什麼, 最後才慢慢的有機會找到自己想要透過這個程式語言呈現出什麼目的以及意義。

最初的What & How, 通常是簡單的函式功能, 跟這個語言所具備的一些特性。 Ex. hello, world

說真的, 如果不是命運無情的捉弄, 我想在很早很早以前, 我就放棄了軟體開發這條路了。

大一的C++程式設計, 如果沒記錯應該是62分低空飛過, 直到大三, 我還在問自己, 我不懂在屏幕上印出 “hello, world”跟畫出老鼠走迷宮的路徑圖, 究竟有什麼意義?

現在想想, 還好沒有因為找不到這個 Why 而放棄。

” 意義是三小?我只聽過義氣,沒聽過意義啦! “

恩, 大學一起打Dota的室友們, 應該是沒有放棄很大的原因。

每個人為什麼選擇軟體開發的原因都不相同, 但如果能夠找到這個為什麼, 才有辦法走得遠走得久。

之前寫的 給資工系大學生的一堂課 – 軟體工程師的技能樹 分享了當軟體工程師一路走來看到的風景。

在找不到為什麼的時候, 也許單純的就只是不夠懂得程式語言的 How & What 罷了。 因為不了解程式語言的可能性跟所能做到的事情, 要找到為什麼, 就像天方夜譚一般。

” 不是因為有了希望才堅持 而是因為堅持才有了希望 “

而我想要說的是, 在軟體這條路上, 撐過了就是你的了。

別倒在沒人看到的路途中。

當有一定基礎後, 請逐步地回來找到你的Why, 然後修正你的how & what !

做軟體的人最後都會變得很類似, 會漸漸的有工程師的魂魄。

Life finds a way. (生命會自己找到出路 )

Life finds a way.

工程師在遇到數不完的Bug後, 逐漸地會有自己喜歡的方式去讓這些Bug減少發生的機率。

這很正常, 因為生命該浪費在美好的事物上, 而不是無止盡的Debug…

所以會有的學習路線, 真的也令人驚訝地相似。

How Stage

Ex.物件導向、 設計模式、 重構、 敏捷開發、測試驅動開發 …etc

然後會發現一件殘酷到不行的事, 就算用了很棒的方式, 寫出有彈性易修改的程式,

老闆不喜歡、 客戶不要、 市場不接受, 一切都是枉然。

Why Stage

Ex. 實例化需求 (Specification by Example), 行為驅動開發(Behavior Driven Development) …etc

XDite 的這篇文章很好的摘要了實例化需求這本書, 有興趣的可以自行前往。

但簡單的說, 就是透過例子去釐清老闆&客戶到底要做的是什麼?

溝通需求、 釐清問題、 統整總結。

如果想把產品做對, 那人與人之間的技能, 就變成是另一項工程師需要具備的能力。

把產品做對, 遠比把產品做好來得重要。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *