两年前,我开始了我在微软Azure云计算平台的实习生涯,并在大学毕业后,在同一个团队中继续工作了8个月,一直到最近。
我决定把我过去8个月中的所见所闻总结一下。也许这听起来毫无意义,但事实并非如此。其实任何人在任何一家大企业中都会发现类似的问题,而这些问题中的大多数,并非只针对于微软。每个公司都有自己的问题。我写这篇文章,并不是因为不高兴,或者要抱怨什么,它们仅仅是我在大学中并没有意识到的(类似与理想与现实的差距这样的)问题:
Expect no documentation in corporations
我发现很多知识是通过沟通和手把手实践去传播的。有一部分知识仅仅依赖于电子邮件,而且它们根本不会永久的存储在某些地方。这跟数字世界中的信息流动概念完全是背道而驰的。设想一下,有一部分人,一旦他们某天突然出了意外(撞车之类的),没人能继续他们的工作。好吧,如果这是我自己的公司,一定会有成百上千的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,甚至是否能成功引导自创业,都显得无关紧要了。你被雇佣去做那些需要做的事。这并不是我想要的。在企业内部,你很难找到一个和你爱好匹配的职位。
最后,你实际上是在为你的上司,和你上司的上司的薪水工作,仅此而已。这也是我在大学期间没有认识到的。
-
微软
+关注
关注
4文章
6589浏览量
104019 -
工程师
+关注
关注
59文章
1569浏览量
68495
发布评论请先 登录
相关推荐
评论