前言

关于程序员成长的话题,我前面写过一篇文章 - 程序员天天CURD,职业生涯怎么发展的思考

现在回头看,对程序员这个职业发展的认识以及怎么发展还是有一些局限性。有一句话是这么说的:人的成长就是不断认为以前的自己是一个“傻逼”的过程。这句话用词很激烈但成长也许就是如此。人要不断扩大、精进以前的认知,甚至颠覆自己以前的认知,自己才有可能一步一步成长。

“不断颠覆掉以前的自己,人才能成长”。

根据工作年限划分

这里我根据工作年限来划分,人处于不同时间节点、发展阶段来进行说明。我想这样划分,应该会更有一点指导意义。

工作 0 - 3 年

从刚毕业的毕业生到进入职场工作的职场人,人的角色发生了转变。头 3 年也是关键的 3 年,会给你以后的发展奠定一个发展基础,良好的开局就是为以后打牢发展地基,地基稳了,那么以后在上面建立高耸入云的“职业大厦”就会更稳。

第一年进入职场,要熟悉职场工作环境,职场人之间的工作关系,了解工作的业务逻辑和流程等等,这是关于工作上相关事情。

这个期间做 CURD 的工作是避免不了的,因为刚开始编写商业代码,都会从最简单的 CURD 开始,慢慢才会做一些高级的编码工作。

那么自己的成长呢?

我觉得重点学习还是放到技术上,在这 3 年时间里努力提升自己的技术,围绕某一编程语言或某一业务领域需要的技术,来打造自己的技术体系。

比如围绕 java 相关技术,它的技术体系是怎么样的?自己可以编写一个思维导图,然后编写学习计划,根据这个计划来学习。

比如大模型 LLM 相关技术,它的技术体系是怎么样的?编写一个思维导图。

怎么编写思维导图内容呢?

  • 第一:找相关书籍,看它的标题
  • 第二:找相关大学教授的课程,国内和国外的
  • 第三:一些大模型问答系统,如 ChatGPT,豆包,kimi 等

然后综合来编写出一个技术学习的思维导图,当然,如果自己有新的内容,可以随时调整内容。

比如 Java 相关技术学习的思维导图:

上面的这个学习导图只是举一个例子, 它只是 Java 技术学习的一部分,比如还有集合原理理解,Spring源码分析,设计模式,分布式,编码规范等等其它内容。

如果要深入技术学习,还有很多内容可以学。

学习优先级,就是先学习基础和日常业务常用到的内容。

编写了上面的学习路线图之后,就要制定相关的学习计划,什么时间到什么时间学习哪些内容。可以用 Google 日历制定学习计划,也可以用相关清单软件制定学习计划。

不光要看,还要自己动手练习写代码,写笔记 blog 记录学习的成果,最好能用自己的语言把理解的内容写出来,这样学习会更深刻。忘记了,还可以回头复习笔记。

还有一个要做的事,跟其他同学相互交流学习,写 blog 就是一个交流的渠道。

这个学习过程是一个慢慢的积累技术体系的过程,学习过程也许会很枯燥,但是如果你能坚持下来,一定会有收获。

量变引起质变,但是这个量是多少才会质变,不知道,只有自己慢慢的去积累这个量,质的零界点才有可能到来。

从初级工程师到高级工程师。

工作 4 - 6 年

工作 3 年后,对于业务编码上的事情应该都比较熟悉了,业务流程也熟悉了。这时候,也许你会带着几个人做一个小的业务,那么你的职责就变了 ,成为了一个基层管理者,你不只是完成自己的工作,还要关注你的组员工作情况,进行团队管理的相关工作。

你的工作职责变多了,你要给他们分配工作任务、监督他们的工作完成情况,要辅导他们进步。

这时候有一个关键思维转变,不在只关注自己的技术工作,还要辅导、监督你的组员工作情况;你不能只关注技术,还要关注人了,组员的工作、发展情况、团队氛围等等。

如果看到组员工作做的不好地方,你就自己动手去做,这是一个不好的做法,你应该去辅导组员,提高他的工作能力。即使他只能做到你的 60%,你也要放手让他去做,这样他才会在错误中学习并逐渐进步。这时你做的就是辅导他,然后监督他,不让他的工作出现大的风险。这个思想一定要转变过来,从纯技术思维向技术和管理思维转变。

不能总想着:总是出错,还不如我直接动手算了。

这个时期的你,就要学一些技术管理方面的知识了,可以看一些经典的管理书籍,比如德鲁克的。这里介绍一本书籍 《知行 技术人的管理之路》 ,适合技术管理的人学习。

当然,这个时期,你的技术也需要继续精进,不过不要像以前那样,投入 100% 的时间学习技术了,而是要列出重点技术来进行学习,有一部分时间要用来学习技术管理的知识。

参考

