兩年前,我開始了我在微軟Azure云計算平臺的實習生涯,并在大學畢業后,在同一個團隊中繼續工作了8個月,一直到最近。
我決定把我過去8個月中的所見所聞總結一下。也許這聽起來毫無意義,但事實并非如此。其實任何人在任何一家大企業中都會發現類似的問題,而這些問題中的大多數,并非只針對于微軟。每個公司都有自己的問題。我寫這篇文章,并不是因為不高興,或者要抱怨什么,它們僅僅是我在大學中并沒有意識到的(類似與理想與現實的差距這樣的)問題:
Expect no documentation in corporations
我發現很多知識是通過溝通和手把手實踐去傳播的。有一部分知識僅僅依賴于電子郵件,而且它們根本不會永久的存儲在某些地方。這跟數字世界中的信息流動概念完全是背道而馳的。設想一下,有一部分人,一旦他們某天突然出了意外(撞車之類的),沒人能繼續他們的工作。好吧,如果這是我自己的公司,一定會有成百上千的WIKI文檔,以便讓人查閱。
你做了什么無關緊要,關鍵是你賣了什么
你可以花好多天來讓你的代碼更易讀更強健,或者幫助別人修改錯誤。但這些只要沒有商業價值并且你不能發布它們,實際上你所做的就變得毫無意義。沒人會感激你對于他們核心程序的代碼風格和結構問題的優化,實際上他們還有可能會產生抵觸。這是我在學生時代沒有意識到的。
并不是所有人都充滿了熱情
你并不會一直和那些想要創造出優秀產品(軟件)的人共事。大多數時候,人們有很多其它事情要處理,比如家庭和小孩。對大多數人來說,寫更好的代碼并不是首要任務。好吧,我忍了。我學會了不要期盼任何人都充滿了熱情。
每天能有兩三個小時用于編程就很不錯了
在這份工作之前,對于我的個人項目,我一天可以花8至10小時的時間去寫代碼。然而在現在的環境下,對我來說,哪怕2兩小時的純粹編程時間也變得不太可能。大多數時候,我用來弄清楚沒有注解/文檔的代碼是如何工作的,調試各種奇怪的bug,或者參加例會。很明顯,每個人都是這樣,并且有時候,一連幾天都可能沒有一個單一任務會推送給代碼控制中心。好吧,我又忍了。
只索取不奉獻,這是常態
在微軟中,我沒有遇到過任何一個博主(Blogger)或者是開源者會花一部分時間去回饋社區。每個人都是那么的喜歡從Stack Overflow上找尋答案,卻沒人愿意回答問題。好吧,我理解。
外面的世界怎樣,沒什么人會關心
我敢打賭你每天所讀到的最新技術和工具往往出自于博客、Reddit或Hacker News。但是這種情況在微軟并不普遍。我驚訝地發現在微軟Azure中,我遇到的任何人都沒聽說過他們的直接競爭對手,比如Heroku 或者是Rackspace(同樣兩個云計算平臺)。好吧,這也能接受,畢竟不是每個人都需要知道這些
在公司中,只看結果
如果你老板讓你弄出一個按鈕來實現某些功能,沒人會在乎你究竟后邊的邏輯做的有多讓人惡心。只要功能實現了,就Okay了,至于其它的,如果有必要,以后總會修復的(這一點,我之前也沒見過)。大學期間,我所學得是代碼質量是最終產品中非常重要的組成部分。現在看來,不是那么回事。
復制粘貼很Okay
跳出公司范圍,如果有人看見你在復制粘貼代碼,也許你會被迎面的一拳打蒙。但在公司內部,我見多了這種存在于項目之間的復制粘貼行為。只要達到目的了,沒人會管你是否弄出了一堆難以維護的代碼。
可以跳過code review,敏捷開發嘛
作為我們團隊的一個傳統,如果你覺得某人寫的代碼太惡心了,可以要求他做code review,不然這種工作通常根本就沒人做。而且,即使你要求他們做code review,你也得等好久,甚至在無數的PING他之后,他才可能回復你。
最新的軟件?怎么可能
并不是這兒的每個人都喜歡最新版本的軟件。我的同事中,有幾乎90%的人用老版的Office,Windows,Visual Studio和.NET 框架。他們普遍認為,新版的軟件會打斷現有的工作流程。這也許也是為什么一些企業仍然使用Java 1.3-1.5 。所以,我學會了在這種環境下,不要期盼使用最新的軟件。
你的特長顯得不那么重要了
每年有上千剛出校門的人被雇傭,并且通常都是被隨機分配到某個team(一年半你都不能換team的)。那么,你是不是擅長MongoDB,是不是能寫iOS 應用,是否能成一名Apache Committer,是否能建立自己的網絡庫,是不是能設計UI,甚至是否能成功引導自創業,都顯得無關緊要了。你被雇傭去做那些需要做的事。這并不是我想要的。在企業內部,你很難找到一個和你愛好匹配的職位。
最后,你實際上是在為你的上司,和你上司的上司的薪水工作,僅此而已。這也是我在大學期間沒有認識到的。
-
微軟
+關注
關注
4文章
6594瀏覽量
104053 -
工程師
+關注
關注
59文章
1570瀏覽量
68514
發布評論請先 登錄
相關推薦
評論