周末話題
每個周末Cheers都將為大家帶來一篇多唯獨探索的系列話題,包括人物專訪或者高校探訪等,看這些學長學姐眼中的學校和專業,并分享他們的精彩故事和觀點。
畢業于Hamilton College,曾在全球最大的財經服務提供商Bloomberg公司, 以及通信業巨頭Ericsson工作, 現在在美國現正熱火的度假屋出租公司Airbnb繼續從事軟件工程。
Software Engineer
了解一下軟件工程師

Q:作為一個已經有五年工作經驗的軟件工程師,你每天的日常是怎樣的呢?
01
日常的話,基本就是每天上午花一小時查看和回復郵件,因為我們做項目都是以小組為單位,所以每天要看看有沒有新任務,同時也要及時和teammates溝通各個過程出現的問題。每個成員都有自己的expertise,所以每日例會是必不可少的,有什么情況可以通過會議迅速解決,而不是拖到最后再推翻重來。我們這個工作并不像很多人以為的就是坐在電腦前不停的寫code,各方面事務我們都要參與。寫code當然在我們的生活中也占一部分,不過不是全部,且每天的工作都會有變化。
Q:那么軟件工程師通常的職業發展是什么樣的呢?
03
軟件工程師的職業發展通常有兩個方向,一個是晉級到管理層,而另一個是不斷積累經驗成為資深工程師。第一條的走向是team leader—director—vice president—head of engineering—CTO。但成為管理層后,工作重心就會從項目研發轉移到管理上面。對于真心熱愛software engineering本身的畢業生來說,第二種選擇可能更好,即專心于項目研究與開發,不斷積累經驗,成為業內評級高的資深工程師,這樣可以一直實踐。但無論是哪條路,人才價值都是逐漸上升的,薪水也會越來越高。相對來說,software engineering整體行業忠誠度較低,頻繁跳槽也不少見,所以個人發展的自由度很大。一般從一家公司跳到另一家之后職位和薪水都會上升,但也有例外,比如跳到Facebook就會降級,除非你原先公司是Google,這就關系到行業內對于各個公司軟件工程師的專業評價了。所以跳槽的時候謹慎選擇是非常重要的。
說到薪水,公司不同,起薪也大有不同。如果本科畢業后能進大公司如Facebook,Google這種,那么年薪加股票分紅會有十三萬美元。而小公司則會低上不少,而在創業型公司startup則是最低。一般來說,在硅谷的軟件工程師工作三年后的平均年薪加股票也會有十五萬。
04
Q:很多同學對這個職業可能還是不太了解,你可以講講大家可能不知道的職業要求是什么樣子的嗎?
軟件工程師有別于大家所想的程序員,可以說是藝術家和工匠的區別,一個是創造,而另一個只是純粹的復制或生產。對于我們來說,工作所需要的不只要coding skill,還要有全局觀,在開始項目之前能構畫出藍圖,所以還要設計和規劃。coding就好像學語文時要認字,是最為基礎也是必需的技能,但只有這一項是不足以成為一個好的軟件工程師,我想其實我們行業最看重的還是創造力和執行力吧。既要有好的想法,又要能把好點子變成現實。
另外一個很重要的能力是在根據不同的項目要求做出取舍的能力。因為在互聯網的環境下往往沒有完美或者一勞永逸的解決方案,時常需要根據條件變化、開發成本以及時間限制,做出最合理的決策。每一個項目開始后都緊接著計劃,執行和測試。每一步都可能出現棘手的問題。
解決問題的時候團隊合作也是要的,所以每個人必須要能及時報告自己遇到的問題,或者幫其他成員解決問題。而最好的是要有預見問題的能力,發現問題越早,損失就越小,最后的成果也就更好。

Software Engineer
關于這個專業的建議

