按道理来讲,在公司4年到6年的这个阶段,基本都到了中级or高级开发工程师的阶段,也是正练代码的时候,也是从how to do 做why to do 的阶段,到了可以慢慢做一些底层或者原理的研究阶段。
但是在中国,基本上程序写的好的在这个阶段慢慢都会让去做一部分管理的工作,比如项目经理,小组组长等,有可能涉及到沟通或者其它的杂事太多,相应的编程的时间就少了,也容易产生迷茫?可以潜心研究技术,不太愿意做沟通或者撕X的,对技术保持热爱的可以走向架构师的这个方向。
其实我在工作4年多的时候,心里面的标准方向就是想做一名架构师,幻想着可以指点项目架构的江山,但是很快我发现在中小型公司里面不太现实。
技术架构级别上都是技术经理在做决策,有架构师职位也基本上要不是偏高级的编程人员,要不也是做了一部分的管理职能,没有纯粹的架构师职位。
后来我司成立互联网金融项目,领导就以可以让我独立负责所有技术为诱惑,后来就走向了技术经理的这条路子,不过后来确实可以按照自己的想法去构建整个平台的时候,感觉还是挺不错的。
不是技术好的都可以做管理,有时候也和个人的气质有很多的关系,有的人在为人处世方面确实比较擅长,有的人却对技术有着天生的敏感性,做了管理之后,和很多不同的人做了深度的交流了解,你会发现把合适的人放到合适的位置是多么的重要,可以省很多的心。
因此在这个阶段需要对自己有所了解,自己擅长或者喜欢做那个方向,另外沉下心来研究技术,实践技术,等待机会,因为公司里面提拔的人才基本上都是老员工多一些,因为经历了多年的一起抗战感情上信任的住,技术能力也比较了解,频繁跳槽比较难一下进入高级一点的职位。
在这个阶段最好能选择一个自己喜欢的行业来稳定下来,比如游戏以后换工作的时候也是游戏方向,比如你喜欢金融,以后的工作尽量都和金融相关的,有行业积累的情况下,对以后的发展非常重要。
如果这两年做金融,过两年又是通讯各种换,到头来行业背景几乎是零,因为技术的本质还是为解决实际问题,如果你在某个行业多年,那么你对行业的系统有全面的了解,开发过程中也会避免很多问题,这就是为什么很多公司招聘的后面都会有一条,有xxx工作经验者优先的原因。