小 S 是一名新员工,他和很多踌躇满志的大学毕业生一样,实习+工作,他来到了一家非常对口自己爱好的公司,来到了一支温暖的团队 A,这支 30 人的大团队由老员工和新员工混合组成,年龄结构复合,有男有女,有从二十几岁到四十几岁的程序员,做的视频编解码项目。整个项目组的成员都是视频编解码领域的能手或专家,最多的有 10 年的相关经验,也有几项专利,小 S 觉得这样的人应该很耐得住寂寞,有很深的造诣。
有一位导师手把手地带着他学习和进入项目,陪他一起吃饭,和他聊天,给了他公司内部通用的学习材料。于是他很快上手,最开始有一些疑惑,但是小 S 积极地去询问问题,导师和同事都很乐于帮助他,于是他进步很快。公司有一个专门帮助新员工入职和进入项目的流程计划表,小 S 严格遵照计划表上的安排行事,虽说也经常显得笨拙和死板,但它还是依靠它翻越了一个又一个困难的山头。
项目组对于代码的质量要求非常高,功能上严格测试,性能上精确控制,小 S 的每份代码都要经过至少两位同事的评审,都认可了才能提交上配置库。公司还经常组织相关的技术培训活动,甚至花钱把小 S 送到国内的一些大学培训机构去参加软件方面的培训。公司还有专门的测试团队,对于每一份内部正式发布的代码,都有完整的测试流程保证质量。对于要做什么,小 S 也是非常清楚,公司的产品经理认真负责,写出来的设计文档一丝不苟,小 S 所在的团队拿到以后几乎不用什么沟通来确认澄清就可以开始设计开发工作。
可是渐渐地,随着小 S 熟悉了其中的流程,他开始觉得厌烦,流程极其冗长,而且工作看起来似乎太缺乏挑战,整天和视频编解码打交道,时间长了无疑枯燥乏味,缺乏动力。为了修改一个变量,需要修改、评审、提交代码,经过反复和严格的测试,可能几秒钟的修改需要十几个小时投入的测试来保证正确性。每次想做一些有意思的项目,想聊一些有趣的事情,可是同事们的话题似乎总是围着那么几件事情转:房子、车子、孩子。大家都如此敬业,按时上班,忙的时候加一会儿班,但是似乎大家并没有什么激情。
小 S 觉得他自己不能在这里继续荒废青春了,虽然他学到了很多东西,但是他的工作已经无法让他充满动力地去迎接新的一天了。他决定改变,于是他和主管提出要离开。他的第二份工作让他眼前一亮,他来到了一支新团队 B,一共才 5 个人,成员都在三十岁左右,清一色的男程序员,做的是通用平台开发和基础业务定制。需要做的事很杂,而项目组的员工技术和业务背景也非常复杂,有的是做底层开发做了 5、6 年,有的以前是 DBA,有的是做互联网的业务设计开发的。
面对的是陌生的领域,小 S 觉得压力颇大。经理给他分配的导师,但是看起来导师却并不积极和热情,小 S 问什么,导师就回答什么,绝不多扯。公司也没有什么通用的流程和材料供新员工学习,有的只有一个大大的资料库,不系统,也缺乏整理,小 S 只能天天在互联网上搜索来解决项目中遇到的技术问题。他本想找经理帮帮忙,可是他很快发现,整个项目组处于一个非常松散的阶段,大家做事都很独立,他便放弃了总是去打扰别人的念头。
在平时的沟通当中,小 S 发现,每个人对于自己擅长领域,确实都可谓专家,说起来眉飞色舞的;可是对于领域外的事情,即便是实际工作需要,能有兴趣,却依然缺少热情。小 S 用脚本写了一个很有意思的工具,可以改进工作效率,他很想和大家分享他的小创造,可是他发现大家的热情并不高。产品经理是团队间共享的,需要做什么不会有人来主动回答,产品经理有时会把对产品的设计想法写下来,不过小 S 不怎么看,很多情况下因为太过抽象也看不很懂。公司对于流程基本是没有什么约束,几乎不写设计文档,小 S 的代码写了也没有太多人读,倒是出了问题还得自己负责,所以他还是小心地编码和测试。
小 S 又决定离开了,这一次,他在这支团队里呆的时间更短,是因为他始终觉得没能 “上道”,压力巨大不说,还不知道从何入手。我是新人,我来以后要做什么?我应该先参与哪些项目?我应该先学习哪一些内容?这些问题没有任何人回答他。他觉得很茫然,又有点怀念起了以前那支团队 A。
这一次,他加入了团队 C,这支团队的员工都在二十岁出头,大多数都未婚,没有孩子,看起来都充满热情和斗志。小 S 觉得自己的热情一下子被点燃了,他觉得好长时间了,终于有了可以大干一场的感觉。项目组做的是一个信息挖掘处理的项目,这方面本身在国内行家里手就不多,再加上团队的成员普遍比较年轻,小 S 觉得大家都还处在一个学习进步为主的阶段,大家经验都不丰富。
小 S 进项目组以后,没有人给他指派导师,大家看起来都很忙,而且似乎都没有什么下班的概念,很多人一忙就到九、十点钟才回家。但是对于小 S 的提问,大家都很有热情和兴趣来回答。在这个项目组中,系统的学习材料就更少了,小 S 从网上搜了一些英文材料,买了一些相关的书来看,依然觉得缺少别人的指点,有一种缺乏头绪的感觉。对于项目上的事情,小 S 读了产品经理的文档以后想,用户的问题已经清楚了,要做的目的确实成形了,但是要怎么去做呢?还是缺乏思路。
对于代码上面,其实项目组没有什么严格的制度来保证,但是大家讨论代码层面的设计和实现特别得有热情。经常为了一个设计上的问题,为了选择一个优雅的、易于扩展的实现方案,而争论得不可开交。虽说经常觉得同事有些小题大做,小 S 还是认为自己依然学到了不少编码和设计上的知识,也看到了邋遢程序员们追求完美的另一面。整个公司只有几个测试人员,基本上只有产品成型了以后他们才能介入,于是小 S 有时候觉得心虚,对于自己写的实现,离看到让人放心的用户效果还差得很远。
虽说已经是第三个团队了,小 S 还是想离职了,这次的原因呢,是他觉得大家都在拼命地干活,努力地学习,但是他依然非常绝望,观察了几个月,他认为这支团队根本无法就把产品做成。他们就像无头苍蝇一样,忙碌却没有方向感,没有人可以带着他们一起把东西做起来。他也不确信在这支团队里面,他自己又可以学到些什么。
小 S 现在觉得很困惑,难道找一个适合的团队就那么难吗?你又会选择哪一支团队呢?
文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接 《四火的唠叨》
水深啊
基本上每个人都有过这样的经历,一个团队的氛围和公司的历史,整体团队的年龄,学历有很大的关系。
就我现在所处的团队而言,基本上学历都是硕士,经理是博士。平均年龄 26 岁+。我进来很长一段时间都非常不适应,尤其数据驱动的方式,很少有人痴迷技术,基本上没有会因为某个技术争执。用的是 P4V 做版本管理,大部分用用 UE 作为编辑器。到现在我依旧有些地方不适应,但是我改变了我的态度。虽然他们关注的东西和我不一样(我刚毕业,和大多数人一样可能很亢奋),但是他们的分析问题的能力确实比我强的很多,而且某些人在某些方向确实很牛逼。这是我不能及的。
下班以后,我坚持学自己感兴趣的东西,自己折腾。
其实一个团队,总会有自己的优势和劣势,自己想做的事情需要自己去坚持。
经历过1,正在经历3……
关于学习方面我觉得这篇文章讲的挺好的
http://davidzhang33.blog.51cto.com/3095817/1330589
关于其他方面我也没有想好
选择团队其实标准只有一个:是否能够与团队其它人员顺畅沟通。
这位同学的职业生涯其实非常好,在团队 A 先了解职业生涯的架构和流程,在团队 B 里自己主动承担一块责任,在团队 C 里自己去领导自己和别人。困惑的原因只是因为他没有觉得为自己工作而已。
汗。怎么和我一模一样啊!纠结 ing~