想成為頂尖的工程師嗎? 技術大神祕訣分享大公開
回首來時路,原來我從畢業入行到現在也十幾年啦
難怪敬愛的人資大人給了我這麼難動筆的題目寫
從一個軟體工程師,到成為一個要花上許多時間在招聘跟管理的軟體工程師
(對,還是堅稱自已是個軟體工程師,不是什麼主管)
其實內心是真的熱愛寫程式這件事情;能一直做自己喜歡的事情並且把它變成工作,是一件很棒的事
所以其實,最重要的核心答案已經說完了:喜歡用技術解決問題的熱情是最最重要的條件,不管是新手還是老手工程師,有技術熱情的人在討論技術問題的時候,眼睛是會發光的
為什麼我們這麼重視技術熱情呢?
因為寫程式及面對技術問題的時候,枯燥乏味及充滿挫折的時刻,是遠遠多過輕鬆愉快跟滿滿成就感的時刻,技術熱情是支撐你突破這些難關的關鍵
零與一的世界沒有秘密,特別是Verybuy使用open source的系統
幾乎所有的程式以及技術問題,你一定可以層層追尋到根源,去看清楚你在解決問題的本質
而不會只是在stackoverflow翻翻找找複製貼上別人的原始碼或設定檔,最後貼上去能動就好
在Verybuy的團隊,能夠說清楚你寫的程式具體是怎麼作動的,是非常重要的事情
我們也會要求交付code review的人清楚說明你在做的事情
熱情跟追根究底且不輕易放棄的精神,我覺得就是最重要的兩點了
剩下最後分享一個小訣竅,大家都知道,軟體工程師在追求技術進步上面是沒有止境的
但我們菜的時候手上沒有多少厲害的方法可以使用
可是我們在工作領公司的薪水,不可能所有的問題都讓我追根究底才把它寫完啊,這樣產出肯定不會讓公司滿意
說不定做完一個專案公司就叫我滾蛋了,所以很多時候為了滿足公司的時程期待
我必須就現有的資訊來把別人寫好且確定可靠的library兜一兜就弄上線,來滿足公司的時程要求
但身為終端使用者的我們,其實並不一定知道那個library在搞什麼
或者是我們雖然知道個大概,但也不太清楚他用什麼演算法,採取什麼架構解決什麼問題
這個時候如果你想說上線就上線了,我趕緊去寫下一個專案,然後就把這件事放著,反正交差了
:你已經損失一個很重要的成長機會了
通常我的做法都是,白天努力把事情做完達成公司期待,進度達成後我就會用剩下的時間或是晚上的時間來進修
不斷地檢討自己這段時間寫的程式,了解他們在做什麼,思考有沒有更好的架構或寫法來解決這個問題,不斷進行這個循環之後,終究我會一直成長並且獲得更多武器來解決問題
寫程式就是個沒有最好,只有更好的工作
想成為一個好的軟體工程師,就要有這個覺悟,不斷不斷修煉
當你達到一個境界,又會往前看到下一個境界,這是沒有止境的過程
而我的工作就是找到對這件事情樂在其中的夥伴
一起加入我們來打造出更好的產品吧!