在微軟 (Microsoft) 公司從事 iOS / OS X 開發是怎樣一番工作體驗?

微軟為 iOS 開發了多款應用,其中包括 Bing、OneNote、Outlook、Office 365 等等...

Microsoft makes about 15 apps for iPad and 20 for iPhone. [...] While its note-taking program, OneNote, and Bing search app have been available at the iTunes Store for years, the company released limited mobile versions of Word, PowerPoint, and Excel for the iPhone only in June… via Microsoft Learns to Love Apple』s iOS and Google』s Android


這麼多朋友都熱情邀請,想不答也不好意思。

首先說一句,在微軟負責做 iOS 開發的部門不少,除了很多人可能都聽過的 APEX 部門(也就是 Mac Office),我們目前供職的 Skype 也同樣負責 iOS 應用的開發。事實上,我們管的不只是 iOS ,而是從 Windows 到 Mac 到 Linux 共計 16 個平台,當然也包括 Windows Phone,iOS 和 Android,而就我個人而言,我也做過 Linux 內核驅動(針對 Hyper-V 的虛擬設備驅動),所以我的回答並不只是針對 iOS 開發。

在微軟,做非 Windows 平台開發的程序員很容易被人報以好奇的眼神,這不只是說在外部,也是說微軟內部。但得說明,這不是某些外界觀點說的所謂「歧視」,僅僅是好奇而已。畢竟技術這種東西原則上說沒有什麼不可能,只有願不願意去做。至於工作體驗么,平心而論,多數情況下開發工作都差不多,某些時候不方便:例如,因為公司的大部分辦公環境都和 Windows 許可權控制系統緊密整合,內部網站有時候在 Mac 或 Linux 上用瀏覽器根本連不進去,所以我們的辦公環境不可能徹底離開 Windows。另一個可能麻煩的地方是資源。在微軟做非 Windows 開發,就意味著很難有效利用公司龐大的內部資源。比如很多內部的開發和測試工具都只有 Windows 版本。這時候,其它部門那裡可以借工具簡單完成的事,在我們這裡就是一片白地,必須從頭開始。舉個例子:蘋果系統的調試系統和 Windows 下難用但強大的 WinDBG 差距頗大,也不能做內核調試,所以反過來必須藉助 log 之類的方式輔助調試工作。對我這種老混子來說是無所謂,但很多剛進入非 Windows 開發的微軟技術狂熱者來說,可就痛苦了。

不過,以上的問題也不盡然是壞事。正因為有這些問題,我們這群人往往更容易注意到 Windows 生態環境和 Unix 的區別,所以經常會有兼容性測試的點子從我們這邊冒出來,另外,正因為缺少工具,我們這邊是很強調自己動手豐衣足食的,技術上沒兩把刷子可不會很好混。這幾年,我們隊伍里的不少高手解決了很多問題,比如全自動的 iOS/Android 自動化測試系統,開發過程中也豐富了自己的知識庫,效果不錯。

最後說說上面的文章。其實這篇文章說的並不正確。微軟做非 Windows 開發的歷史並不短,從早年的 XENIX 到後來的 Mac 版 Office 和 IE,再到後來的 SkyDrive 和 Office 365。當然中間也有過停止開發的事情,但無論如何,選擇是做 Windows 還是非 Windows 開發,最終都是為商業目標服務,在商言商,不存在什麼 learn to love 之類的說法。


這樣子,也許看部門吧!在Bing,大家已經有腳投票了,IOS開發真的一般般!


推薦閱讀:

iMessage 是怎麼做到顯示「已讀」功能的?
用HTML5開發App真的好嘛?
個人開發者的應用被同步推、PP 助手、快用蘋果助手、91 助手、iTools 之類的市場盜版了該怎麼辦?
用 OmniGraffle 來做應用 Mockup 模型的體驗如何,效率高嗎?
想迅速了解iOS上App開發的基礎知識,最快方法是什麼?找For Dummies系列書籍嗎?

TAG:微軟Microsoft | iOS開發 | OSX開發 |