0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个Java程序员需要掌握多少技术才能

工程师人生 来源:工程师吴畏 2019-01-17 14:26 次阅读

最近总有些断断续续的思考,想想从我入行以来,我到底学会了什么,做成过什么,以后要做什么,如何提升自己·······

工作3年了,常听人说3年,5年,10年是程序员的坎,每过一个都会有新的想法,新的改变。

最近刚失业,原公司要解散开发团队,转做其他业务,这个消息对我来说在意料之外,但是又在情理之中,只是没想到来的这么快,再这家公司待了2年,学到了不少技术,但是最后的半年,因为公司产品研发的一些问题,加上自身的懈怠和懒惰,基本上是在打酱油,现在想起来感觉很后悔,浪费了光阴,像这样能有一份收入同时又可以学到东西的机会其实是很难得的,只怪自己当时没领悟到。

然后就是投简历找工作,我预想的是有了工作经验再找工作应该不像当年刚毕业找工作那么难了吧,实际上却是当我拿着3年工作经验的简历面试了一些公司之后发现,其实我的能力对于胜任3年工作经验的工程师岗位还是有些差距的,突然感觉到比刚毕业时更无助的感觉,也后悔工作3年却没积累到3年的经验,也许我是一个经验用了3年,而不是有了3年经验。

我是做j2ee开发的,一直都在做网站方面的开发,但是这一段时间的面试下来,我感觉现在的公司招人特别是工程师这一岗位的要求是全能型人才,必须了解并掌握软件开发中每个环节的具体操作。而我,却只掌握了其中部分,其他的只有听过或见别人弄过,是只知其然,不知其所以然。所以鉴于我这样的情况,一些公司给我的定性是初级开发工程师,一开始我觉得很不高兴,哥好歹也工作3年了,就给哥这评价,可后来仔细一想,人家讲的未必没有道理。现在大部分软件公司的技术团队都不会很庞大,但是工作量和工作强度却是非常之大,如果一个团队成员不能独当一面,不能兼顾多方面工作,没有很全面的实力的话,整个团队效率和能创造出的效益也是非常低下的。

那我们作为一个Java程序员到底需要掌握多少技术才能适应现在的用人单位呢?

我个人总结后觉得有以下这么几项:

1. java 基础

这就不用多说了吧,不用说精通,至少是常用的要熟练,不会说连jdk里面提供的类都没认全的(我确实有小部分不常用的没记住的T.T)

2. 各种工具的使用

eclipse,SVN ,数据库管理工具等等

3. j2ee 框架

只要你是用java来做WEB应用,绝对少不了使用j2ee框架,目前流行的有

1)struts 2)spring 3) hibernate 4)ibatis 5)spirngMvc 等等的其他一些相似的框架,还有项目架构中经常会用到的缓存框架例如memcached ,ehcache,oscache等Java缓存框架

你需要掌握基本使用,部署,性能调优,配置

4. 数据库基础

数据库一直是程序员需要重点掌握的一部分,当下主流的还是关系型数据库,产品有oracle mysql sqlserver db2,当然nosql型数据库也是未来方向,很多公司也已经在使用,如redis mongodb membase 等等

你需要掌握基本使用,和根据业务逻辑设计表,索引,视图,存储过程,函数等

5. 应用服务器

凡是web应用首先都要部署到应用服务器上,常用的产品有tomcat,jboss, apache,resin 等等,还有用来提升性能的反向代理服务器如nginx等

你需要掌握如何部署项目,基本调试,调优

6. Linux系统

我们平常的编码通常在windows环境下,可是生产环境却通常是在Linux下,因为微软的东西,你懂得

所以我们需要掌握的是shell脚本,vi ,各种软件的安装,部署,其中shell脚本是最重要的(我个人觉得哈)

7. 前端开发基础 html css js

如果你不是专攻服务器编程的话,你一定会接触前端开发,这其中html你需要掌握各种标签的使用,css首先你得看得懂是吧,js 目前来看属于一门独立的程序设计语言,也是前端中非常重要的一块,需要掌握其语法和一些常用框架如jquery,extjs等的使用(我之前的公司前端只负责切html和css,js啥的都是我们自己来)

8. 设计模式

面试官最喜欢问的问题之一,这个被很多人吹的很神的东西我个人认为既不用奉为圭臬,也不用弃如敝履,这是一个思想的东西,也许写一辈子程序那23个设计模式也不一定全用的上,但是知道并且能够在适当的时候用他来解决问题就够了

9. 数据结构 算法

