軟考刷題有用嗎,打破10倍速軟件工程師神話

 2023-10-22 阅读 17 评论 0

摘要:作者 | Ari-Pekka Koponen 譯者 | 彎月 出品 | CSDN(ID:CSDNnews) 領導們常常為高效的員工而感到自豪。實際上,從長遠來看,軟件組織中擁有“10 倍速工程師”可能意味著該組織注定要走向失敗。 工程領導很容易將注意力集中在組織中表現良好

作者 | Ari-Pekka Koponen
譯者 | 彎月
出品 | CSDN(ID:CSDNnews)

領導們常常為高效的員工而感到自豪。實際上,從長遠來看,軟件組織中擁有“10 倍速工程師”可能意味著該組織注定要走向失敗。

工程領導很容易將注意力集中在組織中表現良好的少數人身上,并圍繞這些人開展工作。畢竟,這些是最聰明、最可靠的人,他們能夠在最短時間內創建最佳解決方案。

相信每一位軟件工程領域的從業者都見過這樣的“大神”,他們總是能夠完成其他人完成不了的工作。即便達不到“10 倍速”之高,至少也是“5倍”或者“3倍”工程師。只要看看日常工作信息,就可以發現似乎有些工程師天生就比其他人更高效。

然而,“10 倍速工程師”背后并沒有可靠的科學依據。有關該主題最常見的研究是在幾十年前完成的,當時的環境與如今完全不同,更重要的是,這項研究的樣本數量非常小。最近的一項有趣的研究得出了截然不同的結論(參考鏈接:https://ieeexplore.ieee.org/document/8804291)。

軟考刷題有用嗎。在嚴格控制的環境內,大多數軟件工程師之間的差異非常小。同一個人在多項任務中的表現也存在著明顯的差異。某個人可能在某項任務中的表現超過了其他人,但在另一項任務中的表現就可能平平無奇。“總而言之,雖然程序員中某些人的表現確實比其他人更好和/或更快,但這種重要性和規模被夸大了。”

10倍速工程師的神話是一種工作中的確認偏差。
在這里插入圖片描述

如果不僅僅是個人能力,那該如何解釋生產力的差異?

當我們考慮到周圍環境(即整個組織)時,很容易發現除了個人能力之外,還有多種因素會影響到績效。兩位工程師對目前使用的技術擁有相同的經驗嗎?他們熟悉正在使用的系統嗎?他們是否擁有相同的能力,能夠在忙碌之中做出決定?他們能否獲得幫助?

下面,我們一邊在腦海中考慮這些因素,一邊再來看看某位“優秀的工程師”。你會發現他們會變得很平凡。人們喜歡英雄主義,喜歡與“最優秀”的人一起共事。這是一個令人欣慰的現實。坦誠面對組織中的挑戰和現實是一件好事。程序員的表現會受到某些因素的制約,而且往往是很難(甚至無法)改變的因素。

舉一個真實的例子,我曾經在一家公司工作,該公司的領導認為某位開發人員的表現遠勝其他人。公司的 CEO 會走進開發人員的辦公室,公開表揚(甚至當著外人的面):“有時我感覺X是唯一能夠勝任所有工作的開發人員。”這位開發人員肯定感到特別自豪,而其他人則一臉失望。

沒有人提到這位開發人員在過去的 15 年里一直在開發同一個系統,而且前 5 年幾乎是獨自一個人。而他本人也沉浸在“最優秀員工”的贊美中,十分享受。他在多達 5000 行的代碼中添加了一些晦澀難懂的邏輯,而且也不愿意積極地與同事分享知識。多年以來,曾有一些非常有能力的開發人員加入了公司。但絕大多數人還是離職了。剩下的人樂得混日子,把所有英雄事跡都留給“10 倍速工程師”。后來,該公司在嘗試擴大開發規模時,遇到了極大的阻力。

在科學之巔打破一切神話?當然,這是一個非常極端的例子,但很好地說明了問題。擁有一小部分高績效的工程師往往是大組織問題的表征,比如孤立、權力和責任的不平衡。這種狀況與事物的自然秩序相違背,而與自然秩序對抗注定會走向失敗。

制定更好的戰略企業才能取得成功

從長遠來看,僅憑幾位 10 倍速的獨角獸開發人員無法決定企業整體的成敗。成功的關鍵因素在于提高公司每個人的平均績效。從統計學的角度來看,這才是一種更可行的策略。

那些獨角獸開發人員在公司工作的時間超過 5~10 年的可能性非常低——除非你有一家非凡的公司。即使他們留下來,也有可能會換團隊,而且每一個圍繞他們的行為建立的團隊最后都會落得一地雞毛。這會損害公司執行業務目標的整體能力。
相反,改善組織,提高員工的生產力才能獲得最大收益。這種方法可以讓工程組織中的更多員工取得成功。“在公司能有一番作為”的員工越多,組織取得成功的可能性就越大。這種認識能夠讓我們著眼于整體,將我們的注意力從個人轉移到人群:團隊、部門乃至整個組織。

這是個好消息。關于軟件團隊績效有很多出色的研究。如果團隊面臨生產中存在太多 bug,或者無法快速交付,則可以參考 DORA 指標(https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance)。如果團隊無法展開良好的協作,或團隊成員沒有主人翁意識,則需要學習如何培養心理安全。如果想了解開發人員生產力的整體狀況,可以參考 SPACE 框架(https://queue.acm.org/detail.cfm?id=3454124)。

無論采取何種措施,成功的關鍵在于了解團隊的瓶頸,并與團隊共同采取行動來改善這種情況。有些問題需要一次性改變,而有些則需要逐漸習慣。所有的團隊習慣都應該記錄在一個共同的工作協議中,每個人都應該知曉和遵守。好的習慣會隨著時間的推移而不斷積累,并創建高績效的團隊和組織。

總結

對于大多數公司來說,尋找 10 倍速的獨角獸工程師,努力招攬“頂級”工程師并不是最佳策略。相反,我們應該確保可以招聘并留住普通、有能力的工程師,并讓他們發揮出最佳水平。能夠將普通團隊轉變為高績效團隊的組織,才是真正的贏家,當然對于工程師來說,進入這樣的組織也是一件幸事。

軟件逆向工程師、參考鏈接:

  • https://www.swarmia.com/blog/busting-the-10x-software-engineer-myth

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/159250.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息