May 25, 2021

技術總監的公開信「給同事,我想像中的五倍工程師」(下)


OUR DEVELOPER ATTITUDE: ALL OF THE TIME CAN "PRACTICE"
(續上篇) Hey 同事們
前面我們討論到「態度」的問題,我也相信大家都有著「做更好」的態度,否則我們很有可能就不會成為同事一起工作。只是你可能依舊感到疑惑,為什麼「想做更好」卻一直無法變得更好呢?
這時候,我們該靜下心來問問自己「嘗試過了嗎?」雖然聽起來有點奇怪,不過你可能會意外的發現自己似乎找不到「嘗試」的痕跡。雖然我沒有每天實踐這樣的反問,但每當我感到挫折、心情低落的時候,我總是會這樣問自己。透過「問心」的動作,去審視自己是否好好地進行「實踐」?
也許你會告訴我,工作上總是沒機會嘗試、下班後想要有自己的時間等各種考量。大多數時候我都是能理解的,尤其是當我發現自己實際上無法無上限承受壓力,無法將人生完全投入到工作的時候,我能夠了解大家對於工作內容被固定住的無奈,下班後需要適當抒發工作壓力的需求。
但是,我們真的沒有機會「做更好」嗎?還是這只是一個「藉口」呢?找藉口並不是一件可恥的事情,我每次回顧自己過去的言行,也是充滿藉口,畢竟我們都害怕做不好,透過這種方式會稍微的減輕壓力。
即使如此,我們還是要去思考,在工作中是否有能改進的地方?大多數的人都讀過重構、設計模式這類書籍,我們都很清楚有一些痕跡可以追尋,只是為什麼當我們看到重複多次的程式碼時,沒有思考是否可以重新封裝?當我們修改或者增加功能的時候,為什麼沒有思考這段程式碼是否該被重構?又或者當我們第一次設計一個功能,為什麼就這樣相信 Google 的解答或者其他人給你的建議,而不是經過多方驗證後,用自己的判斷做決定?
時間也許是一個限制,客戶的要求也許是一個限制。不過這些都無法解決嗎?在專案時程上,我們盡可能給 Junior 工程師充裕的時間,即使前面幾次還不熟練,但是當你熟練後,是否有嘗試將這樣的技巧再次提煉,還是就保持現狀繼續下去?
如果客戶在執行中有更多對功能的期待,而超出原訂規格時程,我們該默而不答嗎?並不是,在老闆跟主管的態度上,這是我們需要去溝通、協調的責任。除了開發,讓客戶理解到軟體開發並不單純是交付功能,而是將軟體視為有機體,需要有健康的程式碼才能長久使用跟成長。我們對於這種要求的態度,是向客戶斡旋,以獲得更多資源來做更完善的設計、重構及測試。
實際上練習的機會很多,或者說只要有寫程式的時候就是機會,只是你不把握住的話就會錯過。這也是為什麼我總是會「先執行再討論」的原因,在過去我自身的經歷裡,就因為滿足現況,而錯失了原本可以獲得的機會,也因此了解到,讓自己隨時準備好迎接機會是很重要的,尤其是那些可以被預測的事情(調薪、被任命為主管等等)
在時間跟客戶的要求中,我們已經在能做的努力之下爭取機會,那麼是否好好把握機會去練習、成長就會是重要的關鍵。
在五倍紅寶石,我們期待的就是不斷改進,不斷實踐,最後成為最佳實踐(Best Practice)並且以此為榮。
在技術這條路上,我們要看的不是走得多快,而是能不能一步步的走得更遠,希望大家可以一直堅持到最後。而我也會一直在這裡,和大家一起向前,一起變得更好。
Have a nice day.
蒼時

分享