工作2年还是只会增删改查,Java程序员如何进阶?

发布于2022-01-13 03:04:30
11个回答
admin
网友回答2022-01-13

这说明增删改查太强大了,任何复杂的需求都能化为增删改查,难道这不很神奇么?

天下武功都可以划入天山六阳掌,多好。非要像慕容复一样,会几百家的武功实战渣渣的好?

admin
网友回答2022-01-13

中国软件企业还需要你会别的?

admin
网友回答2022-01-13

我的经历应该跟题主比较类似,我是今年5月刚换的工作,上一份工作我从毕业开始一直干了5年,我的前公司是框架部封装好的框架,再在框架基础上二次开发,而且是公司以业务为主导的,不看重技术,开始1~2年还好,可是随着时间的推移,很多人会吐槽学不到新知识,感觉每天只是在做着重复的工作,没有任何提高,导致先先后后跟我一起进公司的几个同学都辞职了。

其实这五年时间的最后俩年都萌生过跳槽的想法,原因就是觉得太安逸了,学不到新技术,想想自己五年后甚至十年后依然是这样,就觉得压力很大。有人说,只会增删改查的程序员最多称为码农,一名真的程序员,技术应该是随着工作年限不断增长的,5年时间,混的好的已经是架构师、技术总监级别了,再看看去年的自己,每次面试处处碰壁,一遇到技术面试就哑火。然而,经过一年的沉淀,今年终于换了一份还算满意的工作。

Java程序员如何进阶
  1. 自学,生于忧患死于安乐,能够2年内意识到自己只会增删改查而想有所改变,已经是一个好的开端了,从去年跳槽受打击后,我平时就会利用下班和周末的时间去网上看一看教程,也会买一些相关的书籍,主要针对目前比较流行的技术,填充自己的短板。
  2. 跳槽,互联网公司千差万别,有业务为主导的,也有技术为主导的,可以试着面试一些技术与时俱进的公司,最好是没有框架的,面试受挫没关系,我的方法就是多试试,每次面试前先针对技术要求做好准备,面试失败再及时把面试官问的几个技术点搞懂,我也是面了十几家才拿到offer,因为我下定了今年必走的决心。
  3. 转管理岗,很多公司的领导虽然是技术出家,但是后期专心于业务和项目、人员的管理,假如对管理岗感兴趣,也可以试着朝这个方向转型,毕竟没有人会敲一辈子的代码,程序员到35岁后,年龄越大,技术方面的竞争力越小,因此转型是必然趋势。

总而言之,作为一名程序员,就需要不断给自己充电,工作中和空余时间都是提升自己的机会,无论是技术还是管理,靠的不是时间的堆砌,而是自身的努力。


以上为个人观点,欢迎在评论中发表自己不同的观点,喜欢的加个关注,谢谢。

admin
网友回答2022-01-13

你才工作了两年的时间,可以非常熟练的做增删改查,就已经很不错了。实际上在我们公司有一些程序员已经开发了好些年的时间了,甚至连一个递归都写不好。

作为一个工程师,想要提升自己的能力的话,仅仅是依靠公司里面的项目,绝对是没有很大的发展的。你需要自己去拓展一些项目,比如说你可以去参与一些开源的项目。

又或者你可以自己从头到尾的来设计一套系统,可以从简单的系统开始设计,比如说设计一个新闻系统或者设计一个留言板之类的,然后不断的去优化它,不断的去提升它。

不要小看这样一个小小的系统,当你逐渐的能够把一个小系统给设计的越来越完美的时候,然后你就可以去尝试做一些比较大的系统啊。因为当你全盘的去操作和开发一个系统的时候,你的整个思路就不是局限于这个系统上的某一块功能,而是整体的这个思想就贯彻到你的大脑当中了,这对于你的技术提升是非常有帮助的。

多想多做,而不要仅仅是完成工作,然后就去玩游戏了。

以上文字只是我的个人观点,如果各位看官有不同的观点,欢迎在评论区中讨论留言。

如果喜欢我的回答,可以给我点赞,转发并关注我,我在这里谢谢大家了。

admin
网友回答2022-01-13

