2013年10月8日 星期二

我在微軟學到大學沒教的事 ~ 雖然不是什麼好事





        原文作者是一位在微軟工作剛滿八個月的社會新鮮人。兩年前的今天他以實習生的身分加入微軟 Windows Azure 團隊,畢業後轉為正職留在該團隊。雖然他純粹是想寫下這些進入微軟後才明白的課題,不過他所道出的這些「大公司問題」卻也在 Hacker News 上引來激烈的筆戰。以下為他所寫的文章:


我將這八個月以來所學到的事情寫成幾個重點,雖然聽起來像是微軟有些糟糕的問題,但不是這樣的,這是每間大型公司都會有的通病,大部分都不是針對微軟。


別期待會看到文件


我發現公司內部的知識流動都是透過對談與實作,部分的知識庫甚至只存在信件中,而非永久的儲存起來。試想哪天這些擁有知識的人出了車禍,沒人可以接續他們的工作。但這是 OK 的,否則可能微軟用上幾噸的紙也不夠。


重點不是你做了什麼,而是你做出什麼貢獻


你大可花上幾天的時間去改善你的基礎程式碼,寫出更穩健的程式碼並改善別人的問題。但事實是,只要對整體業務幫助不大,你做的這些就毫無意義。沒有人會感謝你改善了他們程式碼核心的樣式或架構,甚至他們還會覺得被侵犯,這是我在大學時所不知道的。


不是每個人提到寫程式時都會滿腔熱血


你不會總是與充滿熱情的人工作,許多人都有其他事要兼顧,例如家庭和小孩。寫程式不會是他們的最優先事項,這是 OK 的,我學會了不去期待別人的熱情。


不回饋給公共領域是準則


在公司,我還沒見過哪個有部落格的人或是開源碼的開發者,願意花點時間對公共領域做出回饋。大家在 Stack Overflow 上面找答案,卻沒有人會願意回答問題。這我也是可以理解。


我們對外面的世界不太熟悉


你可能每天都會從部落格、Reddit 和 Hacker News 讀到最新的科技新聞,但這在公司裡可不常見。我很訝異我在 Windows Azure 團隊中遇見的每一個人都不曾聽過 Heroku 或 Rackspace 這些直接與我們競爭的對手。但這是可以接受的,並不是每一個人都需要知道這些。


在公司裡,一切都是為了要解決鳥差事


如果你的上司要求增加一個按鈕,沒有人會在乎你額外製造出什麼樣的麻煩。只要功能出來,其他的問題都可以之後再說(但我也從沒看過問題在事後被解決)。在大學,我學到的是程式碼的品質就跟結果一樣重要,現在似乎變成錯的。


複製貼上是可以被接受的


如果在公司外可不能這麼做,但我曾經在公司內部看過程式碼被複製到另外一個專案裡面。只要你能把鳥差事解決掉,沒人在乎你的程式碼是否難以維護。


最新版本的軟體?算了吧


這裡沒有人對最新版本的軟體感興趣,幾乎我 90% 的同事都使用舊版的 Office、Windows、Visual Studio 和 .NET Framework。大家似乎都相信新的版本會打亂既有的工作流程,這可能是某些企業依然在使用 Java 1.3-1.5 的原因。所以我學會了在這件事情上不要有所期待。


你的個人特色通常不重要


每年都有數以千計剛出社會的大學畢業生被雇用進來,且通常被隨機的分派到不同團隊,且起碼待上 18 個月。不管你是否對 MongoDB 駕輕就熟或是曾經自己做了 iOS app,這都不重要,你被雇用是為了要把某些事情完成。我並沒有預料到這種情形──其實我們很難在公司中找到一個自己職位與自己的所愛吻合。


最後


你是為了你的主管以及主管的主管們的支票而工作,我大學的時候也沒有意識到這一點。



          我在微軟學到大學沒教的事 ~ 雖然不是什麼好事



    James  Tseng 

沒有留言:

張貼留言