程序员的自我修养

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

一、自我修养路线图

  

  如图,这是笔者所走的路。且不论这路走的对不对,这个过程中行业环境会影响到你,大可不必钻牛角尖。附上这张图的目的是为了说,如果你想成为一个优秀的程序员,那么你一定要有规划。当然,别想着一毕业就能规划的很远,很难,而且也不可能。因为这个过程中行业环境会影响到你。有一点是要做到的,毕业一年左右,一定要有一个相对远一点的规划,这时候你已经对行业环境和一些常用技能有了相应的积累。规划一下接下来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不知代码,笔者阅读调整并做了标记。

作者: 尜尜人物
使命:为中华软件之崛起而编程
愿景:愿程序员皆因喜欢而编程
相关文章
|
SQL 安全 数据挖掘
课7-隐语SCQL的架构详细拆解
SCQL是安全协作查询语言,针对多⽅隐私保护的数据分析。它在不泄露数据隐私的情况下,允许互不信任的参与⽅联合分析数据。SCQL采用半诚实安全模型,支持多⽅协作(N大于等于2方),并提供MySQL兼容的SQL接口。关键特性包括列级别授权(CCL)、多种密态协议支持和跨多种数据源接入。CCL是列控制列表,定义数据使用约束。SCQL架构包括SCDB(不参与计算)和SCQLEngine(部署在数据参与⽅),通过流程图和架构图展示其工作原理,适用于医疗研究、联合营销和保险理赔等场景。
CompletableFuture事务处理
CompletableFuture事务处理
434 0
|
搜索推荐 算法 数据挖掘
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
# 【推荐系统入门到项目实战】(三):矩阵分解和ALS算法
|
JavaScript 前端开发 应用服务中间件
Vue项目如何进行部署?是否有遇到部署服务器后刷新404问题?
Vue项目如何进行部署?是否有遇到部署服务器后刷新404问题?
381 0
|
人工智能 监控 安全
智慧工地综合管理云平台SaaS源码:安全、高效、绿色、智能的建筑施工新生态
智慧工地平台通过整合物联网、人工智能、大数据等技术,实现了对工地人员、设备、环境、材料等方面的全面监测和管理。
576 4
|
SQL 前端开发 Java
若依修改03----利用若依代码生成器,生成课程管理的前后端代码,课程的条件搜索接口,一旦数据表创建好了,直接交给若依代码的生成器就好了,配置代码生成信息,包含基本信息,字段信息,生成信息。字段信息决
若依修改03----利用若依代码生成器,生成课程管理的前后端代码,课程的条件搜索接口,一旦数据表创建好了,直接交给若依代码的生成器就好了,配置代码生成信息,包含基本信息,字段信息,生成信息。字段信息决
|
测试技术
【实战OBB】自定义旋转对象检测
【实战OBB】自定义旋转对象检测
226 0
|
网络协议 关系型数据库 Linux
PostGresql数据库Linux服务器安装
PostGresql数据库,Linux服务器,在线,离线安装
4437 2
PostGresql数据库Linux服务器安装
C# | 使用AutoResetEvent和ManualResetEvent进行线程同步和通信
在多线程编程中,AutoResetEvent 和 ManualResetEvent 是两个常用的同步原语。它们用于线程间的通信和协调,以确保线程按照特定的顺序执行。本篇博客将介绍这两种同步原语的概念、用法和区别。
340 0
C# | 使用AutoResetEvent和ManualResetEvent进行线程同步和通信
|
存储 缓存 NoSQL
面试必问的 Redis:RDB、AOF、混合持久化
面试必问的 Redis:RDB、AOF、混合持久化
460 0
面试必问的 Redis:RDB、AOF、混合持久化