干我们程序员这行,就是要吃苦,加班写代码,加班看书。不过,反过来想,我们在扮演上帝的角色,还很开心的。我们的世界可能也是某个外星程序员写代控制的呢。
干我们程序员这行,要有兴趣、激情、越爱这份事业,不然,很难做出成绩。兴趣、激情这东西,也是要与工作结合起来,相辅相成。笔者不做过多评论。
笔者讲java什么呢?在次我不评论java与c谁优谁劣,也不讨论谁的技术含量高,可以说各有千秋,笔者只讲选择了java的同学以后怎么一路走过来。
笔者大致把java进阶分为几个阶段。一些阶段与java没有太多的关系的。此文最适合大学生了,可以认为是进入java世界的一个导论吧。不过你要了解基础的算法,数据结构,体系结构哦。首先你要明白,你想走技术路线还是业务路线。以下是讲技术路线的。
- 第一个阶段,初级工程师。就是要了解清楚java的语法及面向对象的知识。推荐的书籍是《java编程思想》或者一些java入门的书籍。如果想快速的了解,可以看视频,推荐孙鑫的《java入门视频教程》。在此阶段,你要至少写上几万行java的代码,对java的基础知识有所了解,如:java的语法、java的集合、注解、泛型、IO等。此阶段一般要持续半年到一年左右。此阶段是java的基础,可以自己写写记事本,计算器,小工具等。
- 第二个阶段,中级工程师。此阶段我们一般在公司就业了。
- 提高编写代码的能力。此阶段看的书籍比较多。在此阶段,你会发现第一阶段写的代码很糟糕,很复杂,自己看以前的代码也会很费解,反正,就认为以前写的代码就是烂。推荐的书籍有《设计模式--可复用面向对象软件的基础》、《Head First 设计模式》、《重构:改善既有代码的设计》、《Effective Java中文版》等
- 在此阶段,你可能要做很多的项目,这些项目要使你接触很多的技术。可以说要对J2EE规范有一个大体的了解。如:JMS、POJO、序列化、MVC等。对spring、apache MQ、ibatis、apache、jetty、maven、oracle、缓存机制、分布式、负载均衡、监控、网站架构、开发平台、云、事件模型 有一些接触与了解。此阶段一般在一年到2年左右。
- 第三个阶段,高级工程师。这个时候你就要考虑选择方向了,在这个时候你基本是一个合格的程序员了。一般的方向有:性能优化、项目管理、网站架构师、某个领域的技术专家等 此阶段有多久呢。。。不好说啊。可能很久吧。。。
- 对于性能优化,看的东西大致就比较深入了,一般看的书有《JAVA并发编程实践》、《linux内核》系列,《深入理解JAVA虚拟机》《分布式JAVA应用》《构建高性能Web站点》当然对于一些常见的工具你得熟悉JMETER、APACHE、JETTY、JBOSS等。
- 对于网站架构师,一般涉及到架构层面的东西了,要多与其他公司交流。知识点:一般是SOA、EDA等、书籍推荐《SOA实践指南——分布式系统设计的艺术》等。当然你还要研究许多的开源框架,如:APACHE、JETTY、JBOSS、MAVEN、SPRING等等等。。。。
- 对于项目管理,也就是说你从工程师变成项目经理了,你要带项目了,有时候也顺便带人。其实跟JAVA没有太多的关系,这个阶段看书基本很难有突破的,一般要实地带人,带项目。推荐的书是:《敏捷软件开发:原则、模式与实践》因为你是开发出身,看这本身有好处。另外就是《项目修炼之道了》
- 技术专家。此点就是专注专注自己的一块,可以是某个产品、可以是某种技术。例如:java JVM研究、LINUX内核定制、OSGI、静态代码检测、CORE JAVA、工具开发、JETTY定制等
- 第四个阶段,咨询师、专家。到了这个阶段,估计你就有大量的从业经验了。这个基本是从网站架构师转化过来的。这个阶段第一要会忽悠。呵呵。。。这个也是本事啊。一些软能力开始发挥较大的作用。如:交流能力、管理能力、英语能力。。。
- 第五个阶段,高级专家、骨灰级别技术专家等了。他们已经在一些技术领域有较大的成就了。可以说在业界有一定的名气了。君不见Qcon演讲的嘉宾,君不见白发的老头程序员。呵呵 。。。他们是怎么来的。坚持啊。。。。
计算机技能都是在做项目的时候进步最快了,都不能闭门造车,要多与人交流。尽量找自己喜欢的领域,再做自己喜欢的事情。不要在第二个阶段太久,要到第三个阶段,选择自己的方向。不管你做什么,尽量多地写技术博客、看技术资讯、多逛技术论坛。多研究研究开源的产品。最后,祝福你在java的世界里面航程原来原远,祝福你成为高级专家。
评论