一文总结程序员快速提升秘籍

项目层面

独立解决技术难题                                        

       日常工作中,业务的问题,要多问搞清楚,避免返工;但技术上碰到问题,不要老想依赖他人,尝试独立解决,长此以往,会形成自己解决问题的方法论,能力 水平也会随之提升。

多思考为什么                                                

        日常中,不要按部就班的,CV大法,完成CRUD了事;而要多去思考为什么这样用,并去学习这样用的理由。例如,为什么采用MVC模式?为什么采用Controller/Service/Dao分层模式?为什么采用Redis?而不是本地缓存或者MySQL?

多做挑战性工作                                            

        平时如果一直只是做一些,单表或多表的CRUD或一些简单功能的修修补补,长时间来看,很难较快的成长,可能只是从年轻的CRUD-Boy变成年纪大的CRUD-Boy。工作内容,应该由点到线、有点到面,挑战逐渐提升。关注点从一部分功能,到整个功能,再到整个模块,甚至整个系统。不要仅满足自己三分地儿,逐步去做更有挑战性的工作。

学习优质项目和代码                                         

        简单说,见优思齐焉,见不优则内自省也。选择好的项目,从顶层学习项目的架构、选型、三高策略等;学习他人优秀的代码,从细节层面学习技术实践

总结关注通用方案的实现(重要)              

        虽然不同项目业务不同,但技术层还是有一些通用方案的,比如接口统一参数校验、幂等性、接口限流、异步执行、自定义注解、接口优化、分布式锁、日志记录等。关注项目通用方案的实现,然后博观约取,总结优秀的通用方案,后续再遇到同样场景,将得心应手。

用新技术赋能当前项目                                

        当我们学习到一些新技术时,如果不去实践,可能很快就忘了。因此,当学习到新技术后,思考当前项目那些场景可以用到此技术,并试图用新技术去实践,这样一举两得。既重构优化了旧代码,也实践了新知识。当然使用技术,记得充分测试,不要影响既有功能运行。

参与项目相关的技术交流                            

        项目开展过程中,多会进行技术选型、技术分享培训、代码评审、各种技术评审、系统调优方案讨论等各种交流,不要熟视无睹,积极参与进来。一方面,可以促进相互之间的学习和了解,同时有自己感兴趣的项目时,就有更大机会可以参与;另一放方面,可以提高将来和面试官掰扯、Battle的能力。

学习层面

系统性、专业性的的学习                            

        当我们学习某一领域的知识时,只是在工作中百度复制粘贴、零散式的学习,虽然临时可解决问题;但长此以往,只会是管中窥豹、浅尝辄止,对能力提升不利。因此,开始学习某一领域时,最好通过官方文档、优质专业书籍,系统性深入的去学习,这对该知识的理解和运用会有一个全面的提升。

学习需要做笔记总结

        好记性不如乱笔头,无论是阅读技术,还是其他书籍,如果只是走马观花式的浏览,很难留下深刻的印象。可能看完就忘了,因此学习过程中,对重要内容记下笔记,对内容脉络提纲挈领,用自己消化后的理解,通过总结文章、xmind思维导图之类的,做下笔记,来更好的掌握书籍内容。

将学到的技术应用在当前项目

        应用实践,是掌握一门技术的好方法。当我们学到一门新技术时,如果只是学习理论,而没有实践,可能对细节之类的理解不深,往往导致眼高手低、纸上谈兵。因此,当学习一门技术时,思考是否可以应用到当前项目;如果当前项目已有使用,思考它的具体实现,是否有不足的地方、是否可以优化。总之,将学到的技术,趁热打铁,在当前项目中实践,大概是掌握此技术最好的方式之一了吧。

从优质技术文章中学习(尤其是大厂技术号)

        一些技术书籍,有一点不太好的地方,就是往往过于侧重理论知识,而没有结合实际落地场景。导致很多人学完之后,由于没有具体场景结合理解,往往应用的不好。一些优质的博客、微信公众号文章(尤其是大厂的技术公号:美团、阿里、腾讯等),往往会结合实际生产中遇到的问题,分享一些技术文章。这些文章由于贴近实际生产场景,阅读后可以更好的理解,理论知识在实际场景中的最佳实践之一。

从优质的开源项目、源码中学习

        正如Linux之父所讲:Talk is cheap,show me  your code。通过阅读优质开源项目的源码,可以最直接的理解开源者的代码设计实现,关注各种设计原则、设计模式、设计思想的代码实现方式,长此以往,将能大大提升自身的编码水平。

选择特定技术方向深入钻研

        学海无涯,知识是学不完的。随着市场越来越卷,年龄越来越大,平庸的多面手优势越来越小。从经济学角度说,你应该打磨自己的比较优势。术业有专攻,选择一个感兴趣有前(钱)景的技术方向,深入的学习下去,打磨自己技术优势

你可能感兴趣的:(成长,java,学习,提升)