作者:张恂老师
30 岁意味着什么?
30 岁程序员,差不多已有了 8-10 年的编程工作经验。8-10 年差不多是一个高级软件架构师应该具有的基本工作年限。不少人在 30 岁时已经做到了高级架构师,带着团队;不少人虽然没有获得架构师这个头衔,也没做领导,但其实也具备了相当的水平;还有一些人可能有点失落,他们既没有获得这个头衔,也没有达到类似的高级专业水平。
30 岁确实是一个重要的关口。
一个人为什么会迷茫?
其实每个人都会有迷茫的时候。迷茫,通常是因为没有、失去了今后发展的目标(尤其中长期的目标),例如不知道 30 岁以后是否还应该做程序员,应该朝哪个方向走。
抉择常常是困难的
程序员对现状不满常见的几个原因:
待遇不好?
学不到东西?
没有升迁机会?
。。。
1. 很多在一线互联网公司工作了6、7年的人却一直还在干着基层,加班到深夜,职业发展遇到瓶颈。跟朋友聊天的时候说着 “加班加不下去了,该挪挪地了”。
“加班加不下去了”,我支持这个挪地的理由。可以先考虑换个团队或部门,找一个相对轻松的地方和更爱护员工的领导。如果你仍看好这家企业,不急着出走。
如果因为加班而搞垮了身体,显然是不值得的。你现在赚得高薪,其实只是补贴了未来的医药费。每个人心里都有一杆秤,应该先把这个帐算清楚。
大势预判
我们的未来与这个行业、社会发展的未来有关,所以应该做个战略预判。
跟欧美相比,中国优秀的程序员、拥有多年经验的职业软件工程师还是太少了。BAT、HZ 等国内一流龙头企业这类程序员有不少,30+ 的也很多,但是国内这样的一流企业太少了,容量不够。欧美的高龄程序员是啥情况,也和中国类似么?
美欧软件界有很好的科学工程传统。我们在国内看到大部分国外大师级程序员、软件工程专家的著作、作品,他们大多 40-50 岁(有的甚至 60-70 岁),很少看到 20 几岁程序员在江湖上出来混的。这种现象是合理、正常的。程序员这份职业最需要的是积累,而开发知识和经验的积累最需要长时间的积淀,才有可能从量变到质变。至少有了 10 年以上的积累,你才好意思谈什么编程的艺术(the art of programming)吧?其实 30-50 岁才是一名职业程序员(软件工程师)出(大)成果的黄金年龄段,30 岁以下只能算是程序员的学徒期。
在中国正好相反,做程序员似乎早已成了类似某些行业的“吃青春饭”,故江湖上早有 IT 民工、码农之说,大家都感觉存在 30 岁现象,趁现在年轻体力好,要多吃苦、多加班、多挣点,而一旦过了 30 岁体力、技能似乎都吃不消了,要退役,改行了。
大家通常把原因主要归结为人心的浮躁,受社会、江湖的大环境影响而造成的,例如暴发户文化,竭泽而渔,捞快钱的价值观等等。存在的(现象)未必就是合理的。我觉得这些现象正是由于中国的软件行业、江湖发展不成熟造成的,不合理的通常也是不可持续的,将来一定会发生改变。
我预测,今后的三十年将是中国软件开发、程序员的黄金三十年,今后中国的软件业也将像美欧一样发展得更成熟,更崇尚研发创新与科学工程的文化,鄙视各种忽悠、炒作的暴发户和江湖文化的概率是比较高的。不知道我国江湖的 30 岁现象是否确切地存在,是否还会延续下去?也许最终大部分的 30+ 程序员仍然会选择离开,然而如果我的预测是准确的话,那么留下的 70 后、80 后程序员们将会成为未来黄金三十年的开发主力。
对策和建议
我的基本建议是,程序员不要轻易离开这个行业。除非你对这份职业确实已经心灰意冷(死了心),厌恶继续学习。
如果要继续留在这个行业,那么就要持续不断地提升自己的核心竞争力(Core Competences)。一个人的核心竞争力决定了你对企业、社会的价值,反过来也决定了你的薪资水平和投资回报。
1、不断提高自己的开发能力与水平
程序员最强的核心竞争力自然就在于技术能力,相比其他方面这也是最容易提高的。从初级、中级、高级程序员再到架构师,是一条清晰的众所周知的发展路径。
江湖上很多人有个误解,以为靠掌握一两个技术可以吃到老。记住:不进则退,程序员其实是一个需要终身学习的职业。软件行业技术的变化是非常快的,只要 3-5 年不学习更新,很快就落伍了,接近被淘汰的边缘。
其实一个程序员只要技术好(加上做人正),不愁找不到要你的单位。
掌握开发方法论,建立自己的经验与知识体系是成功的一个关键。
2、不断提高自己的管理能力
对于大部分程序员来说,做管理是比做技术更难过的一道槛。在中国人的悠久文化中,做经理、带团队能做久做稳的,必然是“人精”才行。
3、选择有好领导、专业研发文化的企业和团队
如果现有团队实在待不下去,自然应该用脚投票。
4、不断培养、提升自己对编程这份工作的兴趣和热爱
不是发自内心地喜欢手头的工作,而仅仅是为了挣点钱,而且到手的净值越来越少,随着体力下降工作也变得越来越乏味,这种状态是有点令人烦恼的。
怎么提升?
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的。
3、如果没有工作经验,但基础非常扎实,对java工作机制,用设计思想,常用java开发框架掌握熟练的。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的。
5. 群号:高级架构群 592389308 备注好信息!
6.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
网友评论