第一,要强大的自律能力。学习是人一生中最不可缺少的东西,活到老学到老。必须要很强的自律能力,坚持每天学习新的知识。

第二,要有合适的方式方法。比如你现在只会增删改查,你可以整理一下你目前自己的知识点盲区所在。对你目前正在用的,并且还不熟悉的技术加以补充学习。

第三,要有合理的计划。说的能力都不是一蹴而就的,班长高楼平地起。再厉害的程序员,他的知识储备库也是靠自己一点一点积累起来的。千万不要贪多嚼不烂,合理安排自己的学习时间以及学习方向。给自己定一个半年计划,等到半年之后你再去看看计划实现了多少?如果你已经实现了一大半,那么恭喜你已经提高了。

admin
网友回答2022-01-13

java程序员绝大部分工作的时间都是增删改查,很多人觉得这项工作没什么技术含量,任何一件事情都要站在不同的角度去考虑,对于大部分的java程序员来讲开始前几年就是在为了达成增删改查而努力,大部分的程序员具备这种能力之后就开始相对安逸的状态了,增删改查的功能如果对于简单的工程代码来讲就是比较简单,如果是涉及到大总量的数据处理,能像简单数据一样玩转那就是真正的能力问题了。

所以java程序员如果能力到了增删改查的之后,就要考虑下一个层次的突破问题了,现在java的框架非常多,编程变得越来越简单化,也会更加不可控,主要集成的功能模块也是越来越多,大部分都是直接从开源社区直接拿过来使用的,平时用的时候可能基本上没有多大问题,一旦出现问题解决起来就是非常麻烦的过程,所以到了能够解决简单问题的能力之后就不要提早让自己进入安逸期,就要制定下一步的技术拓展能力,看底层代码到底是如何实现的,如何真的遇到底层的框架问题是不是具备能力去解决。

其实不只是java程序员,大多数的程序员在度过入门的苦逼的时期之后都会有一个比较轻松的感觉,就是常说的开窍了,好像做什么功能模块都不像之前那么费力了,感觉编程那就是那回事,这个时候特别容易放松对自己的要求,主要针对工作3年左右的程序员,这个时期对于框架性东西还不是很深刻,一旦有这种安逸的想法时间很快就容易过去。

如果现在的你处于这种状态,将是非常危险的状态,现在国内程序员的数量少数每年都会产出几十万的人数,如果能用几年的时间达到增删改查的能力,那么意味着新进入的人也可以用这些时间达成这种层面,后面的竞争自然会加大,由于技术一直是在进步不及时更新新的技能很容易被淘汰,现在很多人喊着软件行业不吃香了,说的就是一类水平不是很高,但是市场数量非常巨大,市场当然不会给出很高的薪资,建议在这个阶段的人重新规划自己的技术生涯,如果所在环境就是做点这种事情,可以考虑离职或者转岗。

寻找一个有挑战性的工作对于程序员的职业生涯还是非常有帮助的,有挑战意味着要强迫自己学习新东西,这样才能够迫使自己进步要学会改变,如果不能靠意志力来克服就考虑换个环境去做,一个人进入安逸区很容易脱离出来,前几天发生的甲骨文裁员事件,里面就是有很多程序员在里面当作安逸区当作养老的地方,企业毕竟需要竞争,这种类似的场景不会坚持很久的,所以让自己行动起来,多跟进一些新的技术才是保持市场竞争力的关键。

技术能力没有所谓的天生强者,所有的技术看上去很强的人都是逼出来的,潜力也都是强制挖掘出来的,这条法则对于程序员讲也是成立的,技术不行就是拿不到高工资没毛病。

希望能帮到你。

admin
网友回答2022-01-13

对一个已经两三年的Java程序员来说,如果主要工作还是增删改查,这是相当痛苦的一件事情。互联网行业是一个发展快、变化快的行业,身处这个变化莫测的行业,总让人感觉既兴奋又不安。


在Java程序员的职业生涯中,如何才能不断提升自己的核心竞争力,实现自身技术能力进阶,也一直是一个大家都比较关心的话题。下面简单罗列了Java程序员学习进阶的几个方向,供大家参考。


