重新定义技术团队


1.不要叫我”码农“
网络的发展,开发者这个新的群体才逐渐出现,近年的互联网高速发展,这个群体 才出现在了更多人的视野中。首先,我们需要重新认识”开发者“,不喜欢”程序猿“,”码农“这些称呼;软件研发,特别是互联网领域的开发者, 并不是产线工人,优秀开发者和普通开发者,效率可能是几倍,几十部,几百倍的差距本人开发工作7,8年了,经历过初级开发者,主程,组长,架构师,技术合伙人 ,能从打工者和”老板 “的角度去理解开发者群体。编程就是在设计一个虚拟世界,指定和实现这个世界的规则。所以,请先重新认识这个群体吧,他们是一群思想相对单纯,聪明,踏实,学习能力超强,又需要艺术灵感的匠人 。

2.公司技术团队存在的意义
技术部门是整个公司一部分,主要由开发者组成。需要从公司的视角和开发者视角去分析这个问题。
1). 公司视角
技术团队服务于公司业务IT实现。虽然公司的业务不同,但总的来说,技术团队需要做这两方面事情:一是高效的实现公司当前业务的开发工作,二是应对公司业务高速发展的准备,万一公司快速发展,如何跟上或者超越业务为的发展所需的研发能力。
2).开发者视角
对开发者来说,工作的目的无非是两个大的方面:一是钱,二是有更大的发展空间。开发者的能力体现在软实力和硬实力,硬实力当然是对开发技能的掌握了,硬实力是定量的,某个领域需要的应用级别的技术技能就这么多。更大部分决定开发者成长空间的是软实力,对业务理解和分解能力,沟通能力,趋势的把控能力。

3.重新定义
前面已经知道开发者群体特征,也了解了技术团队存在意义,那么我们就需要重新定义技术团队:一是满足公司的业务研发需要,二是满足个人开发者的金钱和成长空间的需要。而现在大部分技术团队,主要是满足公司的开发需求,极少去考虑开发者;开发方式是流水线式的,产品经理收集需求,制作原型,开发实现原型,测试工程师测试需求。这种存在方式对开发者来说更多是工人一般存在,对他能力的提升是很小的,开发者过了技术的积累之后,就没有更多的空间了。 真的技术团队需要融合公司和开发者两个群体的需求。这是我们公司在探索的其中的一种解法:
1)开发者更进一步,参与到需求的分析中。
产品经理收集原始需求,产品经理、开发者、设计师、需求方一起开需求定义会议,抽象出需求方需求背后的东西以及真正需要的是什么。第二阶段开发者,产品等一起去细化黑盒(需求)模块,在细化黑盒模块A、B、C。第三阶段开始进入开发,设计阶段,开发完A模块之后迅速产品参与进来验证,调整...,然后是测试,发布了...。总体来说是改变了开发流程,从工厂流水线的方式变成了大家一起完成这个任务,互相共享所属领域的智慧;大家有更强的参与感,对需求有更整体的认识,需求变化的时候能更多的互相理解。
2)对开发者更高的要求
开发者需要技术能力和业务理解能力, 招聘的时候就应该剔除码农思路的开发者,招到有一定开发能力,原因学习,原因沟通的开发者。
3)学习型的团队
由于对开发者以及每个角色有更高的要求,需要开发者(其他每个角色类似)去提高自己的软实力和硬实力,团队需要机制保障学习,变成真正的学习型组织。

4.关键点
新的技术团队定义的关键点是:
1)更大的平台
公司需要发展,技术团队需要更大的平台。公司不发展,再优秀的人才也留不住。相对来说,大公司就比较有优势,他们的起点就是一个更大的平台。
2)团队组织方式
改变现有流水线方式,找到合适的方式,满足对团队的需求和员工的需求。(前面的探索只是一种解法,你需要找到你公司环境下的解法)
3)学习型组织
技术本来就是快速变更,开发者对技术的学习好比是女人对美的追求,前提是团队需要合适的机制满足这种需要,推荐去看《重新定义团队》学习型组织的章节。

所以,你应该知道了,为什么你培养不了、留不住优秀开发者.....不只是薪资哦,优秀开发者那哪里都能拿到属于他的那份工资。
posted @ 2016-02-28 21:55  送海  阅读(317)  评论(0编辑  收藏  举报