Elon Musk 說要求推特工程師把程式碼列出來審查,引起不小的討論。
要批評、要諷刺,我覺得都沒什麼問題,不過我在思考另一件事:
「今天像 Elon Musk 這樣半路接手一間大公司,而你想要重新整頓組織,目標是淘汰沒那麼厲害的工程師、同時又想保留真正優秀的人才,有什麼比這個更好的做法嗎?」
感覺應該有,但一時之間想不到,可能要問有這方面轉型經驗的(人資?)大神?


前一篇文真的是高品質的討論,
在針對 Elon Musk 要求員工印下程式碼的做法上,正反兩面意見都有,
而且雙方都很有道理:
【正面意見】
1. 有工程師表示:印出來後寫一些東西下去會更有靈感。
2. 根據經驗,重要議題印出來檢視結果會比較好!
3. 因為年紀大了,看電子久了會眼睛痛,這時候會比較喜歡看紙本的文件,會把同事的 code 印出來批改,請體諒眼睛不好的老人家。 ( from iKala 創辦人程世嘉,原文連結)
4. 純粹 git 未必看到一些細微的問題,像通常最多的問題是底層的工程師他們寫的東西還沒有 sync 上去,只存在 local machine 內,這個在 main code 中就看不到。
5. 印出來跟老闆解釋,就是希望每一個工程師不單純只有寫好程式,還能有良好的表達能力。因為透過表達,能夠審視一個工程師的邏輯是否紮實完善,以及他是否清楚自己在做什麼。
6. 在 Google 工作多年的人表示:「可能也沒什麼原因,有的老闆在 review 不想花太多時間的無異議的東西上面(像是切換螢幕、找檔案在螢幕的哪裡),這時候就喜歡印出來,印出來看也比較快!(真的會這樣,否則就不會有人一直問印表機在哪裡了XD)」
【反面意見】
1. 印出來浪費紙不環保,有違特斯拉精神(?),應該可以用 Github 或直接整理成壓縮檔寄 mail 來代替吧?
2. 透過看 Github 還有一個好處:「可以看 patch 數量多不多」,有人的經驗是,多的話,代表對於不同專案的理解和解法夠瞭解,算是一個用來篩選工程師專業程度的指標。
3. 太急了,該做的應該是先了解公司情況和眉角,例如:「拿著筆記到處理解情形,找到公司的問題點,然後想改善方案。」對空降高層來說,展現出親自前往第一線觀察現狀、發現問題的耐心,不管在哪個職場都會受到歡迎。
4. 認為會印出來的都是智障。
5. (對年輕一代來說)「電子化」的方式應該能更方便審閱才對。
6. 舉辦內部黑客松,應該也是一個方法。
7. 程式碼有成千上百行的話,就是一件很蠢的事。
【開玩笑意見】
1. 說不定是在做智商測試,看誰會乖乖服從蠢命令的人 = 沒有思考能力,等於那些印出來的就直接開除(笑)
2. 印出來才比較好用電風扇吹:吹下去的開除,留在桌上的保住工作。
3. 不如寫個 AI,也是好做法:
import random
# Returns True 50% of the time.
def fifty_fifty():
if random.random() < .5:
return (“Retention”)
return (“Fired”)
–
我自己的話,比較接近年輕一派的觀點,一開始的想法也是:「怎麼不用 Github 電子化來 code review 就好?」
不過看到一些不少支持印出來的做法,並且背後的考量是過去不曾想到過的,奠定工程上、管理上的經驗談,頓時能理解這種做法的好處。
其實也看得出來,這之間具有世代差異、職位層級上的衝突:個體因為年紀及職位上的不同,會產生不一樣的考量。
總歸來說:「沒有一個做法能滿足 100% 的人」,
–
一開始不對任何事情預設立場很重要,尤其是先保持一個開放能接納不同意見的態度。
畢竟現實中,很常會碰到你不滿意的做法/事情,但先不要妄下定論,去理解其背後的考量,說不定能發現到讓你接受的/理由觀點。