程序员天天 CURD,怎么才能成长,职业发展的思考 ?的更多相关文章

  1. 一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师,请教大神

    一个4年工作经验的java程序员的困惑,怎样才能能为一个架构师 LZ本人想往架构师发展, 业余时间也会看一些书籍, 但是感觉没有头绪, 有些书看了,也没有地方实践 我做了4年的java开发, 在一个公 ...

  2. 有感于三个50岁的美国程序员的生活状态与IT职业杂想

    前言 这篇杂记其实是去年也就是 2013年9月30日写的,还上过博客园十日推荐的首页,后来在整理博客分类时七弄八弄误删掉了好多文章,就包括这一篇.今天,2014年9月29日,恰好恰好一年的时候居然在好 ...

  3. 转载——有感于三个50岁的美国程序员的生活状态与IT职业杂想

    明天就是国庆节了,今天也不想干活干的太累了!写一篇以前去美国出差的杂想,对比于美国50多岁的程序员和大多数50多岁国内父母的生活状态有感而发. 前几年正好有一个项目的机会出差去了一次美国,地点是美国中 ...

  4. CleanArchitecture Application代码生成插件-让程序员告别CURD Ctrl+C Ctrl+V

    这是一个根据Domain项目中定义的实体对象(Entity)生成符合Clean Architecture原则的Application项目所需要的功能代码,包括常用的Commands,Queries,V ...

  5. 【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ce8068d4d44a246f72baf2 Dev Club 是一个交流移动 ...

  6. 做什么职业,也别做程序员,尤其是Java程序员

    千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地 ...

  7. 程序员的成长与规划 | 送签名书啦 | StuQ专访foruok

    StuQ(InfoQ的朋友)对我做了一次专访,下面是原文. 福利:送一本签名版<你好哇,程序员>,参与方式在文末.

  8. Java程序员如何选择未来的职业路线

    一.程序员的特性 技术出身的职场人特性很明显,与做市场.业务出身的职场人区别尤其明显.IT行业中常见的一些职场角色:老板.项目经理.产品经理.需求分析师.设计师.开发工程师.运维工程师等.开发工程师具 ...

  9. 程序员的职业方向: 是-->技术?还是-->管理?

    岁之后还能不能再做程序员....... 绝大多数程序员最终的职业目标可能都是CTO,但能做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都 ...

  10. 80后程序员降薪6K,预感中年危机来袭,准备跳槽却碰壁

    一提及程序员,很多人想到的都是“工资高”“技术好”诸如此类的,可见程序员是个非常赚钱的职业,所以每年都会有很多毕业生来选择这个行业. 但是社会是公平的,不要只看程序员表面上的光鲜亮丽,其背后也有很多的 ...

随机推荐

  1. 可变形卷积系列(三) Deformable Kernels,创意满满的可变形卷积核 | ICLR 2020

    论文提出可变形卷积核(DK)来自适应有效感受域,每次进行卷积操作时都从原卷积中采样出新卷积,是一种新颖的可变形卷积的形式,从实验来看,是之前方法的一种有力的补充.   来源:晓飞的算法工程笔记 公众号 ...

  2. 从bootstrap源码中学习Sass(一)

    可以在github看代码,非常方便:https://github.com/twbs/bootstrap/blob/main/scss/_variables.scss 就是有时候网络差. 基础用法 sc ...

  3. #树状数组,欧拉函数#CF594D REQ

    题目 给定 \(n\) 个数,求 \(\varphi(\prod_{i=l}^r{a_i})\) 分析 考虑单个欧拉函数的求法,只需要求出这个数的质因数计算即可. 那么考虑离线,枚举右端点,记录每个质 ...

  4. 全面的开发者文档和用户目标解析:API 文档指南和开发者旅程

    开发者文档 开发者文档,也称为 API 文档,是一种专门针对软件开发人员的技术写作形式.这种类型的文档通常包括 API 的技术规范.代码注释.软件设计和架构以及软件开发中涉及的其他详细技术描述.开发者 ...

  5. MyBatis 应用的组成

    王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 大家好,我是王有志.在上一篇文章的最后,我们写了一个简单的例子,今天我们就通过这个例子来看一看一个标准的 ...

  6. 第十五篇:JavaScript 之 Dom操作

    一.后台管理页面布局 主站布局 <div class="pg-header"></div> <div style="width:980px; ...

  7. go语言结构体使用小结

    转载请注明出处: 在Go语言中,结构体(struct)是一种复合数据类型,它允许你将多个不同类型的字段组合成一个单一的类型.结构体为数据的封装和抽象提供了便利,使得数据组织更加清晰和易于管理. 结构体 ...

  8. 重学c#系列—— 简单编写一个guid [娱乐篇]

    前言 什么是guid? 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的 ...

  9. 重新点亮shell————函数[七]

    前言 简单整理一下函数. 正文 自定义函数: function fname(){ 命令 } 函数的执行: fname 函数作用范围的变量: local 变量名 函数的参数 $1 $2 $3 .... ...

  10. Linux下的权限(角色,文件权限)

    目录 1.什么是权限 2.文件类型及权限 ①Linux文件类型: ②剩余9个字符对应的含义: ③文件权限值的表示方法(进制法) 3.如何操作权限 3.1改变权限的命令操作 chmod #change ...