前言

关于程序员成长的话题,我前面写过一篇文章 - 程序员天天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. KingbaseES V8R3 集群运维案例--kingbase_monitor.sh启动”two master“案例

    案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...

  2. 连接Windows 平台 KingbaseES异常

    概述 应用连接Windows平台的KingbaseES 数据库,报错"com.kingbase8.util.KSQLException: 致命错误: 用户"system" ...

  3. Android实现简单登录界面

    LoginActivity 1 package com.example.myapplication; 2 3 import android.os.Bundle; 4 import android.vi ...

  4. MySQL字符集和语言

    字符集和校对顺序   数据库表被用来存储和检索数据.不同的语言和字符集需要以不同的方式存储和检索.因此,MySQL需要适应不同的字符集(不同的字母和字符),适应不同的排序和检索数据的方法. 在讨论多种 ...

  5. #链表#CF706E Working routine

    题目 给出一个 \(n*m\) 的矩阵,每次交换两个等大的矩阵,输出 \(q\) 次操作后的矩阵 分析 维护向右和向下的指针,考虑最后输出只需要从每行的头指针向右跳, 那么修改实际上是将矩阵左边一列. ...

  6. #树链剖分,LCA#洛谷 3398 仓鼠找sugar

    题目 多次询问求树上的两条路径是否有公共点 分析 有公共点当且仅当一条路径的LCA在另一条路径上, 否则一定会形成一个环,那树剖求LCA判断一下LCA是否在另一条路径上即可 代码 #include & ...

  7. CentOS 9 x64 使用 Nginx、Supervisor 部署 Go/Golang 服务

    前言 在 CentOS 9 x64 系统上,可以通过以下步骤来部署 Golang 服务. 1. 安装必要的软件包 安装以下软件包: Golang:Golang 编程语言 Nginx:Web 服务器 S ...

  8. 【FAQ】运动健康服务云侧数据常见问题及解答

    目录 Q1:v2接口相比于v1接口传参及返回的数据格式有变化吗?是否可以直接将v1接口改成v2接口? Q2:如何获取采集健康数据的穿戴设备信息? Q3:如何处理非华为手机产生的步数调用采样明细接口查询 ...

  9. 高并发场景QPS等专业指标揭秘大全与调优实战

    高并发场景QPS等专业指标揭秘大全与调优实战 最近经常有小伙伴问及高并发场景下QPS的一些问题,特意结合项目经验和网上技术贴做了一些整理和归纳,供大家参考交流. 一.一直再说高并发,多少QPS才算高并 ...

  10. 把vim配置成顺手的python轻量级IDE(一)

    把vim配置成顺手的python轻量级IDE(一) 地球的外星人君 Linux云计算和Python推动市场提升的学习研究者. 分享一篇文章,正好最近正在折腾VIM,原文在把vim配置成顺手的pytho ...