在微软的八个月里,我学到了这些
来源:互联网 发布:青藏铁路 知乎 编辑:程序博客网 时间:2024/04/28 19:17
两年前的今天,刚从大学毕业的我在Microsoft Windows Azure部门开始了我的实习生工作,在那个团队里度过了八个月。
我决定把在这八个月的工作当中所学到的东西做一个总结。这可能听起来像是很糟糕的工作,事实上不是那样的。我学到了在某种程度上,一个人看待问题要站在公司的角度,大部分的问题根本不是公司的问题。每个公司都有自己的问题,我并不是在这里怨天尤人,这些纯粹是我在大学里没有意识到的重要课程(期望和现实的反差)。
下面请阅读:
期望企业里没有文件。我在公司看到的大部分知识传送是通过交谈和实践会议,知识库某些部位的产生只是通过电子邮件,而且不会被永久保存,这就能够避免信息流进入数字世界里。如果有人不在工作岗位,没人能够顶替他的工作该怎么办?没关系,如果在我的公司,会有大量的wiki网页可供搜索。
你做什么事并不重要,重要的是你在推销什么。你可以花数日来制作更好的代码库,写更多的健康代码,修补其他的错误。但只要没有大的业务影响你就没办法出售它,这就意味着它一文不值。没人会因为你在他们的核心里有固定软件开发模式或在架构上有研究而欣赏你,事实上他们对你根本不服气。当我还是学生的时候我并没有意识到这些。
并不是每个人都对工程学有热情。你不要一直和别人一起满腔热忱的制造美妙的软件,想写出更好的代码也不是当务之急。通常人们还有很多其他事要做(比如家庭和孩子)。总之我已经知道了,别期望着每个人都是热情洋溢的。
一天花2-3小时编程就很不错了。在接手这项工作之前,我每天能花8-10小时来为我的个人项目编码,但是在微软这种工作环境里,几乎抽不出2小时来编码。我花了大部分时间试着想出其他人是怎样完成非注释/非文件的代码工作,怎样调节除工作以外的事情,并出席每天的会议。很显然,不仅仅是我有这样的困惑,一个团队很可能几天都没有人向源代码控制提交信号任务。
不回馈技术社区是很正常的。我在我的组织里几乎没看到任何一个博客或开源开发者愿意奉献他们的时间来回馈组织,每个人都热爱在搜索结果里找到Stack Overflow答案,但没人愿意贡献出那些答案,我现在能理解了。
这里对外界的了解知之甚少。我敢打赌,你每天看的那些最新的技术和工具书本都是在博客,Reddit或者Hacker News上。这种情况在这里却不那么普遍,令我惊奇的是,我在Windows Azure团队里遇到的人当中没一个听过他们的直接竞争对手Heroku和Rackspace。这也能理解,并不是每个人都要知道这些。
在公司里完成任务是最重要的。如果你的经理需要一个正在做的按钮,没人关心你弄得乱七八糟,只要功能齐全就行了。在学校里我以为代码质量和结果是一样重要的,结果证明我错了。
复制黏贴代码也行得通。如果有人看到你在公司外面复制黏贴代码,那么你肯定免不了吃拳头。我见过源文件复制黏贴贯穿整个项目,只要它最后能完成任务就行了(就像上面提到的),没人关心你是否创造了一个不可维护的代码。
代码审查可以被跳过。为了敏捷性,代码审查可以被跳过。这也是我的团队文化的一部分,如果你把别人的代码搞得一团糟,那么代码审查就会被发送出去。通常情况下它是不会停下来的,你可以等一段时间直到它的爆鸣声引起别人的注意,可能会有人回复。
最新软件。并不是这里的每个人都喜欢最新版本的软件。差不多90%的同事使用 Office、Windows、Visual Studio 和.NET Framework的老版本。一个普遍观点就是最新版本会打破现存的工作流程。这可能是同样的原因为什么一些企业任然在Java 1.3-1.5上运行软件。所以我明白了在这样的工作环境里不要指望最新软件了。
你的专长通常情况下无用武之地。每年有上千名大学毕业生被企业录用,并常常被随机分配到一个团队(1.5年内不能改变)。不管你是否已经掌握了MongoDB,创造了iOS 开发,还是Apache committer,亦或制作了属于你自己的Web库,设计了用户界面等等。你被雇佣就是去做那些需要被做的事,我不希望那样,因为在企业很难找到和你的爱好相匹配的工作。
最后,在大学的时候我没意识到这个事实:你为你的老板做事的同时也是为了钱而工作。
文章编译/薛梁
英文来自ahmetalpbalkan.com/blog
- 在微软的八个月里,我学到了这些
- 在微软的八个月里,我学到了这些
- 在微软的八个月里,我学到了这些
- 在微软的八个月里,我学到了这些
- 在我程序员生涯里,我学到了不少有用的东西。下面是我这些年积累的经验精华。
- 在微软5年,我学到的几个小技能
- 我在公司都学到了什么
- 在淘宝我学到了什么?
- 我在微软8个月所学到的
- 我学到哪了
- 我学到了什么?
- 在青软实训的一个月里,我经历了从一个学生的位置到一个公司职员的过度。
- 我在苹果公司学到的编程技巧
- 我在香港的公司学到什么
- 在C与C++的语言之争中我学到了些东西
- [长篇]在畅游实习的经历,让我学到了很多(架构、管理、合作)
- 在阅读了Nodejs文档后我学到的19件事
- 终于把强x奸了我4天的微软踩在脚下了(2005年9月14日,周三)
- qwt学习一
- Ubuntu将新增磁盘挂载到home下
- ZOJ 3596 Digit Number(状态压缩 + BFS)
- 测试程序执行时间
- UIViewController上自定义导航条(避免每个controller上写自定义的导航条)
- 在微软的八个月里,我学到了这些
- 5天学会jaxws-webservice编程第一天
- 在extjs中实现的文本编辑器
- 乱码(1):Servlet编程中处理表单中的中文问题
- JAVA复习(三)
- Boost安装
- 系统调用
- unity动态加载(翻译)
- 在Android中创建一种新的输入法