如何成為一名好工程師?


原作者: Nick Dellamaggiore, 基礎架構組工程經理

2015年2月3日

作為一名工程經理,我經常被同事和面試人問「作為一個Coursera工程師,我的職業生涯發展是什麼?」儘管有些人更希望成長為經理,但我發現還有很多人對如何成長為獨立貢獻者( individual contributor)更有興趣。

所有在Coursera工程師共享同樣的名稱:「軟體工程師」。你可能會認為這會導致模糊的職業發展,但我們相比嚴格的等級,更喜歡這種模式,理由如下。

我們是一個小的,緊湊的工程組織下的創業公司,我們專註於一起工作,共同實現我們的使命:為全世界提供最好的教育而奮鬥。每個人在沒有被人為組織結構,職稱和角色所羈絆下去發揮其最大的潛能。

我們的文化體現著謙遜。傑出的工程師認可是被公認的貢獻,領導力和態度,而不是他們的頭銜。

每個人都是領導者。我們的文化是非常開放的,包容的;一些最好的想法,往往來自剛畢業大學生或實習生。我們渴望幫助每個人在這裡成長為技術帶頭人。

作為技術人員,我們正不斷努力改善我們的技能,幫助我們的工程師不斷提高。我們希望在這裡的工作,是我們自我變革的體驗,並以同樣的方式去改造公司的軌跡。

為了指導我們的工程團隊,我們列出由一些傑出高產的工程師都體現的品質列表。這些都是我們在Coursera,以及其他矽谷高科技公司同行,如LinkedIn,谷歌和Facebook所欽佩的優秀素質。我們分享這個列表,並希望激發其他工程團隊去思考他們看重的素質,以及如何建立,培養和獎勵優秀人才的企業文化。

如何成為一個偉大工程師

結果驅動

偉大工程師產生了偉大成果。 Coursera重視工程師從開始設計,實施到交付一系列環節。這裡的原因:

對於任何重大項目,往往是在細節中出問題。比如產品推出,運營服務,產品功能。在交付和運營的服務或產品上體現主人翁意識,這是我們的核心價值觀。

結果會直接給業務增值。我們認為一個員工的貢獻累計來自於如何衡量增加的價值。影響力可以來自於很多維度,包括增值,活躍度,收入,工程效率,網站穩定,可擴展性等等。顯著影響力在交付MVP(最小核心價值產品)很少能夠實現。在我們搭建的產品和需求中不斷的迭代才能最大化我們的價值。

我們的指導方針是「有效爬坡」的原則,我們讚賞能夠平衡執行速度,編寫可擴展組件和代碼質量。我們也看重「10倍工程師」,即不僅能快速提供高質量的結果,同時也激勵和指導別人更聰明地更快的工作。

領導力

領導者不一定是一個管理者。技術領導是說的你的工作方式。你把你的項目,團隊,整個技術組服務好。最好的工程師顯示至少其中的一些特質:

項目領導:偉大的工程師們可以從不同的項目中擔任技術負責人的角色,項目的範圍從小到大,影響力從低到高。他們能駕馭好點子,闡明設計,排除阻礙,不斷改進。他們跟產品組合作確立正確的產品上線順序,他們知道在質量,完成度和速度如何權衡考慮。有時他們通過數據驅動決策保證項目完成。

找出差距:偉大的工程師們能夠廣泛地思考面臨的差距和問題。更重要的是,他們是第一次去發現我們從來不知道我們有的問題。他們更看重解決問題而不是抱怨 - 事實上,他們渴望保持手勤,用創造力和真正的熱情應對面前的挑戰。

向上看齊」:偉大的工程師們往往圍繞比他們更好的工程師。他們是以身作則提高生產力,領導和激勵他人。他們通過代碼和設計評審來作為導師幫助大家。

愛學習:偉大的工程師為了不斷提高技能,他們熱情地閱讀技術文檔,研究論文,和博客。他們喜歡上課,吸收別人的經驗。

組織存在感:偉大的工程師在整個組織中傳承知識和經驗。他們通過技術講座,讀書分享,Hack大賽去分享他們的工作。一個偉大的工程師可以在外部發表博客文章,會議演講,或發表研究論文。

影響力:偉大的工程師影響其他工程師採用新技術,架構,流程和標準。這可以通過他們能影響到的工作空間距離或者代碼審核隊列的大小來衡量。

態度:像所有Coursera的員工,優秀工程師們關心隊友和保持謙卑。他們認識到,每一個錯誤其實是有機會讓他們做的更好。

技術卓越

偉大的工程師在技術上的優秀體現在很多方面:他們可以是厲害的產品黑客,演算法高手,注重細節的基礎架構工程師,或以上所有。我們重視在設計解決方案時深入思考,考慮複雜的產品和基礎設施問題的工程師。

偉大的工程師設計是強大的,直觀的,可擴展的,靈活的,可維護,可操作性,可擴展性和高效的。他們努力質量和執行速度之間實現平衡。

權衡

除了業務目標的貢獻,偉大的工程師通過提高工程團隊的工作效率,構建可重用的組件,提供工具,使代碼庫更好管理這些都能整體性提升工程組織。這意味著構建抽象的服務或組件,使它們成為多個產品的需求或提高開發人員的生產力。這也意味著主動去構建工具,提取函數庫,修復破碎的窗戶,編寫工程文檔,或測試用例。

這不是一個清單!

偉大的工程師不一定擅長在上面列出的所有領域,但必須擅長一些。他們可能是非常全面的,或者在少數項目上極其突出。像下面的遊戲人物,你不大可能就像塞西爾(左)全面高分;但你可能更像哥拉斯(右)更加均衡。

在Coursera我們怎麼使用這個列表?

我們在內部表揚一些體現了這個標準中可以表率的工程師。

獨立貢獻者使用這個文件來追蹤他們事業上的進步,我們都添加註釋,故事和例子,以便其他人可以了解誰做了了不起的事情。

在Coursera工程經理使用此文檔對團隊成員在1:1會議,和績效考核中去反饋評價。

任何人當他們看到其他人做很棒的事情都可以直接說出來。這可以在發生在 1:1 (兩個人的會議),全組大會,技術部大會,通過Slack頻道(企業通訊工具),或通過電子郵件。

最後的話

在Coursera,我們為全世界提供最棒的教育資源。我們想把高質量的教育,不再只提供給精英,而是公平的環境。同樣,在我們的工程組,我們想創造一個讓每一個工程師能夠實現偉大的環境。我們提倡透明制度和包容性,並提供質量為導向的這份列表,來幫助工程師繼續改進。


不但要知其然,也要知其所以然,否則,沒法教會計算機


推薦閱讀:

你是怎麼成為一名鞋販子的?
怎樣成長為一個優秀的 Web 前端開發工程師?
如何成為替身使者?
你是怎麼成為素食主義者的?
怎麼才能追到賴冠霖?

TAG:IT工程師 | 如何成為X |