程序员天天 CURD,怎么才能成长,职业发展的思考 ?
前言
关于程序员成长的话题,我前面写过一篇文章 - 程序员天天CURD,职业生涯怎么发展的思考。
现在回头看,对程序员这个职业发展的认识以及怎么发展还是有一些局限性。有一句话是这么说的:人的成长就是不断认为以前的自己是一个“傻逼”的过程。这句话用词很激烈但成长也许就是如此。人要不断扩大、精进以前的认知,甚至颠覆自己以前的认知,自己才有可能一步一步成长。
“不断颠覆掉以前的自己,人才能成长”。
根据工作年限划分
这里我根据工作年限来划分,人处于不同时间节点、发展阶段来进行说明。我想这样划分,应该会更有一点指导意义。
工作 0 - 3 年
从刚毕业的毕业生到进入职场工作的职场人,人的角色发生了转变。头 3 年也是关键的 3 年,会给你以后的发展奠定一个发展基础,良好的开局就是为以后打牢发展地基,地基稳了,那么以后在上面建立高耸入云的“职业大厦”就会更稳。
第一年进入职场,要熟悉职场工作环境,职场人之间的工作关系,了解工作的业务逻辑和流程等等,这是关于工作上相关事情。
这个期间做 CURD 的工作是避免不了的,因为刚开始编写商业代码,都会从最简单的 CURD 开始,慢慢才会做一些高级的编码工作。
那么自己的成长呢?
我觉得重点学习还是放到技术上,在这 3 年时间里努力提升自己的技术,围绕某一编程语言或某一业务领域需要的技术,来打造自己的技术体系。
比如围绕 java 相关技术,它的技术体系是怎么样的?自己可以编写一个思维导图,然后编写学习计划,根据这个计划来学习。
比如大模型 LLM 相关技术,它的技术体系是怎么样的?编写一个思维导图。
怎么编写思维导图内容呢?
- 第一:找相关书籍,看它的标题
- 第二:找相关大学教授的课程,国内和国外的
- 第三:一些大模型问答系统,如 ChatGPT,豆包,kimi 等
然后综合来编写出一个技术学习的思维导图,当然,如果自己有新的内容,可以随时调整内容。
比如 Java 相关技术学习的思维导图:

上面的这个学习导图只是举一个例子, 它只是 Java 技术学习的一部分,比如还有集合原理理解,Spring源码分析,设计模式,分布式,编码规范等等其它内容。
如果要深入技术学习,还有很多内容可以学。
学习优先级,就是先学习基础和日常业务常用到的内容。
编写了上面的学习路线图之后,就要制定相关的学习计划,什么时间到什么时间学习哪些内容。可以用 Google 日历制定学习计划,也可以用相关清单软件制定学习计划。
不光要看,还要自己动手练习写代码,写笔记 blog 记录学习的成果,最好能用自己的语言把理解的内容写出来,这样学习会更深刻。忘记了,还可以回头复习笔记。
还有一个要做的事,跟其他同学相互交流学习,写 blog 就是一个交流的渠道。
这个学习过程是一个慢慢的积累技术体系的过程,学习过程也许会很枯燥,但是如果你能坚持下来,一定会有收获。
量变引起质变,但是这个量是多少才会质变,不知道,只有自己慢慢的去积累这个量,质的零界点才有可能到来。
从初级工程师到高级工程师。
工作 4 - 6 年
工作 3 年后,对于业务编码上的事情应该都比较熟悉了,业务流程也熟悉了。这时候,也许你会带着几个人做一个小的业务,那么你的职责就变了 ,成为了一个基层管理者,你不只是完成自己的工作,还要关注你的组员工作情况,进行团队管理的相关工作。
你的工作职责变多了,你要给他们分配工作任务、监督他们的工作完成情况,要辅导他们进步。
这时候有一个关键思维转变,不在只关注自己的技术工作,还要辅导、监督你的组员工作情况;你不能只关注技术,还要关注人了,组员的工作、发展情况、团队氛围等等。
如果看到组员工作做的不好地方,你就自己动手去做,这是一个不好的做法,你应该去辅导组员,提高他的工作能力。即使他只能做到你的 60%,你也要放手让他去做,这样他才会在错误中学习并逐渐进步。这时你做的就是辅导他,然后监督他,不让他的工作出现大的风险。这个思想一定要转变过来,从纯技术思维向技术和管理思维转变。
不能总想着:总是出错,还不如我直接动手算了。
这个时期的你,就要学一些技术管理方面的知识了,可以看一些经典的管理书籍,比如德鲁克的。这里介绍一本书籍 《知行 技术人的管理之路》 ,适合技术管理的人学习。
当然,这个时期,你的技术也需要继续精进,不过不要像以前那样,投入 100% 的时间学习技术了,而是要列出重点技术来进行学习,有一部分时间要用来学习技术管理的知识。

