程序员的自我修养

简介: 一、自我修养路线图      如图,这是笔者所走的路。且不论这路走的对不对,这个过程中行业环境会影响到你,大可不必钻牛角尖。附上这张图的目的是为了说,如果你想成为一个优秀的程序员,那么你一定要有规划。

一、自我修养路线图

  

  如图,这是笔者所走的路。且不论这路走的对不对,这个过程中行业环境会影响到你,大可不必钻牛角尖。附上这张图的目的是为了说,如果你想成为一个优秀的程序员,那么你一定要有规划。当然,别想着一毕业就能规划的很远,很难,而且也不可能。因为这个过程中行业环境会影响到你。有一点是要做到的,毕业一年左右,一定要有一个相对远一点的规划,这时候你已经对行业环境和一些常用技能有了相应的积累。规划一下接下来1-2个阶段(或者更多)要达到的水平和时间点,然后倒排期(尽量详细),一步一步走下去,水到渠成。再往下,你肯定就有自己的想法了。一般,关注几个时间点是:毕业3年、毕业5年。再往后笔者也要摸索。总之,一定要有规划,循序渐进的规划。附录中有些文章也许对你我有帮助。

二、程序员知识图谱

  笔者曾经根据互联网架构的发展史把主流的技术串起来想成一篇图文文档,以便理解技能的更迭以及技能之间的联系。不管你用什么方式(图表、思维导图、文档等)一定要有自己的知识图谱。为什么?

  1. 知识网络:知识之间发生反应,有利于更快的利用知识解决问题;
  2. 良性循环:知识体系->知识漏洞->知识学习->知识体系...

  注:Java工程师知识图谱

三、优秀程序员的几个特质

  1. 自学能力强,互联网行业知识的更迭速度快,没有很强的学习能力和主动学习能力,会越来越力不从心,最终...
  2. 逻辑思维能力强
    • 同样的业务逻辑,别人用50行代码实现,你却用100行,为什么?
    • 知识面相同,为什么别人可以借助这些知识找到问题的解决方法,而你却不可以?

      方法:

    • 技能实践,一项技能,不单单只是学会就行了。多实践,工作中无法体现,也要构造场景来实践。印证其使用场景、优势和劣势。
    • 问题复盘,别人用你知道的知识解决了问题,而你没有,想他请教。复盘,走一遍他的思维过程。另外,查询资料,思考下有没有更好的方案。
    • 知识碾压,你的知识比别人高出一个层面,及时逻辑思维弱点也能够用很好的解决问题的方案。
    • 逻辑训练,有事没事多做一些算法题和一些逻辑推理题,做的多了,思路就广了。
  3. 搜索+综合运用能力强,能快速查到的知识,只有能很好的综合运用即可,减少学习成本。
  4. 执行力强,想好了就去做,拖拖拉拉,终将蹉跎岁月。
  5. 抗压能力强,好的公司,工作强度大,而且不允许犯错,一旦出现线上事故,是你不能承受的。
  6. 善于总结,一个需求不是做完了就完了。总结一些收获和教训,这都是难得的经验积累。一个问题从出现到解决,复盘,整理出文档。坚决不要在一个坑里跌倒两次。
  7. 分工合作,或许一个人走的很快,但一群人能走的更远。

四、如何保持技术的先进性?

  1. 经常浏览招聘网站;
  2. 关注一些行业和技术公众号。

五、如何快速学习一项技能?

  1. 百度或谷歌科普 -> 是什么、场景、用途等;
  2. HelloWorld很重要,去官网,先写出一个demo;
  3. 结合官方文档或者优秀的中文教程针对性(你要用它来干什么)学习;
  4. 实现原理,甚至源码。

六、为何而编程?

  使命

  难道只是因为你是计算机相关专业出身吗?不然,既然从事软件行业,还是要有使命感的。国内软件行业的蓬勃发展,对你我而言赶上好时候了。在这个浪潮中,何不学有所用,为中国的软件行业做些贡献呢?为中华软件之崛起而编程,共勉。这是态度,也是使命。也许一开始可以影响一个人,渐渐的能影响更多的人,更多的人影响更多的人,我们国内的软件环境才能呈现可持续的正向发展。

  愿景

  但愿程序员皆因喜欢二编程。不然你得多痛苦。另外,程序员这个职业是可以做很久的,不是吃青春饭的

七、附录

  Codelife不知代码,笔者阅读调整并做了标记。

作者: 尜尜人物
使命:为中华软件之崛起而编程
愿景:愿程序员皆因喜欢而编程
相关文章
|
NoSQL Unix Linux
Redis核心技术与实践 03 | 高性能IO模型:为什么单线程Redis能那么快?
Redis核心技术与实践 03 | 高性能IO模型:为什么单线程Redis能那么快?
|
JavaScript 前端开发 应用服务中间件
Vue项目如何进行部署?是否有遇到部署服务器后刷新404问题?
Vue项目如何进行部署?是否有遇到部署服务器后刷新404问题?
335 0
|
8月前
|
JavaScript 前端开发 数据安全/隐私保护
Vue Router 简介
Vue Router 是 Vue.js 官方的路由管理库,用于构建单页面应用(SPA)。它将不同页面映射到对应组件,支持嵌套路由、路由参数和导航守卫等功能,简化复杂前端应用的开发。主要特性包括路由映射、嵌套路由、路由参数、导航守卫和路由懒加载,提升性能和开发效率。安装命令:`npm install vue-router`。
|
10月前
|
人工智能 数据可视化 关系型数据库
快速构建,JeeLowCode让你的应用开发速度飞起来#快速开发
低代码平台通过直观的图形化界面和模块化设计,大幅缩短开发周期、降低成本,使企业无需大量技术人员即可快速构建应用。其可视化开发、高效数据处理、模型驱动开发、AI智能助力及灵活扩展的插件生态,帮助企业应对复杂业务需求,实现快速迭代与市场响应,推动数字化转型。平台支持多种数据库和跨平台兼容,内置五大核心引擎,提供丰富的底层组件和自定义功能,确保开发效率与应用质量。开源框架与定制开发支持二次开发,进一步提升灵活性与可靠性。低代码平台让开发更简单、高效,助力企业释放创新潜力。
403 19
|
Oracle 关系型数据库 数据库连接
实时计算 Flink版操作报错之遇到Unable to register metrics as an,该怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
测试技术
【实战OBB】自定义旋转对象检测
【实战OBB】自定义旋转对象检测
186 0
|
JavaScript 前端开发 API
Blazor系统教程
基于.net8的Blazor系统教程
380 6
C# | 使用AutoResetEvent和ManualResetEvent进行线程同步和通信
在多线程编程中,AutoResetEvent 和 ManualResetEvent 是两个常用的同步原语。它们用于线程间的通信和协调,以确保线程按照特定的顺序执行。本篇博客将介绍这两种同步原语的概念、用法和区别。
272 0
C# | 使用AutoResetEvent和ManualResetEvent进行线程同步和通信
|
存储 缓存 NoSQL
面试必问的 Redis:RDB、AOF、混合持久化
面试必问的 Redis:RDB、AOF、混合持久化
415 0
面试必问的 Redis:RDB、AOF、混合持久化
|
SQL 存储 大数据
flink standalone 部署模式且不能使用 hdfs 场景下的各种问题及其应对方案
flink standalone 部署模式且不能使用 hdfs 场景下的各种问题及其应对方案