Ruby on Rails 的創作者 DHH 談能力養成

2024年1月27日

💎 加入 E+ 成長計畫 與超過 250+ 位軟體工程師一起在社群中成長,並且獲得更深入、系統性軟體工程內容

Ruby on Rails 的創作者 DHH 在 2023 年底分享了一篇 《Commit to competence in this coming year》,要理解這篇文章,要先懂 competence 這個單字,這個字直接翻譯是指能力、本領,或者是在某個工作崗位上所需的必要技能。為什麼要談這個字,因為 DHH 認為在歲末年終,或者一年的最開始,很多人會說自己要有新年新希望,例如讀更多本書,或者做到 XYZ 等事情。

雖然有對新年的期望是好事,但 DHH 的觀點是,要達成這些新年新希望,往往需要有一些重大的改變,例如要養成一個新習慣,並不是一件太容易的事,雖然並非不可能,但許多人多半會半途而廢。

他的觀點是,多數人每週要花 40 小時,每年要花 2000 小時在工作上,如果這些時間當中,有 10% 是有意識地去提升自己,經年累月就會有很顯著的差異。他的論點核心要點在於「不用額外花時間」,而是在你已經會花的時間上,有意識地提升自己。

以寫程式來說,許多時候你已經知道如何寫某些程式碼,而因為你有熟悉的已知方式,在未來遇到相似的問題時,你可能會選擇用同樣的方式寫。只是當你一直這樣做,你就變得只會以單一思考方式解決問題。

從一個角度來看,遵循已知模式在長久累積後,能讓你在同樣的事情越做越快,這是經驗帶來的好處。但從另一個角度來看,這也是一種陷阱,因為這可能讓你忽略去探索新的可能性,例如不同解決問題的方法,久而久之雖然累積了經驗,但同時也讓自己停滯不前。

寫程式時有幾個層次,第一層是寫出來,第二層是寫出來且保證是寫對的,第三層是不僅是對的還寫得快,而 DHH 加上第四層,他認為要寫快之外還要寫的美。

想要能寫得美,就要培養出辨別美感的能力。DHH 指的美感不是裝飾或花俏,而是 4C (clarity, cohesion, consistency, and conciseness),而要能夠有著 4C,他的具體做法是先把寫出來的第一個版本當草稿,然後再進一步去塑造。

DHH 認為,許多剛入行的初階工程師的通病是,不會去仔細、反覆,甚至痴迷地研究自己寫出來的程式能不能寫更好。不只是功能正確而已,還要一遍遍地修,直到程式碼足夠美。

雖然 DHH 很多言論頗具爭議性,但是這篇《Commit to competence in this coming year》 寫的很實在。有意識地精雕細琢自己寫過的東西,將能幫助自己不斷在程式路上有所提升。

如果要多加一點,我們認為去研讀其他人寫的程式碼,然後回頭看可以如何改寫自己的,也會很有幫助。畢竟很多時候自己的觀點是有局限性的,透過閱讀別人寫的,可以獲得一些啟發,以及不同切入的角度。

總的來說,如 DHH 所言,有意識去琢磨與提升,可以不用是很花時間的,每天 10% 的日積月累,回頭看就會有極大的進步!

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們