微软为开发人员提供的成长环境

时间过得飞快,不知不觉来到SQL Server中国研发中心(SQL CRD)已半年多了。简单地记录一下自己的感想吧,免得再过些日子就全忘了 J

这半年来,作为一个SDE,我感触最深的就是微软为一个开发人员成长所提供的优越环境,包括世界级的项目机会、丰富的技术资源,以及大量的培训交流。

来微软之前,我和很多人一样,担心从事的会是一些边缘性的工作,无法接触到核心技术。事实证明我的担心完全是多余的,我们和Redmond总部的开发组在同一个平台上工作,共同应对各种各样的技术挑战。例如,我们组开发的产品是SQL Server Integration Service (SSIS),它是一个ETL工具,用于数据的抽取、转换和加载。当面临数据仓库的海量数据环境时,其核心引擎的性能至关重要。在这一点上,遇到的问题、可能的算法改进等,都是在整个组内讨论解决方法的,如果你的算法能有效提高性能,就会被采纳。考虑到微软产品的巨大影响力,你的每一个改进都将影响世界各地的亿万用户,这种成就感是难以名状的。

除了共同改进产品外,中国团队也独立负责一些组件,例如我们SSIS上海小组正忙于SAP BI Connector组件的研发。我们需要全面负责该组件所有的事项,从设计、开发、测试、文档到发布,我们上海小组都需要全面负责、协调各方面的资源。在SSIS下一个版本中,更是计划将核心引擎的很大部分放到中国来开发。在这种世界级、平台级的核心软件开发过程中,开发人员可以接触到最先进的技术,迅速地成长起来。

微软紧密的全球化协作开发也提供了难得的项目学习体验。由于工作需要,我们经常会在即时通信工具Office Communicator上和Redmond总部的开发人员探讨一些问题,然后发现这些问题涉及到其它组,于是又和印度的开发组交流。随后又收到另一个国家的微软顾问的信,希望你帮忙解答产品相关的问题。这不得不让人感叹,软件和互联网真的已经把地球变成了平的。在这种紧密的全球化协作开发中,一个技术人员的语言能力、沟通技巧、技术阅历都会得到迅速的提高。

除了这些世界级、国际化的项目机会外,微软内部丰富的技术资源更是开发人员成长的宝典。作为全球软件行业的旗舰,微软几十年来开发出众多影响深远的经典软件。这些软件研发过程中的经验教训经过一代代的积累,形成了微软内部的异常丰富的技术资源,包括大量的文档、流程和工具。打开SQL Server部门内部的服务器,各种各样的概念、流程和工具软件令人眼花缭乱。以至于我经常感叹,即使想把SQL Server部门内部应用的软件过程和工具等基本掌握,就是个令人望而生畏的任务,更不用提还有那么多其它的产品部门了。当软件工程课本上枯燥的理论化为日常工作中一个个真实的流程、工具时,一个初学者也会迅速成长为一个专业的软件工程师。

最后,微软为员工提供了丰富的培训交流,包括各种讲座、课程和人员交流计划。例如,目前SQL CRD上海就和Redmond有一个双向的交流学习项目。一个称为“丝绸之路”计划,它资助中国的开发人员去Redmond学习工作。另一个则称为“马可波罗”计划,它是反过来资助Redmond的人员到中国来工作一段时间。我在去年入职后,经过短暂的一段熟悉时间后,即受“丝绸之路”计划资助,派往Redmond和总部人员一起工作六周左右。到现在为止,我们SQLCRD BI组的正式员工几乎都被派出学习了一段时间。无论是在技术还是交流上,我们都从这些经历中获益匪浅。

丁晓宁