crud的Java程序员如何发展?
谢谢邀请!
作为一名IT行业的从业者,同时也出版过Java编程书籍,所以我来回答一下这个问题。
首先,对于普通的应用级Java程序员来说,在当前的开发趋势下,应该重点关注一下各种开发平台的相关知识,包括云计算平台、大数据平台、物联网平台和人工智能平台。未来在产业互联网阶段,大量的应用级开发都将基于各种开发平台展开,所以如果想在开发领域获得更大的发展空间以及更长的职业生命周期,学习平台知识将越来越重要。
当前云计算平台已经得到了较为广泛的应用,在云计算平台逐渐从IaaS向PaaS发展的过程中,基于PaaS相关服务进行开发能够全面推动Java程序员走向全栈程序员岗位,借助于PaaS平台的支撑,Java程序员的能力边界也将得到很大程度地拓展。目前不少大型科技公司已经陆续推出了不同行业领域的PaaS平台,Java程序员可以在立足自身岗位任务的基础上,来选择学习一个具体的PaaS平台。
Java语言是大数据开发领域比较常见的编程语言之一,所以Java程序员掌握大数据平台的相关开发知识会更容易一些。大数据平台目前尚处在落地应用的初期,未来大数据开发岗位将逐渐增加。对于Java程序员来说,学习大数据平台开发知识可以从Hadoop、Spark开始,未来切换到商业大数据平台时也会更容易一些。
在5G通信的推动下,物联网领域将释放出大量的发展机会,而进行物联网领域的开发一定离不开物联网平台的支撑。目前物联网平台尚未成熟,但是技术体系结构已经相对稳定了,所以可以基于行业领域来选择一个物联网平台进行深入学习。
最后,Java程序员还应该重点关注一下人工智能平台,目前很多大型科技企业的人工智能平台已经陆续开放了,这将在很大程度上降低Java程序员进行人工智能领域开发的门槛。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
CRUD的Java程序员需要从各方面提升自己的能力,并且是越快越好!
工作中经常遇到要面试的Java开发工程师在自我介绍的时候没有“内涵”,就是没有能够让人记住你的亮点。例如:
面试官:请先自我介绍一下......
程序员:我叫xxx来自xxx,xx年毕业于xxx,工作中用到了.... 然后就结束了。
面试官:......
那么在接下来的环节就需要面试官问一些比较深的问题时就暴露出来越来越多的问题,最后不得不说:“1、上一家公司都在做增、删、改、查的工作,这些问题没有遇到过。2、这些有专门的同事来做,我这边没有负责......”
这些回答都会让面试官对你的能力大打折扣。
其实有相当一部分的程序员在平时工作中就是做的CRUD,但是CRUD的内容也是不一样的。例如:新增的时候有没有考虑到重复提交?删除的时候有没有做逻辑删除?修改的时候需不需要加同步锁?等等。这些都是CRUD工作中要考虑的。所以说不要小看平日的工作。
那么如何从各方面提升自己的能力呢?
1、从工作中学习
简单来说,就是遇到错误的问题要独立去解决,并且把解决方案做成笔记记录下来。
2、多关注新技术的更新
可以利用今日头条的推荐功能,比如要学习微服务的技术,搜索几次就会经常搜到头条推荐的微服务有关就技术文章,每天花点时间来进行阅读学习。重要的地方可以做笔记。 可以关注“IT实战联盟” 每天都会推荐不同的技术内容。
3、开通自己的技术博客
例如可以在简书、CSDN和头条号等将自己学习到的只是可以分享出来,让网友进行评论和点赞 找到自己不足之处,再进行改进。其实在写文章的过程中就是在学习,营造出自己周围都是学习的氛围。
4、多面试
这个大家可能就会吐槽了,但是无独有偶 工作不忙的时候可以约几家公司去面试,不一定要离职。而是不断的逼迫自己适应这个互联网行业各公司的人才需求情况,这是面试官就是你最好的老师。这招需要脸皮厚的哦~~~
CRUD程序员要想发展,可以有2条不同的上升路径:
一、技术经理
成长为技术经理,你需要增强自己的团队管理能力,较为出色的沟通能力和业务理解能力,不再是发展单纯的技术能力了,需要的是复合能力。
二、架构师
成长为架构师,你需要把你的技术能力做进一步的提升,需要学习的内容很多,包括:Java程序的架构设计,特别是非功能特性的设计,包括性能、高可用、可扩展性等特性的设计和实现方案,这些内容,没有一定时间的积累和沉淀是做不了的。
两条路都不好走,关键还是看自己适合什么道路,认识自己,了解自己,发展自己,你才能在你的职业生涯的道路上越走越顺!
java后端怎么避免只会写CRUD?
这是个好问题,我就遇到新入职的同事问我这样的问题
那是17年,我们招了个后台开发,工作经验有6-7年,从传统行业出来的,之前没有做过互联网开发
来了之后先从管理系统入手吧,一般互联网后台除了给前端提供api接口,也会有个后台运营管理系统,给运营同学做业务配置,报表查询,多数情况就是CRUD
入职不久这同事就在一次周例会跟我抱怨工作没有技术含量,就是增删改查
增删改查是没啥技术含量,但其他工作你准备好了吗?
当时我要求他做服务器巡检,就是根据nginx日志和业务日志统计下哪些接口响应较慢,业务经常抛出哪些异常,这个用linux 的awk很容易统计,结果他是把日志下载到本地,用文本编辑器来统计,搞得一头大汗
后来一个需求是从谷歌市场爬app的分类,详情等数据,之前负责的同学要离职,交接给他,结果他完全hold不住
后台工作肯定不止CRUD,为什么上级只让你做CRUD呢?那是给你时间提升的,你应该和其他同事学习,看自己还有哪些不足,赶紧提高,这样上级才会给你更有挑战性的工作
身为一个java码农,我来说几句
程序猿如何避免crud?我觉得这个在于自己,我相信80%的程序员都是干着crud的重复工作,5年以上工作经验的人也都做着curd的工作,只不过别人的crud比你的高级一点,仅此而已。
不过话说回来,如果一个程序猿做了5年还只会crud,那么他只能算是一个码农,不能算一个程序猿,一个合格的程序猿应该是对计算机原理,常见的数据结构与算法有这比较熟悉的理解。
问题在于为什么现在大部分的程序猿都只会crud呢?一问到数据结构就gg,其实这和程序猿的工作有很大的关系,以java为例:现在的java框架已经非常成熟,springboot、springcloud等等,让他们编写程序的时候无需关心架构的实现与维护,只需要写好和自己相关的业务代码即可,至于架构,一般都有专门的架构师维护,所以这也导致了一个问题,一般的程序猿很难接触到架构这一块,再加上现在的开发模式基本上都是敏捷开发,公司实行狼性文化,每天都被大量的业务代码围绕着,做完业务代码可能都晚上10点了,哪还有时间去看架构的知识呢?
虽然这样说,但是还是可以让自己成为架构师或者算法工程师的,为什么?
在读书的时候,经常听老师说的一句话就是:时间就像海绵里的水,只要愿意挤,总会有的,以前觉得这句话很搞笑,现在才懂得这句话的含义。
没错,时间挤挤总会有的,我们可以利用上下班挤地铁的时间,周末休息的时间看书学习,如果不想天天crud,那么一定要看书,至于看什么书,这个就需要根据个人的兴趣爱好了,只有大脑里面都是知识的时候,才会在机会靠近你的时候你能抓住,否则,机会都和你擦出火花了,你也抓不住。
以我个人为例吧,我周末的时候会写写博客,看看技术类的书籍,让自己过的更加充实,这是我最近看的书籍,想要避免crud,就一句话:挤出时间,多学习,多思考,我相信总有一天,当机会靠近你的时候你能握的住,加油吧,少年!
Java后端要避免只会写CRUD,只能靠自己去学习。
国内的公司大部分都是搞业务开发,很少有搞开源项目供大家使用的。这样在工作中你是很少有时间和机会能接触到新东西,大部分公司都是一套框架下来,之后就一直用这套框来填充业务。所以你在工作中是很难逃出CRUD的。
要想提高自己就需要平时抽空自己学习,这对程序员来说真的很重要。
经常只CRUD也是有提高空间的,你可以用不同的方式去实现,还可以学习源代码。比如常用的mybatis的源码实现,你可以在开发空闲时间研究一下mybatis的实现,这样你对mybatis的使用会更熟练。
还有业务开发中经常使用的spring boot、spring框架,可以自己研究一下,如spring boot的加载机制、spring mvc的请求流程、spring bean的加载机制、spring aop等。其实要学习的东西有很多,而且这些都是开源的,自己开发项目空闲时间就可以去看看这些源码,会对自己有很大的帮助。
不要只用框架而不知道原理,基础原理很重要。推荐一本Java基础的书《Java编程思想》,里面介绍Java基础知识很详细,而且很多都是平时我们容易忽略的知识点,学习之后会使你的Java基础有很大的提高。喜欢的话可以点击下方链接购买。
我个人经历来讲,要避免只会crud,最好的办法就是学习netty等一些网络编程技术。
刚入行两年的时候,我也只会crud,拿着springmvc干着重复的活,还沾沾自喜以为精通了java,后来有个同事推荐我看看netty,深入了解下网络这块的东西。
我学了之后,发现原来java还有那么多好玩的东西,netty可以自己解析http协议,可以自己写分布式框架,对于io,多线程,分布式事务,分布式锁以及异步编程又有了更深的认识,我可以写一个基于udp协议的文件传输,也可以写一些很有意思的程序,脱离spring,脱离crud。
如何学会Java框架?
作为BAT的Java开发工程师,首先恭喜你,能够有意识的要来学习Java框架。
如果没有实际工业开发经验,很多学生包括其他语言的使用者,对Java框架都是停留在一个纸上谈兵的状态,接下来,我来根据我的实战经验,帮助大家更多的了解如何有效率的学习JAVA框架。
首先要知道目前常用的框架有SSM和springboot,而SSH框架目前已经逐渐被这二者取代。
那么,首先就是推荐对springboot和Spring框架做深入的了解,因为mybatis框架一方面是比较简单,另一方面作为数据持久层,说不定未来也像SSH框架中的Hibernate一样,被替换掉了。
接下来,介绍一个非常重要也会很快用到的概念,IoC。
在很多教程里,都会告诉你IoC是依赖注入。
但是什么是依赖注入呢,你可以理解为当你需要用到一个对象的某种能力的时候,你通常需要先把这个对象实例化,才能使用,然后用完这个对象,你还需要处理它是否继续存在,是否回收等等。
但是有了Spring的IoC能力,你可以在一开始就把这个被调用的对象托管给Spring的容器,当你有需要的时候,你只要到Spring的容器中拿过来用,用完丢回去就可以了,完全不用参与被调用者的生命周期。
而这个是怎么实现的呢,只需要在spring的配置文件中,声明这个被调用者的位置,然后再对被调用者加上bean注解,在项目启动的时候,Spring就会根据你的声明,自动去指定位置扫描,然后把这个对象加载到容器中,等待你来调用。
上面说的IoC是无论使用SSM还是springboot都会用到的能力,不同的是,在Springboot框架中,无须在配置文件中声明被调用者的位置,只需要在被调用者的头部加上@component或者@bean注解,springboot就会非常勤劳的去扫描加载了。
在了解上面的基础知识后,你就可以自己搭建一个springboot的项目了,为什么是springboot呢,因为对于新手来说,springboot的配置过程更加简单,无须你去了解如何配置Spring和springmvc的xml文件,可以先通过搭建springboot项目来更多的了解Spring的各种注解的如何使用。然后再去深入了解SPRING和SPRINGMVC的配置,这样也是一个深入浅出,渐进的过程,能够有效的帮助你夯实基础,同时避免由于一上来就接触Spring和SpringMVc而被它们的难度吓退。
以上是我的浅见,如果对你有所帮助或者启发,欢迎点赞或者留言。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。
谢邀。准备学习Java框架说明在Java基础上已经有过学习的经历,那么这时候基础的扎实与否就可以决定框架的学习速度了。
学习框架的方向
Java框架,在学校可能大部分是用ssh为例,即spring,Struts和herbnate。但是实际上工作中用到的更多是ssm,即spring,springmvc和mybatis。
(图为自己拍摄的spring框架书籍)
最重要的部分是spring,因为在后续在工作中在公司里会用到的ssm以及springboot都是基于spring框架的集成框架。
因此主攻spring框架,其次是数据持久层的框架最好是mybatis,然后控制层框架是springmvc。
学习Java框架的方案:
学习方法个人认为是自己通过网上的资料或者学习视频,自己动手搭建这些框架并且可以跑起一个完成了增删改查的程序。
学习资料可以是博客,最好的官方文档。
学习视频可以去淘宝花几块钱买,不亏的。