可能很多人觉得,在一家公司干久了,每天都是做着相似的工作,专注于自己那一块的业务,能力没什么提升。这是一个很普遍的现象,企业越大,分工越明细,而且很多程序员都是干的和业务相关的工作,每天都是实现业务逻辑,项目也特别多,能力也会随着时间的推移有一定的提升,但是这种提升是有限的,刚工作的两年觉得进步很明显,慢慢地就会感觉无论自己怎么努力的工作,能力都没有什么明显的提升了,这就是到了瓶颈期,需要进行系统的学习才行了。可以通过以下的方式提示自己的能力:

 

● 解决问题的能力

 

解决问题的能力,可以说是在企业吃饭的能力,也是最重要的能力,因为即使自身有很多技能,但是解决不了问题,不能给企业带来价值,那有什么用呢?在工作中,不管是通过请教别人,还是在网上找的答案,或者自己冥思苦想出来的,总之,只要能解决问题就可以了。“不管黑猫白猫,只要能抓到耗子就是好猫”,快速的解决问题,会让自己在企业脱颖而出,别人一天能解10个BUG,你一天能解决20个BUG,这就是你的优势所在。

 

● 研究其原理

 

现在随着开源项目越来越多,平时工作中大量的程序员严重依赖开源代码、Spring等框架来完成工作。虽然这些框架可以提高生产力,但是只是会使用他们,而不去探究其原理,那也是熟能生巧而已。所以我们不应该满足于只会使用,而是需要去探究其原理,不是说所有的开源项目都画时间去阅读源码,选几个好的开源项目去阅读就可以了。起初可能会感到迷茫,不知道怎么下手,看不懂,没关系,可以在网上找找资料,看看大神们是怎么学习的,借助大神的思路,然后把源码分成一个一个的模块,每个模块都吃透,看一遍e,就看两遍,多看几遍,恍然大悟。实在看不懂的,还可以尝试修改源码,调试一下,看看运行效果,这样更加直观。研究源码,贵在坚持,因为这个过程很枯燥,很困难,但是随着时间的推移,浏览大型项目、识别设计模式并快速理解代码会越来越容易,也能更加容易理解到开源项目的精髓。

 

● 系统的学习

 

相信很多人当初都是迷迷糊糊的就步入了软件开发这个行业,大学可能学的都是不相关的专业,比如我自己,大学的时候是学习电子专业的,科目大部分都是和硬件相关的,就学了C语言,本想做一个嵌入式硬件工程师,可是被分配到了去做中间件的部门,好多知识都不懂,起初可以利用百度或者google,帮助自己解决问题,实在不行,还可以请教同事,或者在Stack
Overflow上详细描述问题,有些问题不是自己冥思苦想就能解决的,是因为自己当前所学知识有限,所以必要的时候,一定要请教别人。

 

但是工作一段时间后,就发现自己基础知识不足了,因为在进入这个行业之前,并没有系统性的学习过软件相关的基础知识,有些人在大学的时候学习过,但是远远不够,那个时候只是知道,但是不知道怎么运用,所有这个时候,就需要有针对性的去恶补自己的基础知识了,看看自己缺乏什么,然后就学什么,并且能够及时的运用起来。比如我当初学习C++,在工作一段时间后,发现自己在多态、继承和重载方面有点迷糊,然后就回头去看书相关书籍,然后再对照着代码,很多疑问都豁然开朗了。

 

● 分享和总结

 

俗话说,最好的学习方式是教学。当自己学习了新知识后,不仅仅是自己理解到了就可以了,还需要及时的做总结,当然能够对自己所学的知识进行优化和改进那就更好了。总结不仅可以回顾所学知识,还可以加深印象。总结后,还要分享,分享可以加深我们对知识点的理解,很多人是以为自己理解到了,但是让他在公司做一个技术分享会却不行,那是因为还没有真正的理解透,所以分享是检验我们是否真正把知识学习透彻的一种方式。而且当我们不停的在博客、github、知乎登平台分享技术文章的,慢慢地你会发现自己成了技术大牛了,影响力也越来越大,可能会收到很多企业的offer,也会带来额外的收入,甚至成为自己的第二职业。很多技术大牛都是这样不停分享自己所学知识一步一步成长起来的。

 

● 多多了解其他行业的信息

 

做技术,最怕闭门造车,所以需要抽时间了解一下世界上的新语言、新技术或者其他行业的新动态,从中获得灵感,甚至是机会。虽然互联网为信息的传播提供了便利,但是信息差依然存在,利用信息差,可以获得很多收益,也能提升自己的认知能力。

 

以上就是我对程序员如果提升自己能力的见解,希望对部分人有所帮助。

 

技术
©2019-2020 Toolsou All rights reserved,
element-ui的el-date-picker组件获取值python获取excel的一列或者一行的数据element ui 下拉框搜索功能最短路径Dijkstra (Python3)关于Bellman-Ford算法的个人理解mysql 递归查找父类的所有子节点Go语言 数组初始化和基本操作央视:Tiktok打官司表明了维权的态度和决心SpringMVC框架中在controller层获取自定义配置文件的属性值Mybatis映射文件Mapper.xml中#和$的区别