导语:本期采访对象@天长海北,84年生人,是某大型电商公司技术部门的经理(应采访对象要求不公开公司名称)。作为“空降兵”走马上任的他,一方面要适应新的环境,一方面被日常管理和招聘压得喘不过气来,真心感叹“做管理比做技术难多了”。用一段咆哮体来形容一下他这三个月的内心煎熬:“招聘很难有木有!新人抢不过BAT有木有!老人还要跳槽去BAT有木有!新人都是90后了有木有!需求还是改来改去有木有!每天开会加班到10点有木有!管理其实比开发难多了有木有!”当前国内的技术人才,开发优而转管理是很常见的情况,也是很多技术人心中的痛。且看我们的采访对象如何迈过管理这道坎儿。
工具·流程·效率
导致效率低下好多都是流程上的问题。我们虽然用了敏捷的方式管理,但效果往往达不到,因为只用了其中一部分。
- 技术人攻略:先说说你遇到了哪些问题?
其实问题每家公司都有,但现在这家公司比较独特,他的管理文化特别重。为什么这么说呢,其它互联网企业开发人员只要做好本职工作,每周写个周报就OK了,现在这家公司更倾向于做计划,做粒度。现在我们采用sprint的方式,每四小时做一次计划,时间粒度要精细到4小时,例如一天如果只干了一件事,得分开说,上4个小时干了什么,下4个小时干了什么。
- 技术人攻略:这要求是针对每个人还是只针对管理者?具体怎么执行?
这要求是针对每个人的。每周写一次,粒度到4小时一条计划,由部门经理统计汇总,记录在excel表格中并发送给更高的领导。这些内容由总监审核,并且汇报给更高级的领导。审核主要看每个小组每周有多少个可用小时,这些时间花在了什么项目上。刚去的时候感觉挺难预估的,时间长了之后发现还是可以按计划执行。Sprint的管理方式也用,每天早晨开站立会,总结将要干什么,已经干了什么,干得怎么样。但缺乏自动化的工具帮助我们生成报表,所以繁琐的工作特别多。其他部门也跟我们一样,但我自己不想总累下去,因为总干日常工作,就没时间创新了。于是我们做了一些统计工具,把spring计划入库,用报表展示。
另外管理上的流程非常多,例如上线计划会,周计划,经理总监部门会。以前我做的管理偏重于技术和项目上的管理,现在除了把事儿做完,还有好多带团队的工作,每周跟每个人至少做一次一对一谈话。因为我部门的人太多,所以两周做一次一对一,算下来每天都至少要跟一个人做一对一谈话。原则上每次一对一要求半小时以上,因为我的团队比较新,所以基本上每次做一个小时。当然一对一还是挺有必要的,有的员工不积极,可以问问有什么事儿,有的人不积极自己不知道,通过沟通可以帮助他们挖掘一下,同时也可以增进感情。
所以比较忙的状态就是这样产生的,这些事情让人很消耗精力。当然,现在这家公司也有非常突出的优点,那就是人际关系比较简单直接,这样工作中个人间的关系比较融洽,内耗很少,工作氛围很开心。
- 技术人攻略:除了自动化的报表工具,你还做了哪些提升效率的事?
导致效率低下好多都是流程上的问题。我们虽然用了敏捷的方式管理,但效果往往达不到,因为只用了其中一部分。我也在推动一些新的东西,例如持续集成。现在公司的测试流程有问题,开发团队有一套SVN库,但测试团队不从开发库里拿代码,而是让开发把代码提交到测试的SVN库里,这样开发团队所有的日志都没了,看不到改动情况。流程不合理导致好多工具用不了,原来发布东西吭哧半小时发布不了,因为都是人工做很容易出错。如果用持续集成,点按钮就好了。现在公司比较好的地方就是大家接受新事物的能力还可以,新的东西只要有人推就有人用。推广这些新工具的目的还是希望能帮大家提高效率,首先让我部门的人更轻松,出错的几率更小。
创业·激励·团队
没有团队合作精神的人,技术再好也不能进入我们的团队,创业型团队需要团队合作,只有合作才能适应技术和需求的快速变化。
- 技术人攻略:你在团队管理上采用了哪些方法?
我感觉管理分几个阶段,最低的就是分任务、监工,工厂管理一般采用这种模式;好一点的是做计划并按照计划执行;再好点就是让员工自己做计划自己执行;最好的是每个人都能发挥内在动力,想着怎么把事情办得更好。
我的部门应该还在第二个阶段。我们现在做to B的平台,有两点很重要,第一是最先考虑客户体验,第二是能响应快速的变化。想要达到这个目标,用第一、第二阶段管理方式很难实现,要尽量追求第四种。所以人才培养很重要,要尽量激励大家,让大家对这个事儿有信心。我原来一个同事在南京创业,做订餐服务,当时我们都不看好,但是现在他已经开始拿第二轮风投。合并了一家上海的公司,规模比他们还大,但我同事的公司系统平台做得更好,完全是用互联网的方式在进行运作。南京那边人才更少啊,但是他就是能在团队中培养信心,目标一致,让大家都相信事情能成。所以我现在也用创业的方式来激励团队。
- 技术人攻略:现在90后已经开始工作了,90后程序员有什么特点?
90后不是关键词,90后也有非常不错的程序员。当然肯定也有些人缺乏团队合作精神,特别自我,在我的团队不太适合。其实这种类型的人在90后中也不普遍,但是相对于我们那个年代工作了2-3年的人,比例还是要多一些。没有团队合作精神的人,技术再好也不能进入我们的团队,创业型团队需要团队合作,只有合作才能适应技术和需求的快速变化。我现在的公司在招聘人才上也有自己的原则,公司招聘一个人,是希望他能发挥潜力,不断提升,而不只是为了完成工作。
基础·心态·表达
学技术的人分两种类型,一种是学基础知识型,另一种是学框架工具,学表象型的东西。这两种类型学精学好都是十分优秀的人才。但我还是觉得基础知识掌握得扎实的,将来接触别的东西能快一些。
- 技术人攻略:招聘方面遇到了哪些问题?
真正的人才时下难求,像我们这种规模比较大的的公司,收到的真实简历仍不算多。更多是发动身边的朋友推荐,面试者多数比较浮躁,基础也不扎实。
其实我面试的方法非常简单,最低要求是请面试者清晰描述自己工作的内容,逻辑没有错误,信息真实;更高一点要求是面试者能够具备同理心和换位思考的能力,阐述工作内容前可以先讲明工作的背景,如果能够引申到工作的意义和目的就更好一些了。但面试者中半数都达不到最低要求,很多人都不能很好地理解他们的行业。比如有个业内不错的大公司从业人员,有4年广告系统工作经验,主要做广告投放,但问到怎么做广告资源竞争都不能表述的十分清楚,后来那个人被BAT里面的一家收了(具体哪家不公开了,大家自己猜)。
昨天面的一个,在某化妆品电商从事ERP系统设计,技术层面的很多问题都答不出来,表达能力也不是很好。后来问他觉得自己处于什么水平,他觉得自己应该属于高级水平。对薪资的要求也不合理,现在的薪资也属于中上水平,希望能有30%的涨幅,简历上写的希望是60%。问他为什么有如此期望,他的回答是他去年入职薪资普遍不高,今年和他水平差不多的人都要同等薪酬,而且他觉得自己的水平远高于公司的架构师,让人很无语。
还有个问题就是同行抢人,我们现在只要给offer,BAT中的某家马上就给,待遇比我们还稍多一点。
- 技术人攻略:你面试技术人员有些什么标准?
我面试非常重视基础知识,学技术的人分两种类型,一种是学基础知识型,另一种是学框架工具,学表象型的东西。这两种类型学精学好都是十分优秀的人才。但我还是觉得基础知识掌握得扎实的,将来接触别的东西能快一些。计算机行业的基础从发明计算机到现在,基本没怎么变过,如互联网公司用得最多的网络原理,http协议、TCP/IP协议原理沿用至今也没有实质性的变化。很多人学了一个框架,知道一个名词,就觉得了解了这门技术,但是底层的原理其实完全不清楚。例如Kafka比MQ快,但是不知道为什么快。这其实是一种学习的习惯,我一般会先了解底层,然后再实践,从实践看这种技术底层最多能达到什么样的效果。比如一个TCP请求,一秒钟能传多少数据,底层的知识要了解操作系统、堆栈、缓冲区、网卡速度等,然后就是实践,可以自己编程写个socket,在配置socket各种参数后看看自己写的程序最大能达到什么速度,了解之后就知道速度是无法超过物理极限的。Kafka底层就是用的TCP连接,所以最大也超不过TCP协议的物理极限速度。Kafka的好处在于帮我们实现了一些额外的功能,比如做为消息队列服务我们最关注的吞吐量、数据性能、数据的安全性,数据是否能够长时间的保存等。当然这些知识初级的程序员不了解也很正常,但深入使用过这门技术的中高级程序员应该清楚。
技术人攻略访谈是关于技术人生活和成长的系列访问,欢迎和我们有共同价值观的你关注“技术人攻略”,邮箱 devlevelup@gmail.com,新浪微博 @devlevelup,希望能成为技术人成长的精神家园。