记得国外哪位大神说过,编程=数据结构 + 算法 。虽然感觉平常的工作中用到的不多,但还是觉得这是一个内功的东西,不会这两样也许你也可以完成很多开发工作,但是如果你精通这两样,你的思想境界和思考问题的高度就不是一般人能比的了,如果想要在程序员这条路上继续走下去,不管以后是成为技术专家还是技术性管理人才,都是必须要烂熟于心的。

--------------------------

上面几点是我觉得应该掌握的具体的技术,再讲些其他层面的吧

1. 项目管理

这里的项目管理我指的是对项目架构的理解和软件开发标准化流程的一些东西,因为一个团队除了技术老大之外其他成员也还是需要深刻的达成一个这方面的共识,不然没法共事对吧

2. 项目架构设计

这个就是需要大量实践和多看书来培养的了,如果你想成为架构师这是必须的,目前web方面的项目架构都是朝着高性能,高可用,大数据的方向,你需要掌握的不仅是上面提到的所有技能还有技术之外的产品,业务等更深更广的东西

上面仅仅是我工作中遇到和我认为应该掌握的,也是仅针对Java的web开发方向,如果你是android开发的话,还需要掌握android sdk中的方方面面。

如果将上述方面的技术都掌握到熟练的程度,胜任一个3年经验的开发岗位应该是没有问题了(我就没有全部掌握。..T.T),当然 如果你希望你的技术水平不只是熟练的话,个人认为则需要把上述其中几项往深度方面修炼,然后有所成再往广度发展,

先在一个领域有足够的深度,再往广度发展会容易很多,职业道路也会好走很多。

---------------------------------

首先感谢您看我啰嗦废话到这里,以上都是我在工作3年这个十字路口的一些所思所想,肯定有所不足和幼稚,希望您看到这里也能发表下您对您职业生涯的感想,我们大家一起交流成长,努力提高自己的技术水平,可以为将来更好的工作机会做准备。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2959

    浏览量

    104555
  • 程序员
    +关注

    关注

    4

    文章

    950

    浏览量

    29763
收藏 人收藏

    评论

    相关推荐

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 0次下载
    Linux驱动<b class='flag-5'>程序</b><b class='flag-5'>程序员</b>指南

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共荣。
    的头像 发表于 11-08 10:17 112次阅读

    第五届长沙·中国1024程序员节开幕

    据官方媒体报道,10月24日;  第五届长沙·中国1024程序员节在湖南湘江新区开幕;本次中国1024程序员节以“智能应用新生态”为主题。设置有岳麓对话、技术英雄会、主题峰会及赛事、展览等活动,
    的头像 发表于 10-25 15:42 159次阅读

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    大模型时代,程序员当下如何应对 AI 的挑战

    随着 AI 技术的飞速发展,特别是大模型的出现,传统的程序员角色正在经历深刻的变革,我们不得不重新对自己进行审视和思考。 通用领域大模型的“泛化能力” 在过去的二十年内,AI 领域的大部分研究
    的头像 发表于 06-28 16:19 504次阅读
    大模型时代,<b class='flag-5'>程序员</b>当下如何应对 AI 的挑战

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 389次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员
    发表于 03-06 21:32

    感觉我国的程序员前景片灰暗,是这样吗?

    程序员也分为好几等,在现在看来大部分的Android、Java、前端等等开发。已经看不到希望了,很多人都在边缘挣扎;刚看到位Android开发者,过完年回公司就通知被裁;可见每年都会有很多互联网
    发表于 02-20 20:52

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash<b class='flag-5'>程序员</b>V3 发布说明

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 785次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    Android”、与互联网大厂合作已达400+家、原生开发薪资岗位来看。鸿蒙对程序员来说无疑是条非常好的道路。 鸿蒙对程序员的影响 鸿蒙的出现,首先直接影响的是程序员。鸿蒙直接切割
    发表于 01-16 22:13

    诚邀报名 | GPT驱动的新程序员时代,开发者如何编程?

    模式,开发者们迎来了编程范式的全新变革。传统的编程不再局限于编写线性代码和优化逻辑,自然语言取而代之,成为了编程的新工具,这大大降低了开发的门槛。 如今,以ChatGPT、Copilot等为代表的AI工具,将全球的知识库和代码库都呈现在用户面前,只要有足够的想象力,每个人都可以成为“新程序员”。在这
    的头像 发表于 12-11 22:20 516次阅读

    开发java程序般步骤是

    开发Java程序般步骤通常包括需求分析、设计、编码、测试和部署等阶段。下面将详细介绍Java程序开发的
    的头像 发表于 11-28 16:43 1577次阅读

    java程序中允许有多个公共类

    Java种面向对象的编程语言,它的特点之是允许程序中包含多个公共类。这是因为
    的头像 发表于 11-28 16:32 1023次阅读