2016年2月24日 星期三

資深工程師 心得 (WIP)


  1. 規劃時程
    1. Don't : 我盡量試看看",做不到就是做不到,做出錯誤的預估讓PM無法對客戶老闆交代,就是不專業,
    2. Do : “在你所說的時間裡面我只能做到OOXX,或者我們先OO然後XX,看這樣是否可行”,或者說 “在你的時間內完成的機率只有10%,多給我一個禮拜我可以完成的機率可以到80% ,要100%完成一定要多兩個禮拜”
    3. 討厭的事情先做,之後才有辦法笑笑的面對延後的時程
    4. 不確定的事情先做,避免之後時程延宕到天邊去了
    5. 善用鬧鐘,行事曆
  2. 家庭生活
    1. 只要跟家人有不愉快,工作效率一定會差,一邊工作腦中一定會不自主想到吵架的內容,與其一整天都不專心,不如痛下決心,請假一兩天把家裡的事情先處理好,才有辦法專心工作
    2. 固定工作時間,之外預先安排家庭生活,家庭若有人不滿,結果就是工作也別想好好做了
    3. 管好你的家庭生活專案(如出國旅行,幫對方父母準備過節禮物,打掃家裡,記得孩子的各種才藝班級)如此才有可能會有餘裕做你自己的專案,若發生衝突,記得立刻溝通,不要認為對方應該或者會主動體貼
  3. 開發習慣
    1. 遇到問題看source code,而不是只看StackOverflow的回答
    2. Code寫下來的當下就要養成好習慣,留意coding style,避免bad smell ,不要找未來得自己麻煩
    3. 半夜(12點以後)的時候不要寫code,更不可以commit 
    4. 在做決定複雜的design決定之前,先跟桌上的塑膠鴨子解釋
    5. 先有測試,才refactor
    6. 關掉網頁的tab,現在不讀以後也不會讀
    7. Code review
    8. 完整的測試也是開發的一部分,
    9. 低級錯誤的頻率,代表你的專業程度,與同事對你的信賴程度
    10. 超過半小時都解不了一個bug,就要停下來思考,可能你累了,或是思考有盲點
    11. 超過一天還解不了,找同事幫忙,一來可以增進
  4. 學習習慣
    1. 一年學一個新語言,並做一個test project
    2. conference orientated driven learning
    3. 對已經精熟一項以上技能的高手,學一個東西,不需精通,只需得到不同的視野
    4. 對新手,學一個東西,必須先想辦法學到進階的程度,先登堂入室,才有辦法對其他的事務觸類旁通,俗話說,廣度是深度的副產品

沒有留言:

張貼留言