岁之后还能不能再做程序员.......

  绝大多数程序员最终的职业目标可能都是CTO,但能做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。

  一般来说,程序员的发展基本上都会经历这么几条路径:

  1. 程序员 -> 系统分析员 -> 架构师 -> 技术经理 -> CTO
  2. 程序员 -> 项目组长 -> 项目经理 -> 项目总监 -> CTO
  3. 程序员 -> 产品设计师 -> 产品经理 -> CTO

  当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO。

  也就是说,许多的程序员最终可能是做技术经理、项目经理、或项目总监之类的,那么到底我们职业生涯要选择哪一种呢?

  这个问题没有统一的答案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路,比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。

  实际上很多时候,有些公司并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。

  我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解:

  1) 项目经理

  项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。

  2) 技术经理

  有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。

  3) 产品经理

  这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么优势等等。

  不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。

  我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也可能从不使用网银。

  我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站,接触新的创意,才会擦出最亮丽的火花。

  只有站在技术浪潮之巅,你才会有一览众山小的视野和深刻,人生感悟得以升华。

参考推荐:

程序员的职业发展方向:业务?技术?

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. 小丁是怎样入门git的
  2. 谈谈javascript放在哪里更合适
  3. Java数组的复制Arrays.copyOf()、System.arraycopy()、nums.clone()
  4. 锋利的jQuery-4--停止动画和判断是否处于动画状态(防止动画加入队列过多的办法)
  5. iOS 从手机相册里选取图片
  6. Note Pad++ 关闭语法错误时在代码下面的红线标识
  7. RMQ问题ST算法 (还需要进一步完善)
  8. Android WebView代理设置方法(API10~21适用)
  9. UOJ179 线性规划
  10. Python-----格式化字符
  11. android第一天-------环境搭建
  12. 为你解读2017年Java开发前景如何
  13. C#又能出来装个B了。一步一步微信跳一跳自动外挂
  14. Spring中的注解@Service @Component @Controller @Repository区别
  15. 实验楼----PHP代码审计(sha1、md5)
  16. Jetson TX1 install py-faster-rcnn
  17. ☆C++学习心得
  18. 整合Spring Security(二十七)
  19. BZOJ5254 FJWC2018红绿灯(线段树)
  20. ios开发之--使用toolbar调整item之间的间隔

热门文章

  1. 欧莱雅浅谈OC中方法调用的顺序中的Category
  2. setTimeout不可靠的修正办法及clearTimeout
  3. PyTorch 60 分钟入门教程:PyTorch 深度学习官方入门中文教程
  4. Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) E. Prairie Partition 二分+贪心
  5. (16)ServletContext详解
  6. solr 7.2.1 单机及伪集群启动
  7. Ubuntu18开启redis服务自启动
  8. 《Visual C++ 2010入门教程》系列三:关于C++的一些问题
  9. 在Main Thread中使用异步
  10. Python: PS 图像调整--亮度调整