如何从普通程序员进阶到高级程序员

原文链接: https://my.oschina.net/u/3869821/blog/2960879

程序员最强的是解决问题的能力

在日常工作中评价一个人是否优秀关键在于:他解决了什么问题。

对于学习

  • 由易到难 一口吃不成个胖子,本着二八原则。20%的知识大概可以解决80%工作中遇到的问题,剩下20%的问题则需要80%的知识与经验才可以解决
  • 不要沉迷于新鲜技术 世界上的事:万变不离其宗。到最后拼的是算法,思维。新技术的衍生都是在原有的事物上出现的
  • 最好的学习方法就是去实战 实战有以下几点好处:
    1. 认清自己的知识盲点,学习知识盲点。以解决没有解决过的问题来掌握知识盲点
    2. 提高自己的思维能力。解决的问题多了。自己面对未知的事物便不会过于仓促
    3. 架构:重要的事说三遍。代码都是狗屎。重要的是架构,是思维。为什么有的程序员写的代码3年没事,然而有的1个周都得改一次
    4. 重构:通过重构代码可以使代码逻辑更加清晰,弥补以前的不足

学习的深度

  • 同样还是28定律:20%的知识可以解决80%的工作所遇到的问题,但是剩下的20%的问题需要80%的知识去弥补。这也是大多数人所缺失的
  • 书本只是工具,代码也只是工具。以围绕问题的方式去看书,通过学习知识点从而解决了什么样的问题
  • 对于新技术的热爱:新技术的架构思想,设计思想。这些都是可以通过读懂源码来学习的。但是当自己有了一定的编程水平最好先自己去实现那个功能,然后再与源码比对,看二者的差别以及自己所欠缺的。

代码能力

  • 代码写出来:一是给自己看,二是给同事看。用最直接,最简洁,个人觉得效率可以的方式去实现功能,而不是为了装逼去搞复杂的东西
  • 代码的优化:性能的优化,根据现实条件的优化

更多的是在思考,而不是写代码

  • 第一步 思维导图,数据流向
  • 第二步 实现功能
  • 第三步 第一次重构(拓展性,思维流向)
  • 第四步 性能优化
  • 第五步 debug,测试
  • 第六步 总结文档,技术体系

时间管理能力

  • 尽可能少做,或不做那些效率不高的事情,对于学习来说:效率,状态

善于总结,归纳。形成自己的技术体系与知识谱图

转载于:https://my.oschina.net/u/3869821/blog/2960879

你可能感兴趣的:(如何从普通程序员进阶到高级程序员)