工作多年,每天干着CURD的活,技术一直无法提升,相信这是大部分程序员面临的情况,也是很多程序员的职场困扰。
我们作为一名程序员,技术的成长之路,相信每个人最终梦想都是成为架构师,而要成为架构师就要多方面提升我们的能力。
一个开发人员能力是由多方面组成的,我认为这三方面比较重要:
1、学习能力;
2、技术知识面;
3、方案设计能力、项目经验。
一、学习能力
很多程序员学习编程,通过教程、视频来学习,这个是没有错的,我也会经常看别人的教程和资料,毕竟自己学习太慢了,提升学习效率是对的。
但是再好的教程、视频都只是涵盖了知识点的部分精髓,而这个精髓可能就涵盖知识点的20%。
所以程序员除了学习前人的优秀经验外,还要具备自学能力。
因为你一项技术只是掌握了20%,自然就无法灵活去运用;无法灵活的变通;面对不同的业务场景,自然无法针对性的去设计。
所以,平常多总结,形成自己的一套学习方法,是非常有必要的。
二、技术知识面窄
一个程序员工作多年后,不管基础是否扎实,完成日常的开发工作,特别是CURD工作,基本都没太大问题。
对于这种程序员,我认为他们就是1年工作经验而已,只是原本1年可以学习的知识,重复干了多年而已。
现在很多小企业,也不会有大型或者复杂的项目,所以很多程序员,都是基于前辈或者领导搭建的框架,日复一日的重复编码,自然是无法提升的。
还有本身公司业务很简单,您的领导本身也很难提升,自然无法教你更多知识。
所以针对这种情况,我们就要扩充自己的知识面,比如:中间件、设计模式、任务调度、分布式、高并发、网络、安全、数据性能优化等。
三、提升方案设计能力、丰富项目经验
学习知识是一方面,在实际项目运用也是很关键的。
如果你在一家公司,重复做类似的项目,也是很难提升的。
特别是很多公司,都是1、2个人单打独斗就能完成一个项目。项目小、业务简单,自然碰到的业务场景就比较简单。
虽然你的编码能力一般,设计的方案不好,但是业务简单,就无法暴露出真正的问题,比如架构讲究的高可用、稳定性、扩展性都不需考虑。
很多问题不需要过多的考虑,自然我们就无法提升我们的编程、设计能力。
针对这情况,平常就要多给自己要求,可能客户没要求、领导没要求,但是自己要给自己设定目标,比如考虑网络异常、服务器重启、数据量变大、高并发,有了这些情况,你的设计方案是否合理。
当然了,平常多考虑外,还是要实践。所以要积极的参与项目中去,才能获得更多的实践机会,如果公司就没有这样的场景,那考虑换个环境,人往高处走,这才是正常的。
领取专属 10元无门槛券
私享最新 技术干货