爱码小士丨代码一敲十年,收入虽高前途摇摆
程序员群体曾是低调多金的代表,但最近996话题、甲骨文大裁员等事件持续发酵,让这个群体成了大众眼中的“失意中年人”。
年轻时的拼命,换来的却是中年时的焦虑。收入虽高,但前途摇摆。
30岁真的是程序员迈不过去的坎吗?曾经梦想着用技术改变世界的程序员们,怎么去看待自己的职业规划和人生价值?
10年前我入行时,整个行业一片欣欣向荣,那时候老板更喜欢称我们为“工程师”,但是现在,我们已经成为“码农”了。之所以有这个变化,一个是因为工种越来越细化,每个程序员负责的任务越来越精细、单一,时间长了,我们只熟悉那一个模块的工作;另外一个,是因为我们自身的知识结构越来越跟不上新技术的需求。
软件行业的开发模式,是对一个框架的修改和堆砌。说得更贴切一点,就是堆积木。只要掌握了编程技能,一个程序员每天的工作几乎就是从开源网站上扒一段程序,然后根据公司需要不断在框架上添加、修改。程序是24小时不间断运行的,我们在开发和维护程序的时候,每天都需要加班到很晚,熬夜是常态,这真是一个体力活儿。
很多人工作了十年,还不如工作五年的,很可能是一路混过来的。但反过来,年龄偏大,学习能力强,经验又足够丰富,我特别愿意找这种人,尤其是在工作之余兼职创业的。这类人眼界开阔,知道创业路上可能有哪些坑,技术基础扎实的人写的代码质量也高,不需要太多额外人员为他服务。所以说,年龄并不是决定性因素,还是要看这个人本身。
这个行业的人才供应始终是冰火两重天的,高端人才稀缺难得,低端人才供应泛滥。但真正有底蕴的常青树公司是不会大招大裁的,宁可提高门槛制造俱乐部效应。
我研究生毕业以后就加入了一线互联网公司,先后在百度等公司就职,现在也成了一名创业者。随之而来的节奏和眼界的变化也很清晰,在大公司工作,只能看到一个拼图的一小块,但在创业公司,每个人都要是超人,从开发到运维一肩挑,还要参与商业化,更实用主义。
大公司有严格的开发流程,从总体设计到详细设计、编码阶段、提测,然后交给运维上线,中间要花2到3周,甚至是2到3个月,初创公司没办法这么讲究,可能头天拿到需求,第二天就敢上线。
大环境一直在变,唯一不变的只有变化。所以最近几年,我必须保持学习新东西的状态,要说瓶颈的话,在于技术人转管理岗,适应起来时间会比较长,所谓“慈不掌兵,义不行贾”,打工者视角切换为leader视角,自己的性格会遇到新挑战。
我们部门平均年龄大概26岁,年龄代际必然会造成差异,但总的来说问题不大。年龄大带给我的优势就是经验的不断沉淀,在老技术人眼里,没有多少真正的新东西,都是新瓶装老酒。
年龄本身不会给我带来危机感,带来危机感的是经济周期、行业周期、岗位需要的投入度与自身能够提供的投入度的差异。
干了这一行之后,基本没有上下班之分,只有醒着和睡着的区分。坦率的讲,业界对程序员发迹线的消费是有悖科学精神的,秃不秃取决于基因。头发掉得厉害的人,可能祖上有一些贵族基因,就像英国的查尔斯王子家族一样。很遗憾,我发际线至今还行。
我平时加班之后会去夜跑,一周三次,能够给我提供一个独立思考时机,整个公园很安静,感觉很好。
互联网人是持续学习者,持续奔跑者。目前我只实现了人生规划里的一部分,创业的野心一旦打开,就会一直在这条路上狂奔下去。
我现在自己会带小朋友,最明显的感觉是,老一代程序员喜欢亲力亲为,现在的一代多是拿来主义。打个比方,我们老一辈是木工,喜欢自己从木头做成家具,现在的年轻人有点像宜家,买来现成的再自己搭。新兴的程序员效率会更高,我们这一辈更能追根溯源,相辅相成吧。
下面的java架构师发展方向知识架构体系图,是我觉得比较适合现在的年轻人:
核心要素:(阶段一)
1.多线程编程原理
2.网络编程原理
3.架构师必备技能
4.版本最新特性
5.大企业当中的工程管理模式
核心要素:(阶段二)
1.源码分析能力
2.深入商业架构,探寻设计模式
3.架构师进阶流程
4.学会做一个架构者,自定义架构
核心要素:(阶段三)
1.网络爬虫原理及实现
2.搜索引擎原理
3.分布式搜索引擎架构
核心要素:(阶段四)
1.组件化开发奥秘
2.springboot+springcloud微服务架构搭建
3.docker虚拟化
4.解惑springboot流行因素
核心要素:(阶段五)
1.分布式架构原理
2.分布式架构策略dubbo及zookeeper的应用
3.分布式架构当中消息中间件的意义与使用
4.分布式事务解决方案
5.分布式锁解决方案
核心要素:(阶段六)
1.性能优化衡量维度
2.深入jvm底层,了解原理
3.tomcat调优
4.深入mysql轻松解决亿级数据
在这里我向大家推荐一个架构学习交流。交流学习群号:747981058 里面会分享一些资深架构师录制的视频录像:有spring,mybatis,netty源码分析,高并发、高性能、分布式、微服务架构的原理,jvm性能优化、分布式架构等这些成为架构师必备的知识体系。
上一篇: MongoDB用户和密码登录