西西河

主题:【原创】闲聊微软 序 -- 丁丁鱼

共:💬135 🌺141
分页树展主题 · 全看首页 上页
/ 9
下页 末页
    • 家园 【原创】闲聊微软 微软的工程师们 上

      一个成功企业大多拥有以下三方面的优势:人,流程,工具,即 People,Process, Tools。 其中,人的因素是最重要的,或者是决定性的。这一点,微软也不例外。公司的高层们在不同场合不断强调,人,是人而不是软件产品或者其他什么,是公司最重要的财富。所以,我就从这个“人”上继续聊聊对微软的总体印象,先说工程师。总的感觉,微软工程师的总体素质很高。我为自己有幸成为其中一员而自豪!

      就先从好的开始吧

      初到微软,就发现导师说的没错,自己周围能人如林。比如,几乎每个大一些的产品组都有一个或几个能把专利块(微软给每个专利申请人发一个黑色石质的纪念品)当积木堆满窗台或书架的牛人。对新人,这种特殊的办公室装潢实在令人眼馋。第一反应,牛,卧虎藏龙啊!第二反应,靠,什么时候兄弟也整这么一块玩玩。

      能跟这些牛人们一起工作,即让人兴奋,压力也不小。后来慢慢发现,大家好像压力都不小,上至P和VP们,下至小兵。为什么呢?原来微软企业文化中对竞争极为推崇---这也许和两位创始人的性格有很大的关系。讲通俗点,是骡子,是马,拉出来遛遛。什么时候遛呢,就在每年Review的时候啦。今年,每个员工所定的目标一律公开,兄弟的那好多级领导包括Ballmer在内,都黑纸白字;到时候,搞不定,嘿嘿,想抵赖也不好使。

      这种对竞争的推崇使得微软强调得最多的是个人能力而不是所处的职位高低。比如,公司的最高级技术人员(Technical Fellow 和Distinguished Engineer)对公司战略的影响有时会超过VP们。有一次,我听到一个认识的Architect教育一个工程师,没有必要为某总裁对一个设计的不满而道歉,“he is just a guy, like you and me”。也是,在公司,除了Bill Gates和Steve Ballmer有单独的区域,其他P和VP们好像和一般员工在很多方面没有什么不同:一样大的办公室,一样排队买午餐,有时一样需要站着开会,一样早出晚归--也许更早或更晚。。。 个人感觉,这种相对平等的环境加上鼓励竞争的氛围会对人有种趋势作用,想去有所作为。

      想有所作为?没问题,公司有的是产品和部门在等着有能力的人:成型的,全新的;要推出的产品,提高产品质量的工具;市场上稳居老大的,刚刚开始抢市场的;全球产品,中国产品。。。 这不,想整出点名堂的平台和机会也都有了,就等您开练了---只要您有能力通过面试。

      • 家园 关于微软,很好奇两件事情

        第一是关于操作系统的DEBUG,不知道微软的程序员是如何做的,是否很痛苦的一件事情?

        第二是关于软件质量的,感觉微软这几年的软件质量有很大的提高,尤其是从WINDOWS 2000开始,不知道有什么窍门?

        不知兄台有空和方便的话,可否聊聊这两个话题?

        • 家园 因为公司内部的原因和市场的区划,微软内部以前

          一直有两套代码(95/98系列和nt系列),从体系结构来看,后者占绝对优势,但对资源要求较高.2000以来彻底抛弃了前者,这是质量提高的重大原因.

          这个问题可以写很长的贴子(体系结构的不同,系统设计的取舍,兼容性的考虑,市场对设计的影响,公司内部的政治),我已经很久没搞WINDOWS了,希望有人能完成这个任务.

          • 家园 终于来了个增援的

            看名字应该能猜出来老兄在Redmond吧

            • 家园 呵呵,我没在微软干过,但对90年代的微软很熟悉.

              因为里面有不少同学和朋友.老兄有空把这个方面的题目写完吧.

              其实做技术做到一定水平,这些系统设计时候的取舍及其历史上的决策的过程和教训是最有意思的了,可惜很少有人谈这些.其原因我猜是:1.很少有人在关键位置经历了全过程;2.这些是真正的经历,没发财的人还指望这些在下一个公司混呢.3.需要比较多的技术背景知识,读者也不多.

        • 家园 鄙人不才,试着回答一下

          操作系统的调试,我个人感觉与应用程序的调试也没有太大不同。设好了断点,一步一步往下走就是了。

          当然如果你要调试内核,那恐怕很难在一台机器上实现,一般需要两台机器的。不知你所谓的“痛苦”,是否是指这方面?

          至于质量管理,那是一个很大的话题。简短来说,运用里程碑式管理,加上反复的多层次的测试,应该能保证一定的质量。以鄙人愚见,大概所有软件产品的质量管理模式都大致如此吧?

          见笑。

          • 家园 呵呵,看来肥兄也是高手

            操作系统的调试,我好奇的是在操作系统还没有成形的时候,不知如何调试的?例如WIN95总不能在DOS上面调试吧?此其一。其二是我猜操作系统上许多臭虫很难重现,开发人员如何认定这个臭虫是硬件引起,还是驱动引起,还是内核引起的呢?

            质量管理,确实是很大的话题,我想了解的是,WINDOWS 2000之前,微软的产品质量普遍被认为不行,WINDOWS 2000之后,感觉好了很多,那么微软到底做了什么,来提高产品质量的呢?

            • 家园 政治上讲求路线正确,不然做得越多越糟糕

              在软件开发上也是同样的道理,就是设计正确。

              软件工程的主流意见是,要尽早发现和解决缺陷。在代码阶段解决比在测试阶段解决好;在设计阶段解决比在代码阶段解决好;当然要能在需求阶段就发现并解决就更好了。

              不过软件工程的主流尽是IBM出去的人开枝散叶,微软的人对于软件质量的理解另有蹊径也未可知。

              • 家园 尽早发现问题很重要

                最省力,省钱。不过对人员的要求也高些,比如测试需要参与需求分析和设计,还有所谓Test Driven Development等等。至于需求分析和设计,在现在的环境里(尤其是在线服务),已经越来越难一次搞定了。所以,才有了Agile Development的提法--一直不知道怎么翻译,哪位兄弟帮个忙,一定花谢

                微软不同部门也在试不同的项目管理方法。Vista暴露出的一大问题就在于传统的Water Fall方式缺乏灵活性,对潜在问题发现的晚。

分页树展主题 · 全看首页 上页
/ 9
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河