早期出国作程序员的人多少都思考过这个问题。作PM 不是人人的选择,很烦而且有时很受气,一般还很累。是那种“meat in sandwich”的工作 - 一边是客户恨不得“You should have scheduled the project by committing yesterday as the deadline”,另一边是呼风唤雨的 Engineering Manager,因为EM 最后 deliver 这个 project。另外,任务多的时候,累死,任务少时候,“被雷”(get laid off),EM 自己就把 project management 搞定了。另外,PM 听起来是个 manager,但大多是 IC,经常为几个EM 服务。
BA 要能说会写,还要很会做 presentation,实际上是 internal consultant。大公司会有这样的位子,但有限。中小公司一般就请 external consultant 了。另外,Business 的知识,至少是 awareness 还是要有点的。
我说了那么多,并不是想说PM 和 BA 不是选项,还是有人合适做的。有些IT 的位子可以一直做下去,保持一个好的心态就行了。我的一个邻居快50了,在核武器研究所写C程序。
如果积累了一定的经验,选择还是很多的。EM 实际上就是一个好的选择,是公司的中坚,薪酬一般都比较好,以后还有机会作 CTO :) 但语言要好,能力要强,机会不多。 System Engineer/Architect、Technical Consultant等也都是很好的选择。
其实不光是程序员,其他行业也有类似的情况,以后有机会我可以写详细一些。