01
Q:那么對于想要從事這一行業的同學,你有什么建議呢?
選學校的話,首選Standford,然后UCB,因為都在硅谷附近,在這兩個學校讀computer science專業后,本科就能找到很好的實習機會,資源和機會都很多。因為地理位置很方便,有空的時候可以親自去各個公司里面了解和體驗各個公司文化,這樣就能找到最適合自己的地方。UCLA,華盛頓大學都是位于IT公司很多的地區。洛杉磯的gaming industry對軟件工程師的需求量較大,所以UCLA畢業后就業有優勢;華盛頓大學在西雅圖,那里有Amazon和Microsoft,也是software engineering需求大的公司,所以這兩所學校也不錯。在紐約就業情況,工程師大多都是為金融分析服務,地位不如在其他地方高。
另外想要從事我們這一行,最好是在本科就開始規劃。因為行業涉及到數學和分析,所以我推薦本科直接修computer science或statistics。CMU, MIT,CIT都是computer science專業很強的學校,但如果從在硅谷就業的工程師數量來看的話,密歇根安娜堡,伊利諾伊香檳分校也都還算是有一定存在感的。
除了學校本身的資源,以及在自己努力范圍內拿到最高的GPA,實習積累的經驗同樣重要,所以如果學校能提供相關實習最好,即使沒有,自己也要主動找機會實習,或者參與side project,經驗越多,人才價值會越高。

Software Engineer
你能符合這個行業的人設嗎?

Q:那軟件工程師這個行業在美國的地位如何呢?工作壓力大嗎?
01
在不同的公司,對于軟件工程師的要求不同,所以給出的待遇也有差別。在Apple,因為公司高層對于產品的性能以及發布的時間有著相當嚴格的要求,通常工程師們要在根據既定的框架內工作,自由發揮的空間相對較小。
Facebook 工程師壓力普遍比較大,據說是因為與他們對工程師的評級考核有關。很多公司都會對工程師進行分級,這不是職位,而有點類似國內所謂的職稱,例如大學畢業生進入Facebook一般是評為三級。我聽說如果在兩三年內不能升至五級的話就會被Facebook勸退,而另一方面,許多人的共識是Facebook在提拔工程師級別方面是比較慷慨的,只要你的貢獻符合條件,就很快會被認可。從這個角度講,一分耕耘一分收獲也不失為公平。
與之對應的是Google,公司鼓勵每位軟件工程師每周拿出20%的時間進行常規工作以外的開發創造,很多工程師就利用這段時間來實現自己的點子,比如Gmail就是幾個工程師閑時鼓搗出來的產品,結果一舉成為最受歡迎的郵件應用。
工作壓力就和公司大小關系更大,在startup的話,一般工程師本身也是創始人之一,所以工作基本就是生活的全部,每天都會很忙,在中型公司的話,一般是以項目為主,有項目的時候會忙,但是空閑下來也很自由,大型公司的話因為競爭壓力大,晉升比較難,像Facebook還有淘汰機制,所以工作壓力也很大。
02
Q:從你的工作和個人經驗來看,你覺得什么樣的人適合從事這一行業?
想成為軟件工程師的話,最重要的是要對coding感興趣,因為每天的生活都會和code打交道,不喜歡的話會很痛苦。第二得有除了computer science之外的興趣,因為IT行業最后的產品都是針對性的,比如你對sports感興趣,那么你在這一塊就會比別人有更多的知識和信息,這就是每個人獨特的優勢。而且個人興趣對選擇公司有指導性作用,喜歡sports就去做這一方面的公司,這樣做事也會更有激情。
再者自律和有時間觀念也很重要。作為軟件工程師,很多時候是多個項目同時進行,并且是處于不同階段的項目,所以時間要自己安排。分得清輕重緩急,還要能有條不紊的完成工作。有的時候你不只能會做,還要能解釋得清楚,或者做出來的產品別人能看懂。比如我們有時候會互相測試code,那么能把code寫得清楚明了或者解釋得條理清晰就會省下很多時間。
還要有強大的求知欲,我們行業的信息更新很快,要一直不斷的學習才能往上走,保持技術的嫻熟以及工作的效率。
除此之外還要能注意到細節,能夠查出自己或者別人code里的bug,有的時候一個bug影響了整個程序,粗心的人可能一直都沒有辦法發現問題所在。其他的品質比如邏輯性要強應該是各行各業都需要的,就不用多說了。


? 2025. All Rights Reserved. 滬ICP備2023009024號-1