给一个刚出社会的程序员新生一个建议,想成为一个优秀的程序员,高级程序员,不能眼高手低,不能认为开发新项目,技术研发才学到东西,不能看不起维护系统,不要觉得本身懂的技术越多自认为本身很牛叉。假如你忽略了一个问题那么你永远成为不了优秀的程序员、高级程序员,那就是系统优化。java
1、JAVA。要想成为JAVA(高级)工程师确定要学习JAVA。通常的程序员或许只需知道一些JAVA的语法结构就能够应付了。但要成为JAVA(高级)工程师,您要对JAVA作比较深刻的研究。您应该多研究一下JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程。若是可能,但愿您对JAVA的全部包都浏览一下,知道大概的API,这样您就发现其实您想实现的不少功能,经过JAVA的API均可以实现了,就没必要本身费太多的脑经了。程序员
2、设计模式。其实写代码是很容易的事情,我相信您也有同感。但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。如何写出好的代码每每要借助一些设计模式。固然长期的代码经验积累,只要您用心,会使您造成本身代码风格。相信您的代码也比较符合代码的可重用性,可维护性,可扩展性。但既然前人已经给咱们总结出了经验,咱们何不踩着前人的肩膀前进?数据库
3、XML。如今的系统中不使用XML几乎是不可能的。XML的功能很是强大,它能够作数据转换、作系统的配置、甚至可保存您的系统业务数据。所以您必须了解XML,包括它的语法,结构。您还须要比较熟练的使用解析XML的一些API,好比JDOM,SAX等,由于在咱们通常的项目中,XML每每担当系统配置信息的做用,您须要用这些API解析这些配置信息,开发完美的项目。设计模式
4、精通使用一种或两种框架。像在《如何成为java初级程序员》中提到的那样,“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你能够省出不少的开发成本”。但我这里但愿您能精通,更多的是但愿您能经过框架的使用了解框架的思想。这样您在开发一个项目时思路会开阔一些,好比您会想到把SQL语句与您的java代码分开,再好比您会考虑把您的业务逻辑配置到XML或者数据库中,这样整个项目就很容易扩张了。框架
5、熟悉主流数据库。其实真正比较大的项目都是有人专门作数据库的,但每每不少项目要求做为(高级)工程师的您也参与数据库的设计以及SQL的编写。因此为了更好的为国家作贡献,建议您仍是多了解一些主流数据库,好比SQLSERVER,ORACLE,多链接SQL和存储过程以及触发器。若是您不是“科班”出身,您还须要补充一些数据库原理方面的知识。编辑器
6、精通一种或两种WEBServer。尽管我再《如何成为java初级程序员》里讲过它,我仍是要强调您要精通一种或两种。由于做为java工程师,特别时想成为高级JAVA工程师的您,您不可避免地要部署您的项目到WebServer上,并且只有当您精通一种WebServer,您才可能最大限度地使用它的资源,这每每能够节省不少时间和精力。分布式
7、UML。我知道您确定想成为高级工程师,所以您有必要了解或熟练或精通UML,这取决于您有多大决心想成为高级工程师和项目经理。在比较正规的开发团队中,UML是讨论项目的交流工具,您要想作一个软件工程师,您至少要能看懂,您要想作高级工程师,您要能经过它来描述您对项目的理解,尽管这不是必须,但却很重要。ide
8、站在高度分析问题:这不是一个知识点,也不是经过书本就能学获得的。只因此提到这一点,是由于我比您还着急,我但愿您更快的成为一个高级的软件工程师,而不是一个通常的软件工程师。但愿您在工做中多向您的系统分析员、需求分析员、系统设计员学习,多站在他们角度上去看您在开发的项目。在最好在项目之初先在您的脑海里对项目有个大体的分析、设计,而后和他们进行比较,找找差异,想一想缺点。工具
9、工具。与在《如何成为java初级程序员》里提到的不一样,您在这个阶段可能接触到不一样的工具了,尽管您还须要使用JB或者IDEA,但能可能对ROSE,Together要多了解一些,由于您要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧。源码分析
若是你想学习 Java 工程化、高性能及分布式、高性能、深刻浅出。性能调优、Spring,MyBatis,Netty 源码分析和大数据等知识点能够加个人扣扣群:920212276,进群便可免费领取!