怎样能在工作中获得更多对技术的理解

泻药!你所遇到的困境我相信绝大多数程序员都遇到过,每个人有每个人提升自我的方法,我不知道自己的方法是否能适用在你身上,仅仅只是做个参考吧,抛砖引玉:1.Java这门编程语言在使用上有其本身的特性:够简单并且资源丰富。这很容易让人陷入不停学习组件的使用没办法深入研究的困境当中。我在刚使用java进行开发之初也陷入了这种困境,甚至直到现在也多多少少陷在里面。对于我来说,从困境里爬出来的方法就是:被坑多了自然会试图理解原理,并加以改造利用。我从业以来接触的很多项目相对来说技术比较新,导致了就算去搜索都不一定能找到答案。并且有时候,因为依赖了相对较新的框架和模块,这类模块本身是存在缺陷和bug的,在我使用的过程中或多或少就会暴露出来。这个时候就只能阅读源码以及文档(假如有),理解原理,并加以改造。这个过程中,无形之间会加深自己理解复杂系统的能力,这种能力是可以持续保有的,并会在以后的工作中滚雪球似的增长,持续受益;所以,就这点来说,我建议你如果有机会可以选择项目,那么就请选择对自己来说有挑战性的;如果没有这种机会,那么可以在github上找你感兴趣的项目,阅读源码,写博客分享出去,一开始会写得很浅,会被吐槽(我就是如此),但为了能成长,丢点脸怕什么,谁不是这么过来的?2.匠心这种东西玄而又玄,但是其实是可以在平常的工作中一点点培养的。比如一点点的性能优化,比如推动系统向更优雅的架构演化等等。你把你自己的项目当成自己孩子一样看待,你想,你把多少的心血都投进去了,难道不希望它变得更好,更被人喜欢吗?在这个过程中,你必定会越研究越深入。3.抓住一切机会给团队里的人做技术分享。这种方式不仅可以让你提升在团队内的技术影响力(直接关系到你的晋升速度,涨薪速度),同时也可以给你一个被围攻的机会。首先,你要是能把你自己肚子里的东西讲给别人听,那才能说明你真的理解了;其次,在下面听的人不会放过任何机会向你提出各种问题,如果你能淡定地面对各种提问,兵来将挡水来土掩,这个过程中不仅能加深你的理解和印象,同时也能提高你的自信,何乐而不为?最后,我不建议为了提高自己的理解而不去看文档、看技术社区的分享,我们是工程师,不是学生,为了所谓的学习而影响整体开发进度是不道德的,也是不专业的体现。任何正确的学习应该是共赢的:你能为你的团队和产品带来新的价值,同时也能提高你自己的水平和影响力。如果你认为你在做的事情满足这两点,那么请坚持做下去,可能会很难很艰苦,但是如果不难那你存在的意义是什么?如果不是难到只有你才能解决,你又凭什么希望能得到更高的地位和薪水?把难当有趣好好玩吧,当程序员,不就是为了玩得开心吗?祝一切顺利,事业有成。
■网友
哦吼吼,上班还想提升技术。都是回家搞的。有时间让你学习的公司只有两种:1. 管理傻x, 导致员工工作不饱满。2. 公司不错,定期会做组内分享,设计评审等等。很巧我刚去xx同城的时候,有位不愿透露姓名的技术先辈每周五组织分享。不过也很巧后来技术先辈撤了- -...再也没有了...记不住那是后话,多记笔记。学东西不是为了干活- -纯粹是兴趣~


    推荐阅读