• 程序员天天 CURD,怎么才能成长,职业发展的思考 ?


    前言#

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

    根据工作年限划分#

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

    工作 0 - 3 年#

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

    第一年进入职场,要熟悉职场工作环境,职场人之间的工作关系,了解工作的业务逻辑和流程等等,这是关于工作上相关事情。
    这个期间做 CURD 的工作是避免不了的,因为刚开始编写商业代码,都会从最简单的 CURD 开始,慢慢才会做一些高级的编码工作。

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

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

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

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

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

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

    image

    上面的这个学习导图只是举一个例子, 它只是 Java 技术学习的一部分,比如还有集合原理理解,Spring源码分析,设计模式,分布式,编码规范等等其它内容。如果是技术应用呢,又是一个大的主题,比如电商,社交等等。
    由此可见,要深入技术和应用的学习,还有很多内容可以学。

    学习优先级,就是先学习基础和日常业务常用到的内容。然后学习技术的深度,比如java相关技术方面原理等

    思维导图学习:这是一个很好的思考和学习方法 - 系统思维 或 整体思维 。对一个事物进行系统的学习,而不是部分学习。如果只是部分学习,那么就像盲人摸象似的。学习事物要能体系化。
    为什么要体系化?因为相关知识之间是有关联性的,要把新学的知识关联到我们已有的经验和知识结构中,让知识之间产生联系,这个过程将帮助我们更透彻理解所学的知识,也构建了一个知识网络。

    问题学习:带着问题来学习,优先学习日常业务遇到问题的技术,思考用哪些好的技术可以便利的解决这些问题。这就是学以致用。

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

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

    知行合一:无论怎么精密的计划,如果不付诸行动,去一步一步按照计划实施行动,那都是“纸上谈兵”,不会对你的发展成长起到任何作用。

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

    这个学习过程是一个慢慢的积累技术体系的过程,学习过程也许会很枯燥,但是如果你能坚持下来,一定会有收获。
    量变引起质变,但是这个量是多少才会质变,不知道,只有自己慢慢的去积累这个量,质的零界点才有可能到来。
    从初级工程师到高级工程师。

    工作 4 - 6 年#

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

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

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

    这个时期的你,就要学一些技术管理方面的知识了,可以看一些经典的管理书籍,比如德鲁克的。这里介绍一本书籍 《知行 技术人的管理之路》 ,适合技术管理的人学习。
    当然,这个时期,你的技术也需要继续精进,不过不要像以前那样,投入 100% 的时间学习技术了,而是要列出重点技术来进行学习,有一部分时间要用来学习技术管理的知识。

    image


    大家对文章有不同意见或反对的地方,非常欢迎大家留言,我们共同探讨这个话题。
    这本来就是一个开放的话题,大家一起讨论、探讨,才可能激发出更好的解题方法。

    也可以来公号讨论 - 九卷技术录 程序员天天 CURD,怎么才能成长,职业发展的思考

    参考#

  • 相关阅读:
    排序 “叁” 之交换排序
    Linux之(5)账户和shell基础知识
    Qt项目天气预报(1) - ui界面搭建
    web3.0入门及学习路径
    Creo 9.0 基准特征:基准平面
    golang和mysql中的数据类型的对应
    ruoyi-vue版本框架(一)如何下载源码,并且在本地启动
    uniapp如何实现路由守卫、路由拦截,权限引导
    基础课24——开放域QA问答
    文化融合与社交网络:Facebook的角色
  • 原文地址:https://www.cnblogs.com/jiujuan/p/18170433