参考
程序员天天 CURD,怎么才能成长,职业发展的思考 ?的更多相关文章
- 一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师,请教大神
一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师 LZ本人想往架构师发展, 业余时间也会看一些书籍, 但是感觉没有头绪, 有些书看了,也没有地方实践 我做了4年的java开发, 在一个公 ...
- 有感于三个50岁的美国程序员的生活状态与IT职业杂想
前言 这篇杂记其实是去年也就是 2013年9月30日写的,还上过博客园十日推荐的首页,后来在整理博客分类时七弄八弄误删掉了好多文章,就包括这一篇.今天,2014年9月29日,恰好恰好一年的时候居然在好 ...
- 转载——有感于三个50岁的美国程序员的生活状态与IT职业杂想
明天就是国庆节了,今天也不想干活干的太累了!写一篇以前去美国出差的杂想,对比于美国50多岁的程序员和大多数50多岁国内父母的生活状态有感而发. 前几年正好有一个项目的机会出差去了一次美国,地点是美国中 ...
- CleanArchitecture Application代码生成插件-让程序员告别CURD Ctrl+C Ctrl+V
这是一个根据Domain项目中定义的实体对象(Entity)生成符合Clean Architecture原则的Application项目所需要的功能代码,包括常用的Commands,Queries,V ...
- 【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ce8068d4d44a246f72baf2 Dev Club 是一个交流移动 ...
- 做什么职业,也别做程序员,尤其是Java程序员
千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地 ...
- 程序员的成长与规划 | 送签名书啦 | StuQ专访foruok
StuQ(InfoQ的朋友)对我做了一次专访,下面是原文. 福利:送一本签名版<你好哇,程序员>,参与方式在文末.
- Java程序员如何选择未来的职业路线
一.程序员的特性 技术出身的职场人特性很明显,与做市场.业务出身的职场人区别尤其明显.IT行业中常见的一些职场角色:老板.项目经理.产品经理.需求分析师.设计师.开发工程师.运维工程师等.开发工程师具 ...
- 程序员的职业方向: 是-->技术?还是-->管理?
岁之后还能不能再做程序员....... 绝大多数程序员最终的职业目标可能都是CTO,但能做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都 ...
- 80后程序员降薪6K,预感中年危机来袭,准备跳槽却碰壁
一提及程序员,很多人想到的都是“工资高”“技术好”诸如此类的,可见程序员是个非常赚钱的职业,所以每年都会有很多毕业生来选择这个行业. 但是社会是公平的,不要只看程序员表面上的光鲜亮丽,其背后也有很多的 ...
随机推荐
- AXI4自定义FPGA外设理论基础
AXI4自定义FPGA外设理论基础 1.理论目的 在前面的基于AXI4的自定义GPIO的实验中,大概地了解了AXI4的工作模式,即以寄存器为缓冲,实现操作和传输.那个实验只是将自定义的FPGA连接到现 ...
- .net跨平台运行实践
一个偶然的机会,一个朋友想做一个程序,同时支持windows和linux,本来想用go来写,奈何不太熟练,突然想到.net不是也支持跨平台了吗,还没有操作过,刚好可以试验一下. 最新的.net 6已经 ...
- #轮廓线dp#HDU 1400 Mondriaan's Dream
题目传送门 分析 状压dp会TLE,考虑用轮廓线dp, 设 \(dp[i][j][S]\) 表示现在处理到 \((i,j)\) 这个位置轮廓线上状态为 \(S\) 的情况 二进制位为1表示左边或者上方 ...
- #状压dp,拓扑排序,内向基环树#CF1242C Sum Balance
题目 有 \(k\) 个盒子, 第 \(i\) 个盒子有 \(n_i\) 个数. 保证所有数互不相同. 从每个盒子各拿出一个数, 并按照某种顺序放回去(每个盒子恰好放入一个数). 判断是否能使操作后所 ...
- 寻找OpenHarmony「锦鲤」|万元豪礼+技术干货全是你的!
开源项目 OpenHarmony 是每个人的 OpenHarmony 战"码"先锋第二期蓄力出发! 同时,我们也推出了全网寻找开源锦鲤的活动 只为每一位参与OpenHarmony开 ...
- [洛谷P3961,TJOI2013]黄金矿工题解
这无疑是一个分组背包问题,斜率是分组的依据,组内物品则是这个斜率下金块的价值与重量的前缀和. 发现很多人的都是用的double储存斜率,其实我们可以用分数的方法保存,这就需要一个gcd. 然后我们用m ...
- Python 集合(Sets)2
访问项 您无法通过引用索引或键来访问集合中的项.但是,您可以使用for循环遍历集合项,或者使用in关键字检查集合中是否存在指定的值. 示例,遍历集合并打印值: thisset = {"app ...
- CTFshow Reverse 逆向4 学习记录
题目 分析过程 是一个无壳,64位的文件 丢到IDA里面,找到main函数 1 int __cdecl __noreturn main(int argc, const char **argv, con ...
- redis 简单整理——redis 的键管理[七]
前言 简单整理一下redis的键管理. 正文 单个键管理 键重命名 rename key newkey 为了防止被强行rename,Redis提供了renamenx命令,确保只有newKey 不存在时 ...
- 我自己的JdbcTemplate
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import jav ...