今天跟北漂的工程師朋友聊天聊到,他經歷了所謂輕鬆的一年之後,對於帶人與工作都有更新的想法,聽完之後覺得滿有趣的,就來分享一下
那位朋友 B 是在醫療器材的公司當類似韌體工程師的工作,也是需要寫程式,剛入職的時候負責的專案他總是想做到最完美,為了之後可以維護、為了之後可以再擴充,他總是想要把接到的專案做到他認為的盡善盡美
但是留給他的時間常常不允許他這麼做,所以他為了能夠符合自己的理想常常加班去做,那時候他主管常常跟他說不用做這麼細,但他總是覺得就是前人當初在寫的時候沒有規劃好,現在他們這些後人才維護的那麼痛苦
後來後來,B 這種加班生活過了一段時間,年資越來越長的他開始被賦予獨立完成案子的任務,除了自己的程式碼要顧之外,還要花時間寫要給配合人的指令任務,因為他會怕配合人不知道要怎麼做,所以指令都下的很詳細
之後一直加班的下場就是他的身體爆了,病痛不斷,身體到達極限,每週都要看醫生
後來 B 就想,他做的這些為了後來的規劃、讓後人好維護、讓未來好擴充的工,都只是他自己對自己的要求
他以前的主管從頭到尾都只在意一件事情,那就是 時程內可以完成 ,那些會讓他加班的工其實都是他自己給自己的要求
所以他那時就開始了 輕鬆運動 ,他決定要輕鬆的工作,不做交代事情以外的工,上班遲到也無所謂,事情有做完就好
就這樣 輕鬆運動 過了一年,他發現除了生活理所當然的變正常之外,也對之前的行為有不同的想法
雖然程式碼的可擴充性及可維護性是一定要被考慮到,但是有幾個原因,在開發時不是要先被考慮到的事情
這應該大家都知道,大部分情況下我們本來就很難把 完美 的程式碼撰寫出來,最先被考慮到的應該只能是開發時程,能在時程內做出來的才是最重要的
雖然是比較消極的原因,但是以工作的角度來看沒有人叫你做的事情,你去做了之後趕不上開發時程,以工作的角度還是不專業,其實跟第一點一樣
你現在以為 必需要的優化,可能半年後的你就有更好的解、更好的寫法,但是你還會去優化嗎?
換句話說就是你現在花時間做的事情如果不是真的必要的,就有可能根本沒有意義,你自我要求的優化會是最佳解嗎?你對後人會怎麼看你的程式碼的觀點是正確的嗎?
這存在太多不確定性,所以,還是先做完工作吧,先做完、有時間、再來搞優化吧,不需要一開始做最佳化。