• 作者:老汪软件技巧
  • 发表时间:2024-09-03 11:02
  • 浏览量:

1. 前言

工作五年了,来京东马上满一年,前四年在开水团,不禁感叹时间过的真快啊!回想19年从西安交大硕士毕业孤身前往北京开始职业生涯,经历了孤独迷茫到自立坚定,再到23年下定决心携妻还蜀安家,并来到京东开始新的征程,这5年过的很快也很充实。

今年也是我的而立之年,感觉一迈过这个坎,眼前的世界就不一样了,事业上还未成气候,更多的生活琐事就开始扑面而来。网上有段子笑称现代的“五子登科”中的五子分别指的是“车子、票子、房子、妻子和孩子”,这个词本来表达的是人们对美好生活的向往,但旧词新义体现更多的是中年人的无奈。

英国物理学家霍金曾说“21世纪将是复杂性的世纪”,科学的事我不懂,但我的直观感受是各行各业的复杂性都在持续的上涨且很快。就程序员这个职业来说,面试的难度是越来越大,当然面试可能存在一定的造火箭行为,但工作整体的难度确实是在逐年上涨。举个例子,之前业务开发主要工作是完成需求编码,而且由于很多都是新开业务也不存在太多历史债务,工作的条线和职责比较清晰。但随着业务进入成熟期,增长变缓导致更多的运维负担和质量问题开始凸显,开发不仅要完成基本的编码,也需要参与到更多运维监控和质量保障工作中,这使得工作的内容变得复杂多样,认知负载极速增加。而且就算是基本的编码工作,为了保证能适应未来发展趋势也会在前期投入更多精力进行方案设计,越来越考验开发的知识储备和架构思维。

同时新的技术在不断地出现并对我们的工作造成实际的影响,从2022年12月OpenAi发布ChatGPT至今不到两年时间里,大模型已经侵入到了生活中的方方面面。哪个程序员敢说自己完全没有用过大模型,基于大模型衍生的编码辅助、智能问答、内容&图片生成等工具真真切切的影响到了我们工作的方式。开发已然变成了一个复合型职业,对个人能力提出了更高要求。

外部环境的走向不是个人能够左右的,因此我不聊公司或城市的差异,也不聊如何和生活琐事对线,仅仅聊一下“个人成长”,因为这个话题的主动权掌握在我们自己手上,最好的投资就是投资自己(想到A股)。那么在这个复杂性快速上升的21世纪,面对不确定性上升的外部环境,我们该如何寻求突破呢?我当前的答案是:持续学习,制造正反馈,相信复利效应。

2. 收获2.1 业务理解

目前参与的业务方向具有保密性质并逐渐进入成熟期,系统架构也逐渐趋于稳定,日常的工作内容更多投入在技术支持、运维监控和质量保障上,系统功能迭代频率下降,部分开发精力投入在提效工具建设上。由于项目保密性质,这里就不展开说明业务上的具体工作内容,仅对如何快速了解业务知识和熟悉系统代码进行总结。

2.1.1 了解业务

我学习业务知识的基本思路是“读->想->写->讲”四步循环,下面是具体的执行步骤,其中步骤2→6我会多跑几轮,逐渐建立起深入的业务认识。

① 信息收集:尽可能检索业务和系统相关的文档、分享视频、代码和配置数据等;

② 信息整合:从用户视角出发串联业务流程,并将流程拆分成独立的功能模块。整合不仅仅聚焦于负责的业务,也要考虑到上下游;

③ 功能细化:针对业务各个模块进行细化,包含模块主要功能、输入输出定义和交互中间件等,思路可以参考C4模型;

④ 文档沉淀:将理解的内容整理成文档,从背景、名词、现状、未来发展等方面进行叙述,串联业务和系统整个生命周期;

⑤ 业务串讲:将总结的内容分享出来,并收集熟悉业务听众的反馈(收集反馈很重要,老同事能够指出难以发现的细枝末节并分享一些历史原因导致的设计缺陷);

⑥ 认知迭代:基于新的输入重新迭代自己的业务认知。

2.1.2 熟悉代码

可以找之前负责的同事领读,不过这种方式只能对项目有一个大致的认识,具体的细节很难面面俱到。熟悉代码没有捷径,只能通过阅读代码,但阅读代码是有方法的。关于如何高效阅读代码我还没有总结出一套完整的方案,不过大体的思路是方法+工具结合方式:从系统入口开始,结合业务完整跑通核心链路,若有不懂的逻辑可以使用debug或代码分析工具,边读边做好笔记,并最好进行一次代码串讲收集反馈。下面推荐一些经验总结:

① 阅读代码方法:如何阅读代码、how-to-interrogate-unfamiliar-code、如何高效阅读源代码

② 阅读代码工具:想提高阅读代码的效率?试试这些工具吧!

不过工具和方法永远不是最重要的,去读,并在遇到困难的时候,看不明白的时候,咬牙坚持下去,抽丝剥茧,逐个击破。

2.2 技术提升

技术能力是开发的立足之本,因此前言中提到的寻求突破更多指的是技术能力上的突破,提升的方法我采取三步走:持续学习,制造正反馈,相信复利效应。

2.2.1 持续学习

为什么需要持续学习,说白了是为了适应社会发展和保持个人竞争力,只出不进,我们将很快达到能力瓶颈。

•应对快速变化的世界:世界经济论坛2020年的一份报告说到 2025 年,员工执行工作所需的 44% 的技能将因快速的技术进步而改变。持续学习可以帮助我们跟上这些变化,不被时代淘汰。

•个人成长与发展:通过持续学习,我们可以扩展自己的知识面,有朝一日也会运用到工作中去解决问题。

•保持心理健康:持续学习有助于保持大脑活跃,预防认知衰退,并且可以带来心理上的满足感和幸福感,扩展阅读“锻炼大脑,这里有一套全指南”。