每個人都有優點和缺點,作為招聘經理,很容易聘請表現出與您相似的優勢的人。這是因為您在上述領域有經驗和興趣,并且對評估更有信心,因此更容易發現這些優勢。技術實力通常被視為衡量軟件工程師資歷的標準。我不會削弱技術實力的重要性。雇用工程師來創建解決現實生活中的軟件問題,必須具備編寫可維護且可靠的代碼的能力。除了技術深度之外,還想提供一個更全面的觀點來評估軟件工程師的實力以及這如何適用于組建團隊。
建立多元化,完善軟件工程團隊的重要性
從我作為工程師和管理團隊的經歷來看,我已經多次聽到這種擔憂。這在女性工程師中尤為常見。行業中的人們都看到了典型的“高級工程師”角色:在一個或多個技術領域具有深厚專業知識的個人。那些興趣與傳統的深度技術角色不符的工程師通常被視為團隊的“初級”成員,甚至是“業績不佳”的成員。
1. 有很多類型的強大工程師。人們不僅需要深入的技術知識來構建滿足不同類型最終用戶需求的解決方案。有效的協作和溝通對于團隊保持內部和外部一致非常重要。
2. 了解當下優化與未來發展之間的權衡,這樣團隊就不會陷入停滯或無形的陷阱。
3. 滿足用戶需求,以便為產品路線圖提供輸入并構建人們真正想要的產品。
我想分享一些故事,這些故事教會了我建立全面團隊的重要性。
我的內部團隊之一通過提供具有可重用,可自定義組件的共享平臺來支持產品團隊。雖然構建此平臺以使其具有可擴展性和可靠性的技術標準非常高,但對于我們的團隊來說,正確理解和滿足客戶的需求同樣重要的是,許多互補的“軟”技能也同樣重要。當我第一次加入這個平臺團隊時,我注意到團隊中有許多強大而熱情的工程師,但是團隊在交付結果和與客戶溝通方面存在很多問題。您可以擁有一支才華橫溢的工程團隊,打造出技術上令人贊嘆的產品,但如果對您的客戶不起作用,那將會浪費時間。我幫助團隊清理了流程,并雇用了具有互補觀點和技能的個人來完善我們的集體能力。今天,我們與Square的其他成員保持著牢固,健康的工作關系。
團隊是否需要工程師來解決深層的技術問題,對產品感興趣的工程師或建立團隊文化的工程師?
我曾經雇用過一位以高工程水平而聞名的團隊的女性。她不是最快的程序員,因此使她陷入了冒名頂替綜合癥和缺乏自信的困境。經常讓她想起自己的軟弱無濟于事,因為其他人要么擁有多年的開發經驗,要么對深入理解技術主題產生了濃厚的興趣。
他們所忽略的是她的長處-她對產品有著天生的直覺,非常有同理心和團隊建設能力。我將她帶入我們的平臺團隊是因為目前的團隊已經有幾位具有豐富的工程經驗;其中大多數來自基礎架構團隊,我們缺乏對如何交付能夠解決具體問題并推動執行的產品有更好了解的人員。
即使她被認為是先前團隊的“初級工程師”,但她也加入了我們的團隊,并立即提升了團隊的地位并對我們的交付成果產生了積極影響。她幫助團隊更好地了解了如何根據用戶實際遇到的問題來匹配我們正在構建的內容并確定其優先級,而團隊中的其他工程師則幫助她練習并提高了她的技術技能。作為一個團隊,我們在交付有意義的結果方面變得更加強大。
您是否希望團隊專注于現在或將來?
我個人非常期待。我喜歡思考長期戰略并形成愿景。這就是示例團隊最初所缺乏的。他們無意間被指定為“ SRE團隊”,以保持高度關鍵但知之甚少的平臺。傳統架構從未設計成可擴展的。
我聘請了幾位像我一樣具有前瞻性的人,以幫助我們為未來平臺的外觀創建一個現實的愿景。我們從內部團隊以及公司那里得到了支持,以實現這一愿景。我想說的是,從那里航行很順暢,但絕對不是那么簡單。在試圖引導船舶邁向未來時,我們仍然需要滿足當今的無數需求。
一些工程師非常熱衷于挖掘遺留代碼并創建模式以簡化和改善當前狀態。其他工程師需要與當前的行李分開,以設計理想的視野以爭取。這兩類人在確定我們的優先事項時經常遇到緊張。
我們所學到的是觀點和學習妥協的重要性。如果我們只專注于今天,那么我們將成為一個完全被動的團隊,其平臺無法擴展。我們需要線性增加員工人數,以跟上公司的發展。另一方面,如果我們僅專注于未來愿景,我們將無法以團隊的方式滿足當今客戶的需求,并且不再擁有構建未來版本的平臺。我們認識到并獎勵了這兩種類型的工程師的實力,并且互相妥協以覆蓋我們的盲點,從而成為一個團隊,因此我們可以確保覆蓋所有基礎。
您的團隊是否經常與他人合作,還是需要保持專注并快速迭代?
有兩種不同類型的高級工程師。有些高級工程師喜歡與其他高級工程師一起工作,有些高級工程師喜歡領導和指導他人。
在我的示例平臺團隊中,初級工程師經常需要他人的幫助才能完成任務。不幸的是,高級工程師沒有向其他人傳授決策背后的原因或設計決策背后的原則,而是簡單地接管了任務并迅速完成了任務以節省時間。這導致包括入職在內的所有工作成為一項獨立活動,個人可以獨立解決。這導致團隊中充滿了非常獨立的工程師,但與他人的合作卻較弱。當然,從管理的角度來看,有一些改進可能會有所幫助,但是在這種情況下,我們需要喜歡教周圍人員的高級工程師。在這種情況下,我雇用了另一位經驗豐富的工程師,他不僅向初級工程師教授如何創建出色的代碼,
作為一個共享平臺,我們要求內部工程師指導產品工程師學習和使用我們提供的共享組件。缺乏這些協作技能會嚴重傷害團隊。向產品團隊未正確解釋構建組件速度較慢但更普遍的原因,因此產品工程師始終將內部團隊視為阻止功能,不喜歡在平臺上工作。如果我們不糾正這些誤解并改善工作關系,團隊將失敗并失去所有客戶。
體貼周到
建立團隊沒有正確或錯誤的答案。最終,只有您知道團隊的需求以及如何實現團隊的目標。在某些情況下,您確實需要組建具有相似實力的志同道合的團隊來實現特定目標,即在啟動環境中盡快將產品推向市場。我的建議只是考慮擴大您的視野;決定要建立哪種類型的團隊以及出于何種目的。
當教練組建運動隊時,他們不會組建僅由明星球員組成的團隊。這是因為每個明星球員都希望獲得聚光燈:要么他們撒球,要么等待球傳給他們以獲得完美的投籃。一支由明星球員組成的團隊不會贏得比賽。您需要出色的運球手,出色的防守能力和出色的球員。
軟件工程團隊是相同的。有多種類型的高性能軟件工程師。卓越的技術很重要,但最終卻不是全部。為了建立可持續的,長期的,功能強大的組織,只有內部團隊的結構合理,全面,并經過深思熟慮地整合在一起,您的團隊所構建的產品才能滿足多元化和包容性客戶群的需求。
以上就是關于建立多元化,完善軟件工程團隊的重要性全部內容介紹,想了解更多關于軟件工程團隊的信息,請繼續關注中培偉業。