一个高级java工程师需要哪些能力和技能?
第一,JAVA。
想成为JAVA(高级)工程师,必须要学习JAVA。一般的程序员可能只需要知道一些JAVA的语法结构就可以应付。但是要成为JAVA(高级)
工程师,你应该对JAVA做更深入的研究。你应该多学习JDBC,IO包,Util包,Text包,JMS,EJB,RMI,thread。如果可能的话,我希望你会
浏览所有的JAVA包,大致了解一下API,这样你就可以发现很多你想实现的功能都可以通过JAVA API来实现,不用自己花太多时间。
第二,设计模式。
其实写代码是非常容易的,相信你也有同感。但是如何写好比较难。“好”这个词包括代码复用性、可维护性、可扩展性等等。如何写好一代
代码通常依赖于一些设计模式。当然,代码经验的长期积累,会让你形成自己的代码风格,只要你用心去做。我相信你的代码也是符合代码的复用性、可维护性和可扩展性的。
但是既然前辈已经为我们总结了经验,我们为什么不踩在前辈的肩膀上呢?
第三,XML。
在当前系统中不使用XML几乎是不可能的。XML非常强大,它可以做数据转换,系统配置,甚至保存你的系统业务数据。所以你必须明白
XML,包括其语法和结构。还需要熟练使用一些解析XML的API,比如JDOM、SAX等。,因为在我们一般的项目中,XML经常充当系统配置的角色。
信息的作用,你需要用这些API来解析这些配置信息,开发出完美的项目。
四、熟练使用一两个框架。
“框架会有很多可重用的代码,良好的层次关系和业务控制逻辑,而且是基于框架的。
开发可以为你节省很多开发成本。“我希望你能在这里掌握它,更重要的是,我希望你能通过框架的使用理解框架的思想。这样在开发一个项目的时候会开阔你的眼界,比如你。
你会想到把SQL语句从你的JAVA代码中分离出来,比如你会考虑把你的业务逻辑配置成XML或者数据库,这样整个项目就很容易扩展了。
五、熟悉主流数据库。其实真的大项目也有人专攻数据库,但往往很多项目都需要你作为(高级)工程师参与数据库设计和SQL编写。所以为了
为了更好的为国家做贡献,建议大家多了解一些主流数据库,比如SQLSERVER、ORACLE、多连接SQL、存储过程、触发器等。如果你没有受过“训练”
另外,你还需要补充一些数据库原理的知识。
精通一两个WEBServer。
因为作为一名JAVA工程师,尤其是
如果你想成为一名高级JAVA工程师,你必然会将你的项目部署到一个WebServer上,而只有你精通一个WebServer,你才能充分利用它。
资源,这往往可以节省大量的时间和精力。
七,UML。
你肯定想成为高级工程师,所以你了解或者精通UML是很有必要的,就看你做高级工程师和项目经理的决心有多大了。在更正式的开发团队中
UML是讨论项目的交流工具。如果你想成为一名软件工程师,你至少应该能够理解它。如果你想成为一名高级工程师,你应该能够通过它来描述你对项目的理解,虽然这不是必须的。
但这很重要。
八、站在一个高度分析问题:
这不是知识点,也不是通过书本可以学到的。我提这个只是因为我比你更着急。我希望你很快成为高级软件工程师,并且
不是普通的软件工程师。希望你在工作中多向你的系统分析师、需求分析师、系统设计师学习,从他们的角度去看待你正在开发的项目。最好是在项目开始的时候。
你脑子里对项目有一个大概的分析和设计,然后和他们对比,找出差异,思考不足。
九、工具。
在这个阶段,您可能会接触到不同的工具。虽然你还是需要用JB或者IDEA,但是你可能是对的。
ROSE,一起需要了解更多,因为你要画UML了。不要对Dreamweaver等HTML编辑器情有独钟。让初级程序员写那些JSP页面。
微观方面
1.核心Java部分
这是最基本的。对于一个高级java开发人员/设计人员来说,需要精通这一部分。要点如下:
A.面向对象编程的思想(封装继承的多态接口)
B.字符串处理
c.java.lang包、java.util包等常用包。
D.java异常处理
2.Java高级区
A.Java输入输出流
B.Java多线程技术
C.Java网络规划
d.Java摇摆舞
后两项可以理解,如果项目需要可以深入研究。
3.前端基本功
* HTML+CSS网页开发
* JavaScript
* Jquery
*浏览器兼容性CSS hack(了解)
4.巧用JSP+Servlet进行开发。
5.MVC设计模式、原则和相关框架,比如Struts。
6.SSH框架
7.缓存技术会议&;甜饼干
8.熟练使用多个Java开发工具(Eclipse/MyEclipse/JBuilder/JCreator/intelli jieda/Netbeans)。
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式= =
11.Java反射机制
反射的各种用途
12.了解或熟悉C、C++、. NET。
13.熟悉JDK配置和环境变量。
14.oracle是必须的,最好比其他(mysql,sql server,access==)多了解一个。
Oracle:视图、索引、存储过程、触发器、游标、包、公共函数= =
15.数据库原理
事务原理、锁机制、表连接、复杂查询语句(工作经验)、性能调优、表锁及解决方案= =
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,请求和响应的原理,HTTP状态(了解常用)和Https原理。
19.熟悉Linux基本命令,用过Linux/Unix系统,会写shell脚本,会在Linux上部署项目。
20.了解windows系统的批处理脚本bat。
21.要理解HTML5,你最好学过。
22.熟悉一个JS框架,比如Prototype。
23.J2EE原则熟悉一个以上的web容器如Tomcat、JBoss、WebSphere和WebLogic = =。
24.熟悉ant或maven
25.熟悉一门脚本语言,比如python,ruby。
26.懂php/ asp。
27.了解ftp协议和原理。
28.熟练使用Junit test,熟悉Mockito等测试工具。
29、熟悉javac、javadoc、native、native2ascii等常用命令。
30.熟悉常用的排序算法,如冒泡排序、快速排序等,最好自己研究一些算法。
31.了解Flex(不学也没关系)
32.理解敏捷开发模型
33.工作流至少使用过一种工作流,如OSworkflow,来理解其原理。
34.用过VPN了解过它的原理。
35.熟悉jstl表达式和el表达式。
36.熟悉Web服务、WSDL和SOAP。
37.图像处理,如图像上传、预览、大小限制等。
38.版本控制工具,SVN
39、JSON技术,JSON+AJAX
40.分页技术,最好自己去体会,不要只知道原理。
41.Java邮件
42.Java读写TXT,Excel和JXL技术。
43.JVM原理,JVM内存管理,GC,Java栈池
44.熟练使用以下工具:
办公软件,word,excel,ppt等。
sql开发数据库开发工具
Outlook是大公司用的。
Ue编辑器
浏览器控制台,调试
嘘/PUTTY遥控器
45.UML建模工具Rational Rose等。
46.使用log4j
47.用过百度、腾讯街景、新浪微博等开放API。
48.静态页面技术(伪静态页面)
49.报表技术,使用报表制作工具,如xcelsius。
50.对于调度任务,比如Spring batch,要学会定制批处理任务(不适用于第三方工具)。
51.了解uuid
B/S和c/s架构
53.正则表达式
54.了解jndi jms
55.企业资源计划(Enterprise Resource Planning)
56.UNICODE编码,乱码解决方案
57.开源网络编辑器,比如ckEditor。
58.二元原则
59.我使用过并了解过开源论坛框架,比如discuzz。
60.GWT,关闭框架
61.了解大数据和云计算
62.搜索引擎搜索技术
63.软件工程、项目管理
工作要求
教育培训
计算机相关专业,大专以上学历。相关专业证书包括:Sun认证Java程序员(SCJP)和Sun认证Java开发人员(SCJD)认证。
工作经验
具备一定的软件分析和设计能力;熟悉Java、Servlet、JSP、EJB等开发技术;熟练使用Eclipse或jbuilder等java开发工具;熟悉JAVA+STRUTS架构和开发工具;熟悉至少一个数据库的开发和设计;具有良好的学习能力,责任心强,良好的沟通能力和团队合作精神。
薪资参考
根据智联招聘中上海java工程师的薪资,据说截止到2012,13年6月,java工程师的平均水平已经达到了6435。按照安卓市场在移动互联网的份额,我相信这个职业的薪资水平会继续上升。
职业前景
Java是目前世界上最流行的计算机编程语言,是一种面向对象的编程语言,可以编写跨平台的应用软件。可以总结出JAVA有自己独特的优势:语言简单,是面向对象的分布式应用,安全,架构中立,可移植,最重要的是,是一种动态语言。
据权威统计机构统计,在所有对软件开发人才的需求中,对JAVA工程师的需求占总需求的60%~70%。JAVA工程师工资比较高。一般来说,有3到5年开发经验的工程师年薪654.38+万元是很正常的。
JAVA发展方向
第一,成为管理者,比如产品研发经理、技术经理、项目经理等等;第二是他的技术工作,成为高级软件工程师,需求工程师等等。
再来看看IDC Java工程师相对较高的薪资待遇。Java软件工程师平均月薪4000-10000元不等,远超应届毕业生平均月薪2500元。一般来说,一个有一年工作经验的Java高级软件工程师,年薪大概是10-13000元。
Java就业方向:可以从事JSP网站开发,Java编程,Java游戏开发,Java桌面编程,以及其他与JAVA语言编程相关的工作。可以进入电信、银行、保险专业软件开发公司从事软件设计和开发。