工程師的正確心態
05 January 2024
Advices from top 1% engineer
Advices from Manager at WhatApps
Most Valuable Lessons from Creating Top 1% Beloved ProductsㅣFigma, Yuhki Yamashita
likability & credibility
這點比較偏向人格特質, 希望自己是一個令人合作愉快, 而且值得信任的人. 當人有一個很好機會,需要幫忙時會偏向找有這兩種特質的人.
換句話說, 有這種特質的人會因此多非常多的機會,而且是別人介紹的.
一個常見的例子是學校分組時, 強者都會馬上被分組分好, 又或是有某些特別好的特質的人也都不會落單, 會落單的往往是實力不怎麼樣, 又或者個性極差的人.
結論: 讓大家對自己的印象是: 合作起來是開心的, 而交辦事項是可信任的 這樣有重要任務or機會才會輪到自己
建立關係 在於能幫對方什麼 而不是對方能幫自己什麼
不要盲從跟風
人生會自己找到出路是錯的,不要隨波逐流。
什麼紅就跟什麼 will always be one step behind.
應該要找一個真正有興趣, 的東西深入
例子一:
在WhatApps hiring Manager找人的標準是要找聰明人, 厲害的engineer, 而使用的程式語言無關,是要看他的反應跟思維, 所以不用跟風學程式語言, 或者什麼工具出來就去學, 把一個東西先鑽研到最深.
例子二: 專心做好一件事就好
whatsapp指專門做好通訊部分, 不打算向line一樣做各種功能, 遊戲,支付等等, not going to please all users, but please users by a single function. (focus on quality instead of new features). 專心做好通訊部分, 確保各種情況下都可以正常通訊, 例如網路環境不好, 使用者使用很舊的手機等等
又如google和yahoo, 一個專門把搜尋引擎做好, 一個包山包海, 有yahoo mail, 有小遊戲, 新聞等等, 最終結果是google search是更佳reliable而把yahoo淘汰掉.
大公司 & 小公司
講者也提到在大公司跟小公司的優缺點
大公司:
- have great mentorship, 而mentorship我覺得對新鮮人來說是很重要的
- 沒有autonomy, 自己的工作也很難感覺到impact
小公司
- 沒有leadership, mentorship, direction
- 但有ownership, autonomy
因此在待過大公司及小公司後, 作者後來選擇中公司 (第19位加入WhatApp的工程師)
- small enough to able to see the impact of works
- mentorship & leadership great comes from the great founders who had worked in large tech company
engineer culture (產品的vision,跟核心概念價值)
有明確的工程師文化以及產品的核心價值, 能讓工程師在multi-task時仍能知道該怎麼做 跟該做什麼
以WhatApp的例子而言,就是achieving simplicity through prioritizing, 就表明今天要做的是維持通訊的quality而不是做gimmick, games.
對於culture,我自己的想法為一切最終回歸於使用者,開發出的東西、做出的東西目的就是要有人使用,所以要記得確定,是否為user需要的,以及該怎麼做能夠讓user有更好的體驗。
story telling
不管是在manager要說服下面engineer要做事, 或者要提proposal說這件事值得一試, 都脫離不了story telling的能力.
技能熟練與匠人精神
技能熟練當然是指在自己的領域裡對該東西非常熟悉
匠人精神在於從不馬虎行事, 就算是在簡單的修改也會認真的去檢查各種可能, 細則到comment的語句有沒有拼錯, 以及commit的message寫得夠不夠明確清楚, 遠則到這樣修改有沒有side effect,以及是否能做更好的refactor, scalability, 或者更好maintain, 而不是單純寫一個code解決當前問題而已.
簡單而言就是做每個決定, 都要深思熟慮, 很仔細思考, 而不是隨意/快速的決定.
喜歡閱讀與樂於分享
如高見龍在文章中提及: 在禮拜一到禮拜五讀書是為了維持不敗,禮拜六讀書是為了超越別人,禮拜天讀書是為了超越自己
此外, 資深工程師也樂於分享自己所學, 不管是如linkedin上分享各種自己的見解跟心得, 又或者撰寫技術文章分享所學的新技術. 個人認為原因在於這樣可以讓自己更加融會貫通, 把學到的用自己的話講一遍, 也能從這方面建立自己的impact, 增加likability & credibility.
在How to do Great Work中,造就偉大的成就需要公開發佈努力的結果,必須不斷告訴別人你的想法才能發現新知識。用華麗的留言批評別人是容易的,拿出成果接受批評是困難的。
勇於改變
領域不需要保持忠誠,如果探索過程中發現某個領域沒意義了,要轉換,即便必須砍掉重練。
做真正重要的事情
追求得是數年後,大家仍然會覺得 “it matters” 的事。
人們往往覺得新的點子是答案,但實際上真正的洞察是「問題」,先了解問題是什麼,為何我們要花時間去解決它。在極為具體的利基點、問題點,打造極為通用的工具
另外一點是要避免花太多時間在urgent的事情上而花太少時間在真正Important的事情。但要記得往往80%的產出是來自於那20%的的工作。
因此對於過多的事情要懂的拒絕或者delegate,沒有人會記得你接了幾個project,解了幾個coverity issue,但會記得你完成了幾個project。
團隊合作
一個勝利的團隊沒有輸家,一個失敗的團隊沒有贏家。
選擇的藝術
人生總會有幾次相當重大、影響一生的選擇,如何正確的選擇是一們藝術。
一位Google的同事針對「買房」這個選擇給了一個很好的建議: 給自己一年的時間,前面1/3的時間只看,後面2/3的時間才能做決定。這個模式避免了我們過於衝動的選擇,即便真的錯過沒關係,後面2/3的時間肯定會有類似或者更好的機會的,讓自己前面1/3多累積一些想法跟了解行情。