工作五年小结 | 面对不确定性快速上升的外部环境,我们该如何寻求突破?

news/2024/11/14 17:24:50/文章来源:https://www.cnblogs.com/Jcloud/p/18392376

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% 的技能将因快速的技术进步而改变。持续学习可以帮助我们跟上这些变化,不被时代淘汰。
个人成长与发展:通过持续学习,我们可以扩展自己的知识面,有朝一日也会运用到工作中去解决问题。
保持心理健康:持续学习有助于保持大脑活跃,预防认知衰退,并且可以带来心理上的满足感和幸福感,扩展阅读“锻炼大脑,这里有一套全指南”。

2.2.2 制造正反馈

正反馈能提供持续学习的动力,适当的正反馈也有利于习惯的培养。我目前通过分享来获得正反馈,分享带来的阅读量、评论、点赞和收藏都会促使我继续学习并分享,而且反馈中的建议也很宝贵,能够指出我的知识盲区。目前保持了两个分享习惯:

每月在神灯社区发表一篇文章

要特别感谢神灯社区,从去年10月发布第一篇文章开始,我基本保持一月一篇的频率,神灯社区的互动和积分给我带来了大量的正反馈,提供了我持续学习的动力ღ( ´・ᴗ・` )。

 文章
2023.10 浅析“代码可视化”
2023.11 【代码可视化实践】代码变更影响分析
2024.1 想提高阅读代码的效率?试试这些工具吧!
2024.2 “代码可视化”导图
2024.3 实现“代码可视化”需要了解的前置知识-编译器前端
2024.4 离开工位老是忘记锁屏?试着让电脑自动完成这事吧!
2024.5 实现“代码可视化”需要了解的前置知识-编译器中端
2024.5 看不懂正则表达式?试试可视化工具吧!
2024.6 没时间了解技术热点?让大模型帮你整理重点吧!
2024.7 用 AI 解锁技术调研的新姿势
2024.8 2024黑马海选 | 不做牛马队-孤岛函数治理
2024.8 2024黑马初赛 | 不做牛马队-孤岛函数治理(完结)
每周将感兴趣的内容整理为技术周刊

写周刊的目的是提高知识的留存率,当然也能带来各种正反馈😁。目前已经坚持了两个月,虽然会牺牲周末半天时间且发布后也没啥阅读量😭,但基本的目的达成了,希望能保持下去。感兴趣的同学可搜索公众号“肖恩杂谈”订阅一下🥺,历史文章查看:技术周刊合集shawn-weekly

 


 

2.2.3 相信复利效应

 


 

复利是世界第八大奇迹”,谣传是爱因斯坦所说,但无据可查。不过不管是谁说的,复利本身带来的效果是可观的,下面是一个简单的复利公式(F为收益,P为本金,i为利率,n为时间)。

 

 

 

根据公式我们只需要每天比昨天的自己进步0.1%,那么一年后的个人能力将比一年前的自己提升44.03%(1*(1+0.001)^365-1),虽然这是理想数据,但足以说明持续学习的效果是可观的。

我也在用实际的行动验证,24年初立了个Flag🚩:写一本关于“代码可视化”的GitBook,目前《Code Visualization》在持续施工中,希望有生之年能写完吧😁,感兴趣的朋友可以先睹为快,提提建议。

 


 

3. 未来展望

按照前文的思路进行积累,可能会出现知识储备了很多但工作中实际用到很少,导致一些割裂感。出现这种情况不能武断的认为学的东西没有用,很可能只是在当前的场景下暂时还用不上。知识的储备和应用就像树木地下和地上部分,根系越深越广,躯干部分才能茁壮成长。对于未来,我将继续践行自己的成长理论,并逐渐在工作中运用新学到的知识,产生价值。

 


 

4. 学习资料

由于每个人需要学习的内容不同,文中只给出了一些学习理论并没有提供实际的学习案例分享。在最后这里分享一下收集的部分学习资料(均来自网络),GitHub Stars合集“学习资料”会持续更新,大家如果有其他推荐也可以发在评论区。

千古前端图文教程
前端技能汇总 Frontend Knowledge Structure
《系统重构与迁移指南》
Hello 算法
free-programming-books
计算机电子书
CS自学指南
awesome
《动手学深度学习》
Java 全栈知识体系
freecodecamp
system-design-primer
awesome-software-architecture
generative-ai-for-beginners
30-Days-Of-Python
developer-roadmap
89 things I know about Git commits
java-design-patterns
coding-interview-university
Reverse Engineering For Everyone!
developer2gwy
build-your-own-x
everyone-can-use-english
python-whydo
algo
PL-Compiler-Resource

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/790935.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

像操作tar文件一样操作jar文件,让很多事情变得简单

原创 1024夜谭jar文件即Java归档文件,也称为jar包,是Java应用软件或库,通常聚合了大量的Java类文件、相关的元数据和资源文件。通常由构建工具产生,可以使用IDE、反编译工具或者Java诊断工具如Arthas等查看内容。 如果你对tar命令使用得心应手,那么你将发现jar操作与tar操…

Spearman相关性分析 —— 入门案例

简介 Spearman相关系数,也称为Spearman等级相关系数,是一种非参数的统计度量,用于评估两个变量之间的相关性,即它们是否以某种一致的方式一起变化。与皮尔逊相关系数不同,Spearman相关系数不假设数据是正态分布的,也不要求变量是线性关系。Spearman的检验 在统计学中,p值…

.NET 8.0 前后分离快速开发框架

前言 大家好,推荐一个.NET 8.0 为核心,结合前端 Vue 框架,实现了前后端完全分离的设计理念。它不仅提供了强大的基础功能支持,如权限管理、代码生成器等,还通过采用主流技术和最佳实践,显著降低了开发难度,加快了项目交付速度。 如果你需要一个高效的开发解决方案,本框…

一维卡尺边缘对

一、代码部分* 一维卡尺 边缘对read_image (Image, printer_chip/printer_chip_01)*打开助手操作生成代码* Measure 02: Code generated by Measure 02 * Measure 02: Prepare measurement AmplitudeThreshold := 40 RoiWidthLen2 := 5 set_system (int_zooming, true) * Measu…

mongodb 集合的导入导出

在新版本的mongodb中已经不默认安装这些工具,需要到mongodb网站单独下载 https://www.mongodb.com/try/download/database-tools 下载完成后使用scp D:\mongodb-tools.tgz root@8.143.49.192:/home/mongodb_tools.tgz命令将文件复制到linux服务器用 tar -zxvf demo.tar.gz -C …

nginx 版本升级 转载

Nginx 的版本最开始使用的是 Nginx-1.18.0 , 由于服务升级,需要将 Nginx 的版本升级到 Nginx-1.19.7 ,要求 Nginx 不能中断提供服务。 为了应对上述的需求,提供两种解决方案: 方案1: make upgrade 完成升级方案2: 服务信号 完成升级nginx 版本升级环境说明当前是 CentOS…

如何从 AWS CodeCommit 迁移到极狐GitLab?

本文将分享如何从 AWS CodeCommit 服务无缝迁移到极狐GitLab,并且使用极狐GitLab 的一体化 DevSecOps 平台功能来进行软件研发。2024 年 7 月 25 日,AWS 官方发布了一则重要通知:旗下的代码托管服务 AWS CodeCommit 服务将不再接受新用户的注册,老用户可以继续使用,但是该…

【验证码逆向专栏】某某邮政滑块逆向分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术…

PyTorch从入门到放弃之张量模块

目录张量的数据类型torch.rand()函数torch.randn()函数torch.normal()函数torch.linspace()函数torch.manual_seed()函数torch.ones()、torch.zeros()、torch.eye()张量的基本操作增加和删除维度交换维度拼接和分割堆叠和分解索引和切片基本数学运算元素求和按索引求和元素乘积…

Windows + macOS n合一 安装U盘制作

还不会制作MacOS多合一+Windows系统U盘?分享一个制作macOS和Windows双系统U盘的方法,macOS系统以macOS10.15.7和11.5.2为例(12和13制作方法一样,只是制作的命令不一样,Window PE系统以微PE为例子,准备工作如下: 1、第一步准备好一个32GU盘; 2、准备一台Windows电脑; …