编程基本功:数据结构和算法

1.数据结构相关的哈希表、链表、二叉树等等

2.常见的算法有哪些?至少下图的算法我认为应该要掌握。

比如:HashMap如何扩容,重点就是考底层数据结构。

编程基本功:Java编程

这些都算是编程基本功底:多线程、JVM、并发容器、并发类、NIO等。

Web开发

其实web开发这个领域,如果你要掌握好了,发展也非常不错的。

比如:现在的H5、小程序等,对于掌握前端技术的开发人员,竞争力也是杠杠的。

当然作为后端开发人员,多掌握点前端的技术,那也是必须的。

数据库

重点就看图了,这里涉及的技术还是蛮多的,mysql、oracle、nosql相关的mongodb,以及如今大家都熟知的分库分表、读写分离等技术。

这些都是大家熟知的,我补充点设计相关的:数据库设计范式、索引、事务、数据库相关的慢查询、长事务。

这些也算是数据库技术的编程功底。

研发相关的框架工具

Java程序员对于下图应该都是比较熟悉的,这些框架与工具都是经常使用。

架构设计

谈到设计,就不得不提到项目中的概要设计和详细设计,这就会涉及到UML。

除此之外,整个项目的设计,这个时候考验你的架构设计能力。

这里的架构设计,包含的系列非常多,特别是Redis、应用程序拆分、拆分后涉及到的RPC微服务等技术,以及后端数据库的拆分技术,以及拆分后的分布式集群部署。

分布式会涉及到:分布式锁、全局唯一ID的生成、分布式Session…这里还有蛮多的,其实大部分我在【BAT架构技术专题合集】中都分享过了,回复【架构】,即可领取。


结束语


要知道,再成功的大佬也是从第一行代码开始的,增删改查是修炼成神必经之路,该走的阶段还是要走,但在走的过程中多看、多学、多思考、多实践,在自己不同的发展时期,找到属于你的立足点,只有站稳了这个立足点,你才可以更好的开始延伸自己别的领域。


  • 程序工作,大多始于增删改查,重复的小事做漂亮,同时扩展自己的技术边际;

  • 职业生涯中的转机,源于坚持不懈找方法、寻求改变,主动出击争取机会;

  • 欲速则不达,循序渐进成长,不同时期,有不同的成长阶段。


俗话说:师傅领进门,修行靠个人,想要技术进阶,需要自己持之以恒,付出100%的努力。提前做好准备,机会总是青睐有准备的人,程序人生,学无止境,共勉~

admin
网友回答2022-01-13

这是Java程序员中大部分初级程序员很容易走上的路,如果自己不主动学习,只靠公司完成的任务很难对自己技术水平提升。

我是Java开发者,看看身边工作了一年到三年的同事,能力参差不齐。

之前听一个工作了一年半的研究生同事分享自己的心得,当着部门总经理的面,说刚开始工作薪资不重要(也暗示了一些东西),主要应该花费精力和财力去提升自己。

工资不高是小事,把钱投资自己是大事

买技术书籍买技术课程,如果走正规渠道花费的都不是小数目,但是对于自己的能力提升,这点金钱和精力也是值得的。

很明显他属于工作之余会找自己的技术栈去深挖。乃至于他仅仅工作两年就可以担任技术组长,可以负责某个核心模块的开发任务。


这也说明一件事,增删改查只是为了完成初级的工作,当你自己主动去学习去提升,才会不断因为自己的能力充足而被赋予更多技术层面更高的任务。

关注“极客宇文氏”,一名有料的软件工程师。
admin
网友回答2022-01-13

看到这个问题,我快速回想了自己这十多年的程序员经历,感觉我所有工作的实质好像都是在做增删查改;但哪些是在提升工作能力,哪些是在做重复性的工作,以及怎样应对,我谈谈自己的看法。

增删查改,也要分场景看

举个例子,开发一个商城页面,展示销售量最高的十件商品。

当页面一分钟访问量只有100次的时候,我们可以执行100次select top 10;但是当一分钟访问量有100万次的时候,这还会是一个简单的查询么?

