程序员 35 岁危机,如何破局 ?( 三 )

3.2 架构和设计 
架构师是很多开发者的终极技术梦想,能成为架构师的凤毛麟角 。
但是,每个人都必须要架构和设计软件的能力!
如果你没有架构、设计的能力,就无法站在更高维度去理解软件开发,就必然被迫奋战在最简单也最容易被替代的体力化的编码工作岗位,而这样的岗位,必然是拒绝大龄程序员的 。
所以,即便你还不是架构师,也不是技术经理,也不是管理人员,也不是需求分析师,你也需要在日常工作中拔高一点,经常性的、刻意地去想一想,系统的模块为什么这么划分,服务间的接口为什么这么设计,这个业务逻辑为什么要这样实现而不是那样实现 。
惟其如此,你才能慢慢理解别人的架构与设计,才能慢慢培养自己的架构与设计能力 。
 
3.3 业务能力 
所有开发者都要记住一点,开发者具有双重的行业属性:软件行业属性和软件所要解决的问题所属行业的属性 。
软件所要解决的问题,就是我们通常所说的业务 。比如支付宝的业务是支付问题,京东商城的业务是电子商务问题,携程的业务是机票和酒店预订问题 。
精通业务,可以成为开发者的优势,这是开发者在问题域构建起来的优势,即所谓的懂行 。
如果业务积累方面的优势和开发技能方面的优势能叠加起来,那这位开发者,就具有秒杀 85% 以上开发者的能力 。
再比如,目前国内技术人员太多,可替代性太强,做 JAVA 搞业务开发的,无非就是 Spring boot + MyBatis + MySQL,需要上微服务就采用 Spring Cloud 全家桶,通用型太强 。
而如果你既懂技术又熟悉核心业务流程,比如熟悉电商平台、支付系统、风控系统等的核心业务流程,那么你在团队的地位一定稳如泰山 。
 
3.4 软技能 
《软件架构师的 12 项修炼》这本书里给出了软件架构师的金字塔能力模型:

程序员 35 岁危机,如何破局 ?

文章插图
这个模型,适用于绝大多数软件开发工程师,在这本书里,作者说这么一句话 。
大多数时候所谓的“技术之玻璃天花板”,其实只是缺乏软技能而已 。这些技能可以学到,缺乏的知识可以通过决定改变的努力来弥补 。
我们每位开发者都要牢记这句话,要清醒地意识到:
 
  1. 不深入钻研,缺乏开发技术等硬技能,你很难在初期的职业生涯(0 ~ 5 年)中做出成绩占据重要位置
  2. 没有沟通、协商、领导力、语境切换、创新、认知等软技能,你很难在职场上走出高度
 
所以,在你掌握一定的开发技术可以搞定一些任务后,就要并行地去培养自己的软技能,比如沟通、表达、协商、演讲、辅导、写作、组织、规划、管理、汇报、商务谈判、创新、设计等等 。
只有软技能匹配你的硬技能,你才能更好地发展,当你软硬结合,综合能力爆棚时,根本不用担心将来怎么找工作的问题,工作机会会跟着你跑,甚至有人会专门为你创造工作机会 。
【程序员 35 岁危机,如何破局 ?】 
4. 其它建议 
除了持续学习、往技术或者管理方向发展以外,我觉得有以下几点也需要重点关注 。
 
4.1 锻炼身体 
之所以写在最前面,因为身体是革命的本钱,有句话非常经典 。
身体是 1,其他都是 0,没有 1,再多的 0 都是空 。
 
4.2 拓展圈子 
越是成功的人,他的圈子就越广,资源也越多,人生的路自然就越走越宽 。
所以多向上拓展你的圈子,多走近结交那些正能量、有想法、志同道合的人 。
兴许下次换工作,是圈子里的人脉直接内推让你找到一份满意的工作,更有可能,圈子里的几个朋友因为某一个好点子直接走向创业之路 。
 
5. 写在最后 
再回到文章开头的问题,其实我 2 年前还很焦虑,但是现在不再焦虑,反倒信心更足了 。
我目前基本都是按照上面的轨迹去走,已经走了 2 年,各方面的软硬技能都已具备,所以在公司,基本不太担心被裁 。
可能有同学会问,那当你 35 岁以后,万一公司倒闭了呢 ?
如果自己还不到 40 岁,找一份大厂的工作,应该不难,如果到了 40 岁,我也完成一定的财富积累,手中有粮,心里不慌 。


推荐阅读