研发职位到底应该怎么设置?(下)

简介: 研发职位到底应该怎么设置?(下)

新加坡曾经是英国的殖民地,不论是法律体系、政治制度还是职场文化都继承了不少英国的传统,其主要特点是阶层和分工明确。公司研发团队的系统分析师和程序员之间的分工非常明确,系统分析师主要负责系统设计,程序员根据系统分析员的设计来实现代码。90年代公司对这些程序员的要求并不高,可以是高中毕业生,学习财务专业的大专毕业生,而现在更多的是计算机软件专业的毕业生。系统分析师一般是经过训练有经验的计算机专业的工程师。有些人能够从程序员逐步提升到系统分析师,有些人则在程序员的岗位上长期工作。



image.png



日本公司对职位的区分更加清楚,系统分析师经常用Excel定义好系统要实现的具体功能,然后由程序员严格按照Excel的描述把定义好的功能逐一实现。日本企业有两个特点,第一是员工的忠诚度比较高,他们往往会在同一个企业里工作一辈子,所谓终身雇佣制。


image.png



而互联网技术的发展很快,员工跳槽去不同的企业可以学习到很多新的知识,积累更多的经验。忠诚于企业这个优良传统在互联网时代可能具有负面效果。第二是新老员工之间的隔阂,员工越老在企业里越有地位,发言权越大,新员工必须无条件地尊重和服从老员工,简而言之就是有论资排辈的现象。但是互联网是个快速变化的行业,新知识新技术往往更加重要。比如老员工只会用C语言写代码,对Java和Go语言等不清楚,他们往往凭经验选择自己熟悉的C语言,这对企业的技术发展是个障碍。



image.png


美国硅谷的情况则非常不一样,因为大多数的硅谷互联网公司都是从创业公司发展而来的,这些创业公司的研发人员从公司成立开始就什么都做,产品设计、代码实现、应用测试,缺什么就做什么。我曾经在同一个时间担任Oracle DBA、系统管理员和Java 程序员。所以硅谷公司对研发人员的职位分得没有那么清楚,笼统地称为软件工程师。


image.png


这种安排与美国的文化有极大的关系,美国是一个比较开放、包容和平等的社会,只要能完成企业的创新,年纪大小、学历高低、皮肤黑白都不是问题。经常会在企业里看到掌握新技术的年轻人挑大梁,也常见到50岁,甚至60岁的程序员大叔在编写代码。


image.png



中国的互连网公司与美国硅谷的情况比较接近,就是企业大多数都是从无到有,从小到大,公司对负责架构设计的工程师和负责代码实施的程序员的区别不严格。不同的地方在于中国的互联网技术人员,受“学而优则仕”传统观念的影响,一旦做到30多岁就开始考虑向管理岗位转,停止写代码和做设计,很难找到50多岁还在一线写代码的情况。还有一个不同点是中国大学计算机相关专业的毕业生,他们选择专业往往是以能否容易就业为考虑的基础,对代码实施和架构设计的深入研究和长期坚持有限,换句话说真正热爱写代码的人少,而以写代码养家糊口的人多。


image.png


比较和反思这四段经历,可以得出以下两个结论:


第一、社会文化传统对公司研发职位的设计有直接的影响。等级森严的社会文化自然要求架构师、系统分析师和程序员分工明确,各司其职。比较包容和平等的社会文化可以模糊定义这些职位。

 

第二、在不同的发展阶段,公司应该采用不同的职位安排。初创性公司的员工人数很少,不必明确区分架构师与程序员,可以采用软件研发工程师来做模糊处理。有一定基础的成熟型公司,则可以明确地区分架构师和程序员。



image.png


 

中国的文化既不同于美国硅谷,也与日本和新加坡差异很大。我们的文化在平等和包容方面与硅谷差不多,在开放和技术素养方面,强于日本和新加坡,但比硅谷稍差,所以职位不能完全照搬硅谷的做法,以研发工程师的职位模糊所有其他的软件研发职位,而应该在编写代码和架构设计的分工上稍有不同。


在实际工作中,经常有初级的软件研发人员不仅编写代码,而且还负责设计架构。受到仅具备程序员水平的软件研发人员专业水平的局限,所以研发出来的应用系统的架构设计水平低下,代码实现也杂乱无章,这是很多CTO经常担心和苦闷的地方。

 

