來源:程輝的部落格
我一直認為,工程師,尤其是一線的,是最接近真相的人,也是最懂業務的人,應該有充分自由去實現自己想做的事情,去改造存在問題的專案,去顛覆陳舊的觀念,可惜中國的土壤不好,公司的文化和觀念也不是一天能改過來的,如果你能有機會去矽谷,那恭喜你,工程師在那裡的地位是最高的,有像Facebook一樣的工程師驅動的文化,有自由的空間和足夠大的舞臺。但在中國,作為工程師,想改變大環境很困難,那麼只能改變自己,自己尋求更高的價值和更好的發展。
我經常跟朋友說,一個工程師的價值取決於兩個方面:
一是你的內功,即綜合能力、技術水平、思考力等等自己本身的素質,內功的價值如果有一個標尺的話一般由你公司給的年薪確定;
另一個是外延,或曰影響力系數,就是將你的內功表達出來,讓他人能夠欣賞到你的價值。也取決於你在行業的被認知度,有多少高質量的connection,你的程式碼有多少開發者用了,在開源社群有多少程式碼被approve了,你做的產品有多少使用者等等,這個係數變數較大,一般的業界公認的牛人這個係數可以做到100,兩個因素相乘就是你的價值。比如,對於這樣的牛人,如果在公司的年薪是20萬,那麼在資本市場上,如果要收購你,需要花2,000萬,真不貴,看看美國公司的人才併購中,基本上團隊中單個人都大於這個價值。
提升內功我就不說了,作為工程師,不能不知道如何提升內功。這裡更多分享一下如何提高外延。根據我最近一年多的經歷和感悟總結了三點:
分享
高質量的分享,認真去寫你每一部落格,有乾貨,有思考,有原創性,不要有廢話,即使是微博,也要言之有物,有觀點和態度。如果有好的文章,不防投稿到網路媒體如InfoQ,雜誌如《程式設計師》廣泛傳播。如果你功底足夠強,同時對某方面有非常系統的理解,寫書也是一個不錯的渠道。公眾演講也是一個極佳的分享機會,當然要想收到演講邀請必須先經營好自己的『自媒體』,讓別人覺得你很有價值,想聽到你的發言。
開源
開源社群,尤其是著名的開源社群,比如Linux, OpenStack等,有patch被approve進主幹,是對工程師能力的一個背書,而且是公開的,誰都能看到,大家都能感知到,如果這個patch還非常重要,一些大牛和公司會讚賞你。無形中,你的個人價值就提升不少。只為自己公司寫程式碼,再牛逼,也只有同事或公司知道你的價值,在HR面前議價能力不大。換一家公司在評估你價值的時候也很困難,
國際化
國際化有兩個重要原因:一是由於中國特殊的不重視工程師的環境,我們就要尋求外部的支援,比如價值背書、融資支援;二是通過國際交流,縮短與老外在境界、思想以及方法論上的差距,提升自信心,有助於設計出有國際競爭力的產品,更有助於你站在浪潮之巔去思考問題,如果沒有足夠的交流,總是認為老外高人一等,無法平等對話,一輩子活在大公司的屋簷下,無法超越。
做到這三點,你已經不是一般人了。
提醒一下,擴大外延不就是你主動是攀附某些比較層次高的人,而是儘量去提升自己的層次,以跟其他人能夠Match,這樣才能平等的交流和對話,更能找到好夥伴和真心朋友。
以上是我這麼長時間對工程師價值和發展的思考,好多想法和結論都是親身經歷體會出來的,一般人我不說的。價值和發展談到這裡,剛突然又想到另外一個故事:
去年第一次參加OpenStack Summit讓我印象最深刻的還不是美國那些有活力的OpenStack創業公司,而是一個老太太,Nextenta的一位工程師,約莫60-70歲的樣子,頭髮發白,牙齒也掉光了,在講Swift儲存優化的方案,如果沒有記錯的話應該是講排重和多版本支援,用了到很多Nextenta儲存裡面的技術,非常深入地講解架構和一些技術細節,思路非常清晰,應該還在寫程式碼。演講結束後與她交流,還是討論技術,完全感受不到對方是一個老太太,而是一個資深的架構師。
中國工程師的優勢是學習能力強,上手快,聰明,但遺憾的是一般生命週期很短,平均只有2~3年,要想發展必須向Manager的Level晉升,但很有可能,你就遠離你鍾愛的程式碼了,所以在中國很難有像老外一樣做幾十年coding的工程師。工程師普通缺乏的是全域性掌握和架構能力,更缺乏長遠規劃。 這是為什麼這麼多年來,中國軟體行業真正自主研發的基礎軟體很少的原因:一批生命週期只有2~3年的工程師卻要自主研發需要有10年甚至更多生命週期的基礎性軟體,是多麼不靠譜的一件事情。
因此,對於我們這幫年輕的中國工程師需要充分認識自己不足和優秀,在基礎性、平臺性大軟體領域,尤其是偏底層的,我們要避免重複造輪子,多學習國外這些真正的資深架構師設計的工具或平臺,最好的辦法是參與開源,通過contribute back,與社群那些資深工程師一起工作,進而提升自己。