社会对程序员的定位是满足技术需求,程序员自身所受的教育和积累的经验也使自主前程意识局限于技术路线。实际上,我们所看到的在技术方面有建树的前辈多是综合型的人才,单纯局限于技术思维的多有行为局限,也难看出自身的幸福感。
毕业几年了,一直都是从事程序员的工作,从以前只管努力学技术,到现在开始慢慢地思考以后的职业规划问题了。
十年三阶段
工程师的职业发展,前十年是个非常重要的阶段。从职业规划的角度来讲,建议把这十年分为三个阶段来设定目标:
第一阶段(前三年):打基础。立足培养技术能力和软技能。第二阶段(四年):从个人能力向团队组织能力转变。在沟通能力、协作能力和领导力上发力。第三阶段(四年):不断强化领导力(技术领导力和管理领导力)。
在我看来,一个工程师的养成可以分为四个阶段:
新人期硬技能:理论转化实践软素质:养成基本的职业观
成熟期硬技能:积累业务知识,积累技术知识软素质:固化职业观
发展期硬技能:明确细化的职业发展方向,深入研究「可能技术, 可能管理, 可能两者兼具」软素质:逐步总结并形成自己的方法论
事业期硬技能:释放自己,创造价值软素质:输出方法论,影响其他人
看到身边一些“大龄”程序员的出路,主要是这三条:做管理,自己创业和继续写程序。
做管理
做管理是绝大多数人的选择。原因嘛,当下中国职场的大环境如此:招聘单位一般不要年龄大的程序员,再加上你年龄大些后,实战经验丰富,不让你带人让谁去带呢?“大龄”程序员有着多年的开发项目经验,这些实战经验能一些岗位起到很重要的作用。比如:CTO,项目经理、产品经理。
相信在多年的工作中你的技术是无话可说的,但是管理的方式、为人处事的方法、稍稳妥的工作作风以及对于企业长远的眼光可能是你们真正需要加强的。
(不懂技术 vs 懂技术)
创业
自己创业的,这种人大多数是在工作中到了一定的岗位,有了一定的资本,综合能力提升到一定的水平,但跟搞管理一样,你还缺许多技术之外的东西
创业者要做的产品不是给客户的商品,而是企业本身。把企业看做一个系统,运转良好的系统,就是创业者要开发的产品,这个理念,对于运作企业是非常重要的,也从根本上回答了如何做好企业的问题。
如果单纯是因为自己工作不开心,对老板不满而愤然离职创业的,这种基本成功概率为零。
创业难度很大,风险很高,但总会有“勇士”前赴后继。
写程序
国内的软件不像制造业,允许老师傅的存在,只要还能干,就越老越吃香,当然还得学会用现代化的工具才行,但这基本不是什么问题。以前老想着靠经验拿高薪,但这经验仅仅是工作时间吗?准确一点说仅仅是做软件的时间吗?也不是,确切的说法应该是行业经验。问一下自己从事多年程序员工作的你也许只是在写程序,但是你真的有固定的行业吗?你在写简历的时候会发现自己的技术和行业背景很杂吗?是不是什么都会一点但是又什么都不精。
大龄程序员在国内企业基本没要,有N多有拼劲能加班、要求又低、还没有家庭负担的小年轻在等着呢,谁愿意要你来写程序?
如果想继续抱着键盘安安静静地写程序,估计要在某个技术方向深度学习。比如做游戏就一直做游戏,做网络就一直做网络,其它方向的工作基本不在考虑范围内,这样才能在一个方向上积累下来;否则各个领域都会一点皮毛,但又没有精通的,企业几乎不需要这种人。
程序员找出路还是要尽量提前进行职业规划和准备,千万不要说什么:“走一步,算一步”的话。在这个一睁眼就是竞争的时代,你可以放松休息,但别人会继续前进,不会等你。