按時上下班的程序員,做出來的東西沒有“彈性” | DIVE 基礎軟件大會專訪

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"編輯|辛曉亮"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"採訪嘉賓|劉新銘"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"開發效率跟每個開發者和開發團隊息息相關,高效率意味着可以在更快的時間內更好的完成更多的內容。但在互聯網行業繁榮發展的同時不少企業還在使用“拼工時”的做法,加班、996、內卷等問題也是持續困擾多數開發者,似乎提高效率是一個很困難的事情。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在鑑釋科技聯合創始人兼首席架構師"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/track\/1224","title":null,"type":null},"content":[{"type":"text","text":"劉新銘"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(英文名 Shin)看來,關於如何提升研發效率的問題,要討論的其實就是態度和時間管理。11 月 17 日,Shin 現身 "},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/video\/kgKYzaV9vl8pAlwolBaG","title":null,"type":null},"content":[{"type":"text","text":"InfoQ 大咖說"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",妙語連珠,結合自己的職業經歷,給出了很多關於提升開發效率、做好時間管理等方面的思考和建議。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"此外,在明年 3 月 25 日,Shin 還會在 "},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing","title":null,"type":null},"content":[{"type":"text","text":"DIVE 全球基礎軟件大會"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"上做關於編譯器的硬核技術分享,感興趣的朋友不要錯過。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"以下內容節選自當天的分享,InfoQ 做了不改變原意的編輯:"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"工作其實是在投資自己"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:首先請您跟大家做一下自我介紹,包括職業經歷,目前在做的事情等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":我入行是 1984 年。從 84 年開始的 10 年時間,我都在做編譯器,從最底層的開發人員做到惠普的整個工具鏈(Tool Chain)的負責人,負責整個工具鏈,包括了編譯器、debugger 和性能分析器等,給惠普服務器、安騰服務器做的工具鏈。之後,我去做了兩年操作系統,主要還是管理的工作,負責惠普分佈性存儲的內核部分,也是最難的部分。我們的主要工作目標是性能調優,把所有性能方面存在的大大小小的問題修復好。接下來還搞了三年的物聯網,我在英特爾實驗室做首席科學家,(擔任)物聯網實驗室主任,在北京跟北京市政府合作做了幾個物聯網端到端的解決方案。後來,我就去了國外,在美國一家華人公司待過兩年,幫他們做數字化轉型,因爲在那之前,該公司的軟件都是用 Java 寫的,我們把它變成更適合在現代的雲端架構上面運行,所以這也是爲什麼現在在鑑釋有關雲方面的技術由我負責。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:在您這麼長的職業生涯中,遇到的加班情況多嗎,您是怎麼看待加班這種情況的?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":我從入行到現在,平均一週工作時間不會少於 60 個小時,這算加班嗎?以美國加州法律而言,這不算加班。所有的專業軟件開發人員或者職業經理人,在他們的勞工法裏是歸類爲“豁免”的,不需要打卡。所有的工作是根據給你的內容來定,你的任務就是把它完成,花多少時間是你個人的事情,與公司無關,不會有人強迫你一週必須工作多少個小時,而是自己去判斷應該花多少時間完成工作內容。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"所以在美國,對職業開發人員來說,不管軟硬件開發,加班這個詞是不存在的。這裏可能有人會說,那你一週工作 60 個小時不是喫虧了嗎。其實你工作有一半是爲公司工作,一半是爲自己工作,永遠要注意個人與公司之間的平衡。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這裏提到的"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"爲自己工作就是爲自己職業生涯做投資"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。我做開發工作的時間多,又會去認真的思考的話,自然可以積累到越來越多的經驗,個人的價值是會不斷得到提高的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從這個角度來說,我有一部分時間是在爲自己工作,爲自己加班,爲自己投資。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:您回國後感覺國內加班跟國外有哪些不同呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":國內的加班情況跟國外完全不同。我剛纔提到了我是每週工作 60 個小時,一週六天,平均一天就是 10 個小時。但是國內的員工就因人而異,我碰到過年輕的開發人員對知識非常渴望,對工作投入的時間會非常多,也遇到過斤斤計較,到點“失蹤”的。這裏面有一個很有趣的規律,你會發現一些比較重要或者難解的問題,慢慢會往願意花多餘時間工作的人身上去挪移。這些人會在公司裏慢慢變成不可或缺的人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"另外做軟件的話與硬件不同,軟的意思就是說很有彈性。時間到了就要上班下班的人,他做出來的東西通常沒有彈性,這是很有趣的事情。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"首先做好個人時間管理"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:效率和加班是什麼樣的關係呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"這純粹是時間管理的問題"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。以我個人爲例,我儘量把我自己每天開會的時間壓縮到不足 3 小時,剩餘 3.5 個小時做比較困難的需要動腦的事情,3.5 個小時做相對簡單的事情。這樣的話一天就被分成了三段。那些斤斤計較每天 8 小時的,減去 3 個小時的會議,一般解決難的問題花的時間比較多,再減去 3.5 個小時,就只剩下了 1.5 個小時去做比較簡單的事情。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"可是很不幸的,簡單的事情一般是決定於你自己的設計夠不夠好。結果就是大多數人,一天除去開會處理郵件的時間,剩餘幾個小時都在做雜七雜八的亂事兒,沒時間去思考。當你沒有時間去想和解決新問題的時候,價值就不會得到提升。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"然後主要難的事情還沒做的時候就開始焦慮,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"加班是被壓力壓出來的,不是自我管理出來的。"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我即使是一天工作 10 個小時,我心態是很放鬆的,但壓力壓出來的焦慮加班,就很痛苦。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:簡單、重要、會議這三個階段怎麼執行順序上會有什麼要求嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":我先講一下我每天怎麼分配自己的時間,通常的話我是早上 10:00 開會,我會 8:30 左右到辦公室開始梳理當天的工作內容,會議要討論的要點,要解決的難點痛點,就是把最好的時間放在最困難的事情上。到下午的時候纔開始寫代碼,修改、測試、調優等,這些是不太用大腦的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:因爲開發多數是爲業務服務的,在這個前提下,不可避免的會有很多臨時的會議打斷你的工作節奏,那麼如何解決這種突發的情況對效率產生的影響呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":我在帶新員工的時候也會遇到這樣的情況,他們反饋說你讓我做很多計劃是無用的,因爲不斷有新的東西進來打亂工作計劃。還是回到那句話,如果你設計的時候想的不夠遠,做出來的東西就會出現很多問題。你主動管理自己的時間,管理自己做的事情,積極主動去做設計。對自己做的東西有充分全盤理解的時候,即使是突然遇到的問題,你會比較輕鬆的定位到問題解決問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"還是回到一個工作方法和態度的問題,一個積極主動的人他被動處理問題的情況要少得多。越認真的人,要處理的問題越少,也是很有趣的事情。看你把加班當成投資還是負擔,在你付出的時間上,你是主動積極的做了規劃,瞭解全盤,還是隻是被動的去接受任務。所有的開發效率就是從這個過來的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:接着咱剛纔提到的會議,現在特別流行一個“站會”(Standup Meeting),這個對效率會有提升嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":這個在網上大爲傳播是 Facebook,他們一個小團隊是 5 到 6 個人,有 PM、測試、開發,每天開“站會”。“站會”這個其實是有來源的,在 1988 年有個電影《Stand and Deliver》(中文名《爲人師表》),講述一個高中的老師在洛杉磯的郊區教一羣墨西哥移民的子弟。這些人基本上已經放棄了自己的人生,他就跟自己的學生打氣,要站起來把事情完成,Stand and Deliver,所以“站會”是這麼來的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"“站會”最重要的工作是在協調所有人當天的優先級,比如說兩個開發人員說我需要 PM 做哪些決策,測試人員說我需要開發給我這樣的信息去做哪些測試。是人跟人之間協調溝通的機制,通常合理的“站會”不能超過 10 分鐘,超過 10 分鐘,這個“站會”就沒效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通過“站會”,小團隊裏要定義好我當天要完成什麼工作,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"注意是完成什麼工作而不是要做什麼工作"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",這是國內和國外最大的不同點。一個好的“站會”是我昨天的工作完成了沒,如果沒有完成原因是什麼,我今天的目標是什麼,我可能會有困難,我需要某某人幫助我解決這些困難。這個時候小組的 Leader 就會知道基於這個互動溝通的過程去協調工作內容。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:所以“站會”做好的話是能明顯提高開發效率的,那開“站會”的話多大的規模比較好?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":這個確實跟團隊的大小有關係,Facebook 的標準配備是不能超過 6 個人,80 90 年代我們一個團隊不超過 3 個人。國內的公司的話不缺人,一個項目就是會投入很多人員進去,每天都要開很久的會,沒時間去做真正開發的事情,這不是很好的現象。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:Shin 上面提到 Facebook 開發團隊是 6 個人,您之前是 3 個人,國內大廠可能會多一點,那這個大小團隊開發在效率上的優勢劣勢都有哪些?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":這個要看團隊成員的素質。國內是最好的人在大公司,美國是好的人去新創公司,因爲去大公司就是一個蘿蔔一個坑,你能碰到的東西是很有限的。在這種環境下,他那個小團隊的人是很“飢餓”的,他們對知識的追求,對工作完美的追求是沒上限的,這樣的團隊大了反而礙事。《Mythical Man Month》這一本書中也提到了,人數的增加不能增加你的產出量,到某一個臨界值反而會降低你的產出量,因爲你要花更多的時間去做溝通。當然小團隊也有問題,如果成員素質差太多,溝通的成本也會上來。溝通的成本是由團隊的素質、成員的數量、項目切割的碎片化程度三個因素決定的,效率也就因此而來。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"工具對效率的影響"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:最近比較熱門的雲原生會對團隊效率有所提升嗎,這應該算是工具向的吧?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":我舉一個例子,我們從去年的 9 月開始,把我們的軟件從一個 Server 上搬到了雲上,我們當時選的是亞馬遜的雲,因爲他們雲原生的架構比較完整。上雲之後,我不需要再搞很多東西,之前在 Server 上的中間件等都可以丟掉。所以雲原生帶最大的價值,你原來必須要維護的中間件,都可以交給他們去做,我個人覺得效能提升是巨大的。最大是因爲中間件大家都是開源的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:工欲善其事,必先利其器,我們能看到選對或者配置好開發工具之後對開發者效率的顯著提升,也發現了不少開發者陷入了工具中,反被工具所累,Shin 怎麼看待工具對效率的影響?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":聰明的人是工具爲他所用。我個人的習慣是自己造工具,根據自己的需要造工具,不管做什麼事情,用什麼工具,都是完成工作的目標,假設工具不能爲我所用,我不會在上面浪費一分一秒。我對用什麼工具沒有意見,重要是順利的完成工作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:Shin 對今天講的內容簡單做一下總結吧?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"Shin"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":我覺得主要是以下幾個點。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第一,要改變自己的心態,你的工作是爲自己投資,不只是還老闆的債,讓自己開心一點,爲自己投資是開心的事情,還債是痛苦的事情。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第二,時間要管理好,每天要花足夠的時間解決需要動腦的事情,這個東西其實是給自己設置了高標準,你不會去接完全是搬磚的活。這些是可以自己主動要求的,你有了第一個改變,纔會有第二個改變。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第三,就是要評估自己工作的做的好不好。科學的做法就是大膽的假設,小心的求證。我個人覺得國內有個東西是不太好的。國內所有的團隊開發人員,心理上對測試是排斥的,我個人不認爲測試是單純的測試,我把測試認爲是一個求證的過程。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"最後一個就是要看書,每週至少要花半個小時去看書,最重要的是你要跳出每天固定的思維,如果人一天一直是在一個圈裏,長此以往,思維會固定住。也不建議看抖音,比較浪費時間,技術直播是可以看的。開車的是話可以聽一些錄音的書或者讓自己放鬆的音頻。每天多花點時間充實自己。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"活動推薦:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"InfoQ 決定於 2022 年 3 月 25 日至 3 月 26 日在北京悠唐皇冠假日酒店舉辦【"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/","title":"xxx","type":null},"content":[{"type":"text","text":"DIVE 全球基礎軟件創新大會"}]},{"type":"text","text":"】,劉新銘作爲本屆大會【"},{"type":"link","attrs":{"href":"https:\/\/dive.infoq.cn\/2021\/beijing\/track\/1224","title":"xxx","type":null},"content":[{"type":"text","text":"編譯器"}]},{"type":"text","text":"】專場的出品人也會出現在會場與大家交流。本專場重點介紹全球編譯器的發展方向和現狀、編譯器在國內的研發成果及在芯片等尖端行業的應用,給編譯器這一底層技術從業者和愛好者帶來一些新的啓發和認知。未來十年將會是基礎軟件發展的黃金十年,如果你對這些內容感興趣,一定不要錯過。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"議題提交頁面:https:\/\/dive.infoq.cn\/2021\/beijing\/track\/1224"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"大會報名頁面:https:\/\/dive.infoq.cn\/2021\/beijing\/apply"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"專家介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"劉新銘,鑑釋聯合創始人兼首席架構師。主導鑑釋面向 DevOps 的靜態代碼分析工具的核心研發工作。他在開發和交付高性能計算系統(HPC)編譯器和性能分析工具方面擁有數十年的豐富經驗,是業界公認的靜態代碼分析技術專家。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章