java工程师如何在工作中提升自己?
欢迎关注我,一个程序员老司机,和你分享编程、运营、需求等等经验和趣事。
自己身边也有很多Java程序员,现在我将他们平时的一些学习和你一起分享下,希望对你有所启示。
首先
他们一有时间就看JAVA数据结构和算法相关的书籍和资料,并且还利用这些算法和数据结构实现了一些小东西,以巩固自己对数据结构和算法的理解,因为这二者在编程中是非常重要的。
其次
喜欢研究一些框架,我们知道J***a的框架非常多,有处理大数据方面的框架(Hadoop )、有处理全文检索方面的框架(如Elasticsearch、solr等),学好这些框架,再结合自己的一些数学知识,做一个相对高性能的搜索网站、大数据处理网站或者应用还是有可能的。
总结知识
在工作中,总会遇到很多很多棘手的问题,这些是通过看书无法获取的,所以针对这些问题和相应的解决方案,他们都会总结起来,或记笔记、或将其整理成文章上传到博客或者一些IT投稿网站。
作为一个程序员首先要有自己的规划有自己的职业规划,有一个至少三年的规划,让自己在工作知道自己的方向在哪,才能不至于一脑袋扎在工作不管不顾了,等到发现自己辛辛苦苦积累的技能在社会上处于慢慢被淘汰的境地,那样该有多尴尬。
j***a工程师如何在工作中提升自己?
1.不要觉得现在已经工作了就放松对基础知识的学习,基本功的学习,把基础一遍遍的打磨,建议把j***a编程思想这本书好好研读几遍,尝试把自己的框架思想打磨出来。
初学的不建议看这本书,因为在基础语法掌握的还不清晰的情况下,看一些框架方面的东西很难直接理解。
2.争取对一个框架有一个比较深刻的了解,开始先学会如何使用框架,一定要在一个框架上完整的参与一个项目,利用实际的项目把一个框架使用好,然后慢慢总结出里面的一些规律技巧,在项目中涉及不到的知识点,工作之余想办法弥补上,慢慢形成一个属于自己的一套知识框架系统,学习框架如同学习编程语言一样,先把一个搞定然后才能举一反三触类旁通。对一个框架深刻的了解之后开始尝试深层次的定制框架,同时开展后续框架的学习,进一步拓展知识面积累框架的感知度
3.j***a属于一种入门相对简单,但是要做到高级有相当难度的高级语言,难在对框架准确把握上,最直接的提升通道多做实际的项目,尽量不要做重复性质的项目,当然这个还要根据公司的实际情况,如果遇到的是一直用一个框架做重复的项目的公司,就要考虑换个工作环境来提升自己了。
觉得有收获就点个赞
虽然J***A目前来看是还是使用最多的编程语言之一,整体J***A工程师的未来风险预警还没有这么快到来,但是谈到个人,每个人都应该对自己的职业有着清楚的规划,同时提早为未来做好准备。
根据我在BAT里工作的观察与经验,J***A工程师首先不能局限于J***a语言,目前大火的Python以及很有潜力的Go语言,都是需要J***a工程师在工作之外主动学习的知识。举例,我们有个同事是以J***A开发工程师的身份招进来的,但是工作了一段时间之后,新成立了一个机器学习项目组,需要从各个小组里调拨人过去,她由于有过机器学习经验,因此就主动请缨调过去了。后来她和我说,她在机器学习项目组里主要使用的语言其实是Python。几个月之后,由于她参与的项目帮助多个小组提高了效率,在部门里连着拿了好几个奖。试想一下,如果她仅仅会J***a,还能有机会主动加入机器学习小组,然后迅速搭建项目,拿这些奖吗。因此,无论是j***a工程师还是C语音工程师,能够多掌握其他语言与技能,就相当于给自己多准备了一条路。
以上说的是广度,接下来我们谈谈深度。
J***A语言的框架可以说是目前编程语言框架里最多最广的之一了。因此J***a工程师一定要利用工作机会,深入了解各种框架的思想,如果有机会,也多阅读源码。微信上有一些公众号会不定期举办活动,组织一些人来阅读前辈们编写的优秀源码。这个过程能够帮你复盘大神们在创作时的思路以及实现方式。在阅读源码的时候,也可以想一想如果是你要实现这样的功能,你会怎么写,然后和大神的思路去做对比,学习大神的精妙设计,从而提高自己的设计能力。
编程语言也许会过时,但是架构设计能力是凌驾于所有编程语言之上,永远不会被淘汰的。
软件开发人员,如何整理总结工作中使用过的[_a***_]?
每个步奏都做好文档笔记最好是将重要的部分录屏等等,在整个软件开发周期,开发文档是必不可少的资料,它们贯穿于整个开发周期,用来评估***、规划进度、项目管理、软件测试、软件发布,可以说至关重要。
开发文档必须归档,没有归档的文档作用大打折扣,时效性低且管理混乱。必须有***有目的性有条理的编写相关文档,并和软件产品一起科学管理。
这里,笔者对软件开发过程中的一些必要性文档做了一个整理,做成了一张图,贴于此,希望能够给大家一点帮助。
从业J***a开发12年老鸟分享下我个人心得。
一直以来对所学的技术也没有归档整理。大概5年前吧,朋友介绍,空余时间去一家培训机构兼职J***a讲师,既然是讲师肯定要备课,刚开始准备ppt,一个是自己ppt水平不太好,二是中间穿插代码不方便。后来折腾过有道笔记种种。
最后发现了语雀,这个上面可以分类归档,最重要的我习惯markdown写文档,我用的mac,30块买了mweb编辑器,写完一键发布语雀,我还搞了个阿里云存储,一年也几十块,用来存储文档中图片,都很方便。现今一直在用。
上面说的是工具,再说自己的收获。备课归档期间,你会发现很多你看似知道,但是归档时你会更进一层。尤其J***aee框架之类的。
建议有时间可以写写。对自己很有收获。
作为软件开发人员,开发工作中经常会使用到一些常用的技术,这类技术由于经常被使用会被常记于心,这类技术往往不需要总结,在工作中遇到就会被唤醒。但是仅仅掌握这些常用的技术对于开发人员来说是不够的,无法应对复杂的功能开发,因此,开发人员需要在工作中不断的学习,不断的进步,不断的积累经验。开发功能越多,经验越多,本应该是没有问题的,但是我们总感觉自己还是个小白,这中间是哪个环节出问题了呢?我也在思考中。
我认为记忆能力有限,软件开发是一种智力行为,智力活动,需要花费大量的脑力,随着时间的推移,过往不常用的技术经验就会被遗忘,被尘封,毕竟脑容量有限,既有记忆行为,就会有遗忘行为。俗话说"好记性不如烂笔头",在开发过程中,学到新技术,在掌握的同时做下笔记,再往后有空闲的时间温故温故,自己做个小程序练习练习巩固巩固知识点。
我觉得做笔记或者自己做个小软件把新知识点记录下来是非常有用的。毕竟熟能生巧,软件开发就是要多练习多操作,而且自己做的小软件可以自己随意支配,就算是离职了也能在新工作中拿来参考。