java后端怎么避免只会写CRUD?
Java后端要避免只会写CRUD,只能靠自己去学习。
国内的公司大部分都是搞业务开发,很少有搞开源项目供大家使用的。这样在工作中你是很少有时间和机会能接触到新东西,大部分公司都是一套框架下来,之后就一直用这套框来填充业务。所以你在工作中是很难逃出CRUD的。
要想提高自己就需要平时抽空自己学习,这对程序员来说真的很重要。
经常只CRUD也是有提高空间的,你可以用不同的方式去实现,还可以学习源代码。比如常用的mybatis的源码实现,你可以在开发空闲时间研究一下mybatis的实现,这样你对mybatis的使用会更熟练。
还有业务开发中经常使用的spring boot、spring框架,可以自己研究一下,如spring boot的加载机制、spring mvc的请求流程、spring bean的加载机制、spring aop等。其实要学习的东西有很多,而且这些都是开源的,自己开发项目空闲时间就可以去看看这些源码,会对自己有很大的帮助。
不要只用框架而不知道原理,基础原理很重要。推荐一本Java基础的书《Java编程思想》,里面介绍Java基础知识很详细,而且很多都是平时我们容易忽略的知识点,学习之后会使你的Java基础有很大的提高。喜欢的话可以点击下方链接购买。
这是个好问题,我就遇到新入职的同事问我这样的问题
那是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,就一句话:挤出时间,多学习,多思考,我相信总有一天,当机会靠近你的时候你能握的住,加油吧,少年!
写crud和写好crud是两回事,你不写好后面搞bi的搞ai的何不蛋疼,不都是基于你的数据!
说个最简单的例子,今日头条评论表设计,架构,开发你会怎么做,这可是最简单的crud,没几个人能hold住
当然,如果公司业务是这样,避免不了crud,同时你又觉得你的才能和才华发挥不了,那就跳吧!
换个公司你会发展,妈的还是做一样的工作
你的问题很关键,如果是这样的话,如果不想办法扭转改变的话,那么就是名符其实的"码农",35岁以后,甚至到不了35岁,妥妥地被淘汰。
至于具体调整你未来的职业规划有几个方案,说几个供你参考:
第一,去学习理解一些"完整"实战项目的源码,而且一定要吃透,然后想办法找机会参与到公司真正的项目中来。
第二、技能横向发展,去学习安卓开发。但这也是治标不治本的,并非长远之计。
不管你适用Java具体做什么开发,你未来的职务,你的薪酬报,最终那是取决于你的实际工作能力的,所以不断的提升自己,永远才是王道。
不懂就学,不想只写增删改查,就在做好工作的同时,学习其它硬核技能,提升自己,就能立于不败之地,避免被淘汰的俩去。
多接触业务,多思考。最要紧的是自己不要满足于只写点增删查。如果觉得自己所在的团队没可能性让自己插手业务,那就换吧。
支付宝,微信说白了也就是crud。不是很理解为什么要避免crud