程序员到底应该如何发展?从我入职开始就很多疑惑。按照国外的大企业的管理方式,微软、hp之流,基本都是细分工作角色,根据不同角色制定独立的成长路径和级别,同级别间可以工作调动。但是这种模式适合中国,适合中小企业吗?在中国没有技术如何管理手下,没有技术如何服众?
由于我所属的公司是应用软件类公司,有自己的产品,不属于外包型和项目性软件公司。我认为随着公司的发展有如下几个阶段:
1、初起——强组长型。就是说这段时期公司规模小,人员少,开发人员处于经验和能力比较低的阶段,需要的是组长或者一线经理的能力比较强,又能设计,又能管理。此时研发和管理的划分大概是6:4到7:3。
2、中期——强组员型。就是说这段时间所有研发人员的水平都达到一定层次,整体能力水平比较高了,此时的组长和一线经理会逐渐转向管理,如何人尽其用才是重点,但此时还是需要组长和一线经理作为核心骨干参与研发。此时研发与管理的划分大概是4:6到3:7,甚至2:8。
3、后期——强构架型。随着第二阶段的积累,此时整个公司有了一到两个很强的产品构架,基于这个产品构架可以很快的进行软件产品线的开发和软件功能的扩展。此时组长和一线经理的职责会更为明确,进行划分,技术强的转入技术领头人,管理强的转入项目管理。此时才能够达到外企所谓的管理研发分离的状态。
因此我想,适合中国国情的级别划分与管理才是可取的。根据公司规模、产品定位、人员水平进行管理才能更好的发挥每个人的能力。而我们程序员则应该根据公司的定位来进行自我的规划,换个公司也许就是另一番情景。你现在定位以后搞管理,也许你进的公司规模小,注重技术,管理对企业的影响力是比不上技术的,但如果进入大一些的公司,讲求制度和项目的规划与安排,管理者就能够在公司有更多的话语权。
对于新入职的程序员我想说的就是:不要迷茫,也不要管以后你是做技术还是做管理,头几年好好提高自己的技术,之后再根据公司规划自己的方向,之前的努力对以后的转型只有好处没有坏处!