或许您已经读过我的那篇小文《如何成为java初级程序员》,那里面只介绍了成为一个JAVA程序员应该具备的一些知识。我相信您绝不会只想着做一个初级的程序员,上了软件开发的小船,您肯定有着远大的理想,比如要在比较短的时间内做个高级成员,在不久的将来做个软件项目经理,如果有可能您肯定想在一个公司做个高层,或者有自己的公司……

或许扯的有点远,但肯定是您我的梦想,在机会没有来临之前,让我们先做好脚下的每一步。现成为一个(高级)工程师再说。

另外,我要说明,您要想从本文中学到一些JAVA高级知识是学不到的,因为本文告诉您的作为一个(高级)JAVA工程师应该学什么,而不是告诉您具体的知识细节。

一、JAVA。要想成为JAVA(高级)工程师肯定要学习JAVA。一般的程序员或许只需知道一些JAVA的语法结构就可以应付了。但要成为JAVA(高级)工程师,您要对JAVA做比较深入的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。如果可能,希望您对JAVA的所有包都浏览一下,知道大概的API,这样您就发现其实您想实现的很多功能,通过JAVA的API都可以实现了,就不必自己费太多的脑经了。

二、设计模式。其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代码往往要借助一些设计模式。当然长期的代码经验积累,只要您用心,会使您形成自己代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?

三、XML。现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您的系统业务数据。因此您必须了解XML,包括它的语法,结构。您还需要比较熟练的使用解析XML的一些API,比如JDOM,SAX等,因为在我们一般的项目中,XML往往担当系统配置信息的作用,您需要用这些API解析这些配置信息,开发完美的项目。

四、精通使用一种或两种框架。像在《如何成为java初级程序员》中提到的那样,“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本”。但我这里希望您能精通,更多的是希望您能通过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,比如您会想到把SQL语句与您的JAVA代码分开,再比如您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。

五、熟悉主流数据库。其实真正比较大的项目都是有人专门做数据库的,但往往很多项目要求作为(高级)工程师的您也参与数据库的设计以及SQL的编写。所以为了更好的为国家做贡献,建议您还是多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果您不是“科班”出身,您还需要补充一些数据库原理方面的知识。

六、精通一种或两种WEBServer。尽管我再《如何成为java初级程序员》里讲过它,我还是要强调您要精通一种或两种。因为作为JAVA工程师,特别时想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,而且只有当您精通一种WebServer,您才可能最大限度地使用它的资源,这往往可以节省很多时间和精力。

七、UML。我知道您肯定想成为高级工程师,因此您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队中,UML是讨论项目的交流工具,您要想做一个软件工程师,您至少要能看懂,您要想做高级工程师,您要能通过它来描述您对项目的理解,尽管这不是必须,但却很重要。

八、站在高度分析问题:这不是一个知识点,也不是通过书本就能学得到的。只所以提到这一点,是因为我比您还着急,我希望您更快的成为一个高级的软件工程师,而不是一个一般的软件工程师。希望您在工作中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在您的脑海里对项目有个大致的分析、设计,然后和他们进行比较,找找差别,想想缺点。

九、工具。与在《如何成为java初级程序员》里提到的不同,您在这个阶段可能接触到不同的工具了,尽管您还需要使用JB或者IDEA,但能可能对ROSE,Together要多了解一些,因为您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧。

成为JAVA(高级)工程师,该学什么?相关推荐

  1. java初级工程师需要学多久_Java初级工程师需要掌握什么样的技术?

    1.语法:必须比较熟悉,在写代码的时候,IDE(Integrated Development Environment,集成开发环境)的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且 ...

  2. 小白学java进阶工程师路线图

    原标题:小白学java进阶工程师路线图 Java小白如何成长为Java大牛?这9点你做到了几点! 给刚进社会的程序员新生一个建议,想成为一个优秀的程序员,高级程序员,不能眼高手低,不能认为开发新项目, ...

  3. 邯郸 java高级_一个高级java工程师的进阶之路

    1. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究.您应该多 ...

  4. Java软件工程师需要掌握哪些知识技巧?

    Java编程语言在互联网不断壮大的岁月里,依然是互联网的中流砥柱,其应用范围之广,就业岗位之多,堪称第一,因此Java人才需求依然强劲. 那么Java高级软件工程师难学吗?学Java需要掌握哪些技术呢 ...

  5. java高级课程设计报告书_java高级课程设计报告模板

    java高级课程设计报告模板 Java 高级课程设计报告 课程设计名称:Java高级课程设计 学 期:13-14-1 班 级:计网1231班 姓 名:黄磊 指 导 老 师:刘志生.白党强 一.课程设计 ...

  6. 冒充java诈骗_天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷...

    写在开始 上班前的第一件事,就是码云看看有什么消息,回复下网友的问题.如果看到喜欢的项目会点进去瞅瞅,然后就开始一天的工作. 然而,这一天的工作并不开心,一个今日热门项目让自己很恼火,一开始感觉并没有 ...

  7. 高级Java软件工程师学习资料

    目标:培养高端Java企业级软件开发工程师 + 正规学历          当今软件市场人才需求火爆,国内和国际对于专业软件开发技术人才和外包软件人才极其匮乏,市场对高端Java软件工程师的需求尤其旺 ...

  8. Java高级开发工程师面试笔记

    最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...

  9. java架构师_成为一名Java高级架构师究竟要学哪些东西??

    Java架构师,应该算是一些Java程序员们的一个职业目标了吧.很多码农码了五六年的代码也没能成为架构师.那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力 ...

  10. Java高级开发工程师面试考纲

    转自: http://buluo.qq.com/p/detail.html?bid=11148&pid=1064765-1470643028 如果要应聘高级开发工程师职务,仅仅懂得Java的基 ...

最新文章

  1. SpringMVC容器初始化篇----ContextLoaderListener
  2. R12客户表结构分析
  3. 我的 Rokid 之路 附:记事本技能全部源代码
  4. socket通信(1)概述
  5. Yarn取代job/task tracker
  6. pytorch:多项式回归
  7. “ddl”有一个无效 SelectedValue,因为它不在项目列表中。
  8. layer加载的页面偶尔出现空白_Layer-Cake 模式的设计
  9. comsol临时文件夹中有不支持的字符_文件名中不能包含的字符
  10. matlab pretty什么用,matlab如何使输出结果更美观(symdisp函数——pretty函数升级版)...
  11. redis tutorail
  12. 光子能变成正负电子,能不能变成其他正反物质?
  13. Oracle数据库多语言文字存储解决方案
  14. JS将16进制颜色转为rgba格式
  15. iOS 谷歌地图及路线规划
  16. 微型计算机联想c325,寓教于乐一体机 联想IdeaCentre B325评测
  17. WebRTC[52] - WebRTC 带宽分配逻辑详解
  18. 方便快捷!身份证OCR带你一秒录入
  19. 【论文阅读】AD-GCL:Adversarial Graph Augmentation to Improve Graph Contrastive Learning
  20. RedisTemplate常用集合之boundValueOps

热门文章

  1. MATLAB程序设计与应用刘卫国(第三版)课后实验答案——13
  2. windows客户端安装时运行时库版本不匹配的问题
  3. CEEMDAN、EEMD、EMD、TVF-EMD
  4. 使火狐浏览器默认在新的标签页打开书签
  5. Android增量升级
  6. C++编写布尔表达式
  7. 什么是URL和URI
  8. 网易云课堂Python Flask框架全栈开发(200课全)
  9. Android 进阶——性能优化之电量优化全攻略及实战小结(二)
  10. ArcGIS 一级文件夹下的所有GDB中的所有要素类重命名