高大偉
作為建筑師的軟件工程師
一個軟件工程師其實是一個“建筑設計師”。(當然我們不會真的蓋出房子來)。我們使用計算機編程語言來“蓋房子”。當前我們使用的所有軟件,大到衛星發射的控制系統,小到手機上運行的游戲。其實都是非常復雜的系統。為了實現這些系統,蓋出軟件的“高樓大廈”,首先是規劃整個“大廈”的結構。這個工作在我們的術語里叫做“架構設計”。這個過程十分重要。一個系統可能會有多種架構的實現方式,不同的架構有著不同的優缺點。這些優缺點影響著性能、穩定性、安全性等多個方面。所以,做一個架構師需要有高瞻遠矚的眼光。
在“大廈”的“鋼筋結構”搭建完成后,“添磚加瓦”的工作-設計編碼,就正式開始了。不要小看這個部分的工作,誰也不會住在只是個框子的屋子里不是嗎?這才是真正軟件功能的實現部分。這個工作有點像室內裝修設計師。好的室內設計師設計出的房子會讓你住著舒適而且美觀。好的程序員需要用到許多專業的技術,來更好地實現軟件功能。從事這個角色需要細心與耐心,因為我們既要實現真實的功能,又要避免把錯誤引入到系統中。在大的軟件公司里,我們不總是設計新的軟件系統,而是經常為已有的軟件系統增加新的功能。
好了,在設計編碼完成后,整個“大廈”就蓋好了。但現在還不能“入住”。我們還需要進行測試,也就是“大廈”的驗收階段。這個過程才是“工程”這個詞的含義所在。在這個環節,我們需要測試很多的東西。首先需要測試的是系統的功能。這個測試的目的是查看“添磚加瓦”階段是否引入了錯誤。如果發現了錯誤,我們就需要改正它。在功能測試之后,我們還需要測試系統的性能,包括能力(多快)、穩定性(長時間運行無錯誤)、安全性(不會被黑)。在這些工作都完成之后,好吧,“大廈”終于完工了。
看完這些,今后你在玩游戲之前,一定會雙手合十放在胸前,心中默默念著:“感謝偉大軟件工程師們付出的青春與生命,我們才有這么好的游戲可以玩,阿門……”(開個玩笑了。)不過說真的,每個成功的軟件背后確實包含著許多工程師有形的或無形辛勤工作。如果你覺得這個工作很醋。歡迎你在未來加入到我們的行列中來。其實這個工作真的很酷,特別是在工程師們討論技術問題的時候,在外行看來他們說的就是“天書”。如果天真懵懂的女生,看到這樣“神秘”的男生,一定會為之傾倒!
軟件工程師的日常
作為一位在外企工作的軟件工程師,他的一天通常是這么開始的。早上10點,到達公司,查看郵件。外企一般實行彈性工作制,保證8小時工作就好,對上班時間沒有太嚴格的要求。郵件一般有兩塊,一塊是成型需求,一塊是跟蹤bug。如果你的stakeholder有外國的同事,那么你不用急著回郵件,由于時差的原因,下班前發出回復就好。軟件工程師的另一個工作就是開會,尤其是實行敏捷開發的項目會有每天的例會,另外我們還要開需求討論會,這通常是很費精力的事情,但是要協調開發,測試各個環節,這種會還是很有必要的。此外還有一些經驗介紹和培訓的會。想成為一名好的軟件工程師,多學習,多交流是非常重要的!之后的工作就是打開你的開發工具,去寫新的代碼,修改bug,或者是測試新的case。在編程工具大豐富的今天,好的開發工具,會幫我們很大的忙。忙碌了一天,要下班了,如果你在更加繁忙的公司,那么恭喜你了,開始加班了。如果你像我一樣在外企,通常情況不會那么糟糕,但是因為時差的原因,可能有些會議是安排在晚上的,盡管這種會是可以在家里用電話call in的,但是這個可不算是加班哦。
在北京:軟件從業者的奮斗地圖
好了,說了那么多嚴肅的話題,來聊一些北京的軟件產業分布圖吧。北京的軟件產業大體集中在幾個地方,第一個地方是中關村以及鄰近的五道口。中關村方圓幾公里是大學、中科院等研究所的密集分布地。因此這里從最初的科研院校發展出完善的軟件產業鏈:除了電子數碼賣場之外。無數的軟件公司在附近的寫字樓和教育園內蓬勃發展。微軟、谷歌、新浪、網易、雅虎、Adobe等大公司都在中關村附近。這附近的商業配套、生活配套非常發達,還有著名的堵車勝景,是北京的一個主要觀光地(開玩笑)。
第二個地方是上地西二旗一線,上地是中關村五道口的延長線,在其北10公里的地方,中間隔著世界聞名的圓明園。上地和西二旗一起,是軟件產業的后起之秀,是按照發展軟件產業整體設計修建的軟件園區。如果說中關村五道口這邊還具有一些城市的喧囂的話,上地和西二旗這邊更像是中國的硅谷。這里修建的辦公樓都不會過高,3或者4層,街道也是整齊劃一。西二旗還有一個中關村軟件園,更是花園式的辦公環境:園中央有湖以及綠地。這邊也有很多知名的軟件公司,比如IBM,我所在的甲骨文公司,百度、神州數碼、小米、金山等等。這邊相對來說更加偏僻一些。城市配套不是特別完善。但是確是軟件業未來發展的主力。
另外一個軟件業集中的地方是國貿CBD附近,這里是北京的City Jungle。阿里巴巴和淘寶、卓越亞馬遜、英特爾等著名公司都在國貿那邊。高層林立,早上高級寫字樓的大堂里會站滿了各個公司的等電梯的人。雖然我沒有在那邊上班的經驗,卻聽說過那邊的幾個傳聞,其中一個傳聞就是國貿的車位很搶手,路邊一個車位停一天都需要50元。另一個傳聞是一頓午飯是30元到40元。總之國貿附近的生活很城市很fashion,很職業!所以這里的同行們最像電視里描述的職場精英!
不是碼農,是軟件工程師
碼農是最近這兩三年的時間流行起來的詞。這詞是一部分軟件工程師們對自己職業的自嘲:人數多以及集中分布,勤奮和熱愛編程技術,愛上網以及宅。
由于我們軟件工程師在北京有很多兄弟姐妹,待遇相對豐厚,這個行業就越來越龐大。又由于我們喜歡住在公司附近,所以在上地、西二旗、中關村那邊,你可能在地鐵站、商場、超市的會遇到很多同行。對住的需求量這么高,帶高了周邊的房價。所以有些人說我們真是人傻(厚道)錢多的那一類。而由于好多男同行們比較宅,更加喜歡技術和工作,喜歡逛水木社區等網站,卻忽略了多樣的生活,所以“碼農”這個詞才會被拿來自嘲。
雖然很搞笑,但我還是不推崇這種文化的!在下了班之后,我會拿起吉他,彈奏民謠樂曲。或者去COSTA喝杯咖啡,或者去看場話劇或者電影。所以如果你喜歡軟件行業,并且成為一名軟件工程師的話,也希望你讓軟件工程師的人生更加多彩!我們不是碼農,我們是IT精英!