我在微软8个月所学到的_职业发展_非技术区_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 非技术区 > 职业发展 > 我在微软8个月所学到的

我在微软8个月所学到的

 2013/6/19 11:27:18    程序员俱乐部  我要评论(0)
  • 摘要:英文原文:8monthsinMicrosoft,Ilearnedthese翻译:@1988年的那个秋天译文链接两年前,我开始了我在微软Azure云计算平台的实习生涯,并在大学毕业后,在同一个团队中继续工作了8个月,一直到最近。我决定把我过去8个月中的所见所闻总结一下。也许这听起来毫无意义,但事实并非如此。其实任何人在任何一家大企业中都会发现类似的问题,而这些问题中的大多数,并非只针对于微软。每个公司都有自己的问题。我写这篇文章,并不是因为不高兴,或者要抱怨什么
  • 标签:微软
class="topic_img" alt=""/>

  英文原文:8 months in Microsoft, I learned these

  翻译:@1988 年的那个秋天 译文链接

  两年前,我开始了我在微软 Azure 云计算平台的实习生涯,并在大学毕业后,在同一个团队中继续工作了 8 个月,一直到最近。

  我决定把我过去 8 个月中的所见所闻总结一下。也许这听起来毫无意义,但事实并非如此。其实任何人在任何一家大企业中都会发现类似的问题,而这些问题中的大多数,并非只针对于微软。每个公司都有自己的问题。我写这篇文章,并不是因为不高兴,或者要抱怨什么,它们仅仅是我在大学中并没有意识到的(类似与理想与现实的差距这样的)问题:

  企业期盼无纸化办公

  我发现很多知识是通过沟通和手把手实践去传播的。有一部分知识仅仅依赖于电子邮件,而且它们根本不会永久的存储在某些地方。这跟数字世界中的信息流动概念完全是背道而驰的。设想一下,有一部分人,一旦他们某天突然出了意外(撞车之类的),没人能继续他们的工作。好吧,如果这是我自己的公司,一定会有成百上千的 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,甚至是否能成功引导自创业,都显得无关紧要了。你被雇佣去做那些需要做的事。这并不是我想要的。在企业内部,你很难找到一个和你爱好匹配的职位。

  最后,你实际上是在为你的上司,和你上司的上司的薪水工作,仅此而已。这也是我在大学期间没有认识到的。

  (这篇文章上了 Hacker News 和 /r/programming.的首页。在这里我很感谢大家的评论和支持。有超过 1000 条评论出现在了 HN,Reddit 还有这里,我没能全部阅读,如果没有读到,希望你能谅解)

  补充:原文有 200+ 评论中,其中被赞最高的评论来自一位匿名:“我觉得你现在应该去一家没有文中那些事的小公司,那里的人大部分都关注新东西、酷东西。”

  另外,微软 Azure 团队员工 Scott Hanselman 也在评论中和本文作者有讨论。

发表评论
用户名: 匿名