解决这个问题的主要方法是,根据中国社会的文化传统,互联网企业的不同文化以及公司的不同发展阶段,因地制宜地确定软件研发人员职位定义的模糊度。


在公司的初创阶段,在平等、开放、包容和技术人员素质较好(精英团队)的情况下,可以在一定程度上模糊程序员和架构师之间的职位差别,充分发挥工程师的主动性和创新精神。


但是对创业超过10年的老牌互联网公司而言,或者团队的精英含量较低的情况下,我们就不能简单地只设置软件研发工程师的岗位,而应该清楚地区分出架构师和程序员至少两种不同级别的职位。明确架构师对架构负责,程序员对代码质量负责。避免小鬼当家,让程序员做架构师的设计工作,或者浪费架构师的时间写代码等类似的奇怪现象,以确保金融科技公司的架构能够有效地落地实施。

相关文章
|
4月前
|
运维 前端开发 算法
揭秘成熟互联网团队:团队成员包括哪些岗位?
揭秘成熟互联网团队:团队成员包括哪些岗位?
167 0
|
架构师 程序员
研发职位到底应该怎么设置?(上)
研发职位到底应该怎么设置?(上)
118 0
研发职位到底应该怎么设置?(上)
|
机器学习/深度学习 人工智能 算法
【Offer 5000-基础设施事业部】- 招聘职位详情
基础设施事业部本次招聘岗位4个:1、 AI/HPC/BigData大计算类基础设施高级产品专家;2、 AI大数据高性能计算领域业务架构师;3、大计算机群性能专家;4、服务及技术支持专家 。
3418 0
【Offer 5000-基础设施事业部】- 招聘职位详情
|
云计算
5年时间,我从开发做到总裁的秘籍--如何提升技术型管理者的领导力
每一个技术人在职业生涯中都会走到这样一个路口,就是专心地在技术路上精深,还是转型从事管理岗位。本文讲述了从技术骨干到管理者过程中,需要提升的领导力是什么、怎么做获得,以及对处于人生转折期的技术人的一些建议,从而为读者深入浅出地解答了这个问题。
3634 0
|
存储 人工智能 运维
阿里云存储团队招聘贴(技术岗位)【2020.07.28更新】
我们相信技术的力量,更相信拥有技术力量的人。 我们期待存储的未来,更期待与你一起创造未来。
3939 0
|
程序员 C++
【误区】技术部经理vs技术经理 —— 一字之差谬以千里
  技术部经理、技术经理,就差了一个字,但是含义、职责、侧重却是差了很远。我们先查查他们都是什么含义。     技术经理:技术经理负责组织制定各种技术标准和技术规范并保证实施,他们既是精通某个领域专业的精英,又是擅长团队领导的管理者。
1660 0
|
算法 Java 程序员
阿里员工吐槽:阿里巴巴太累了,找到60万的工作我就离职
一名阿里员工因为加班顿生怨言:在阿里巴巴干着太累了,找到60万的工作我就离职,并且直言压力很大:心累,开发还得干产品的活,一天8个会,各种拉你,这边还得解决客户的问题,还得干PM的活推动各方开发,每到周日晚上就想辞职,有没有一样的?   看样子这名阿里员工已经不堪忍受这种工作状态了,其称自己目前的职级是P7,年收入差不多在70万左右,如果能找到60万的工作,虽然降薪了,但会毫不犹豫离职。
3702 0
|
网络安全
带团队,要不要把员工推向前台?
leader的职责,是把自己的本领传授给下属,让人人都牛逼。好的leader,会把自己的下属,推向前台。
1307 0
|
架构师 Java UED
大神留步,阿里云服务团队招聘啦!
如果你不想辜负这个科技的时代,相信它会因你而不同; 如果你不想只做年度大戏的观众,相信自己会成为主角; 如果你不想淹没在枯燥与苟且中,相信工作有诗和远方; 那么,别再藏身了,才艺双全的你只是缺少舞台! 让我们一起以“云”为台,共图未来! 一、业务及平台介绍 我们通过自助、智能、售后工程师、生态合作伙伴多种模式,为全球200多个国家和地区的客户提供7x24技术支持,保障客户云上系统的安全、稳定运行和良好的用户体验。