我在上一家单位的时候,所做系统的业务很简单,就是把一批数据,按照模板,加工成待发送的短信、电邮,基本上没有特别难的地方。

但是数据量很大,基本上每天都会处理生成几千万条数据,那时候公司还都是IOE的架构,只有单台Oracle支撑;也就是在这段时间,我练就了一身数据库优化的本领;但是想象一下,如果数据量再增加10倍呢?如果数据量再增加100倍呢?

毫无难度的增删查改,建议赶紧跳出安逸状态

如果每天做的都是毫无难度的增删查改(没有复杂业务,系统也没有多大的压力),建议还是早些跳出这个安逸的状态,就算你对现在的工作环境很满意;因为说不定到什么时候,你就会摸到职业发展的天花板,甚至会面临失业的危机。

还是上一家公司的这个项目,我在这个项目工作第三年的时候,基本上把能做的都做完了,优化基本上也到极限了,最后半年的工作状态是:需求来了,做一下设计,然后让其他同事开发;我朝九晚五,上班有大把的空间时间;还好我利用这些时间去学习,看流行的技术框架,后来跳槽,工资上升了一大截。

如果你正处于这种工作状态,我建议:
  • 一定要清楚地认识到:作为程序员,只做简单的增删查改,是很危险的;

  • 考虑一下能否把项目做得更好,是否可以负责更多的工作;

  • 多学习一些流行的技术,并考虑能否应用到工作中(眼界很重要);

  • 跳槽,寻求更大的平台,很多时候,程序员的成长都是被逼出来的。

  • 不要享受安逸!

最后,敬大家一碗鸡汤:你现在的生活水平,是你三年前的工作状态决定的;而你现在的努力程度,会决定你三年后的生活;软件开发是个逆水行舟,不进则退的行业,既然选择了这个行业,那么就要努力地“敲”下去。

希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

admin
网友回答2022-01-13

做JAVA开发的三年一个坎,你应该庆幸你还有一年的时间可以用来提升,让自己不要后悔!

不过话说回来,在平时的工作中其实90%的工作量都是增删改查,或者是对增删改查的改进,那些所谓的高并发,多线程,高可用系统,分布式系统,负载均衡,缓存,数据库读写分离,分库分表等等全部都是围绕增删改查来做改进的!

比如说缓存是因为数据库的读写压力大的时候,为增加读写效率而引进的,使用缓存的内存读写代替了数据库的硬盘读写!

比如说数据库的读写分离或者分库分表都是在单点数据库的压力过大,性能低的时候引入的无论架构怎么设计都是为了得到更好的读写效率!

再比如说,高可用,分布式都为了避免单点服务出现异常,导致读写服务不可用,从而引入的集群部署或者分布式部署!

由此可见,增删改查是我们最核心的功能,只不过我们引入了其他的架构,完善我们的功能,让我们的增删改查更加的快速!

在实际的开发过程中,要多思考系统的瓶颈在哪?增删改查的压力在哪?怎么改进?不要网上搜一堆乱七八糟的,觉得很屌的东西,学完之后发现他根本不知道是做什么的,一切的开发围绕我们的业务来展开,然后才是增强体验性,搭建快速稳定的架构!

那我们应该怎么来进阶呢?

1,大局观:不要只是盯着自己开发的功能,要知道整个系统的整个架构是什么?使用什么技术?服务之间怎么通信?整个服务的性能怎么优化?全面的来考虑,不然晋升的肯定不会是你!

2,不要一心扑在公司的工作上,要有自己的时间去学习最新的技术,去拓宽自己的知识,明白别的公司用的是什么?主流开发技术开发是什么?

3,一定要多总结,不管是平时的工作中或者学习中都能学到很多有用的东西,要把它转化成demo记录在自己的技术文档里面,方便以后自己查阅和使用!不是做过就算了,一定要记录下来!

我晚上加班的时候,除非有急事,不然都学习自己的!然后才能感觉自己有很大的提升!我自己记录了很多做过的,学过的JAVA相关技术,以后会一直分享,需要的话请关注!

admin
网友回答2022-01-13

你认为知道这个问题答案的人会闲得到这里回答问题嘛?

回到
顶部