Java架构师指南 - (EPUB全文下载)
文件大小:0.41 mb。
文件格式:epub 格式。
书籍内容:
Java架构师指南
第1章 编程基础
第2章 需求调研
第3章 项目开发
第4章 项目部署
第5章 编程环境
第6章 架构师思想
第7章 数据库
第8章 Struts Spring Hibernate
第9章 Spring MVC
第11章 产品思维
第12章 项目运维
第1章 编程基础
程序员到架构师的进阶之路是非常艰辛和漫长的,不但需要掌握很多高级的知识技能,还需要有过硬的基础知识。本章主要介绍Java程序员走向架构师的基础知识,还有开发环境的搭建。通过本章的学习,读者可以大致了解程序员的进阶之路,也可更加深刻地认识到程序员的发展方向。
1.1 程序员进阶
大学毕业后,初出茅庐的菜鸟经过千辛万苦,总算是找到了人生中的第一份工作。但是,随着工作的开展,菜鸟所面对的问题越来越多。有些人坚持了下来,有些人中途放弃,有些人则在职业生涯中选择了转型。作为一名程序员,不但需要编写大量的代码,还需要对自己的职业生涯做一个规划。结合前辈们所走过的道路,这个职业规划大致是图1-1所示的这个样子。
图1-1 程序员职业生涯
一般来说,从初级程序员到高级程序员需要经过5年的磨砺,这个时间段基本上是业界的共识了。而且,在众多招聘信息中也可以发现程序员的起点都是需要两年工作经验的。也许,有些天赋异禀的程序员可能经过3年的刻苦学习也能达到高级阶段,但是,他们的知识技能往往并不全面,可能只是在某些方面比较熟悉罢了。到了高级程序员的阶段,可供选择的方案就比较多了,大概有图1-2所示的这3个走向。
图1-2 程序员发展方向
如果高级程序员再向上进阶的话,会面临3个选择。第一种方案是成为项目经理,负责管理加上部分开发。因为高级程序员对公司的项目是非常了解的,对公司目前的开发过程也驾轻就熟。如果本人有这方面的意愿,很容易胜任项目经理这个角色。而且,公司通常会从内部选择项目经理,空降项目经理的方式并不是常态,归其原因就是难以熟悉项目架构。
第二种方案是高级程序员可能更喜欢专著于技术,不喜欢出差和撰写大量的项目文档。在这种情况下,他可以成为一名架构师,专门负责维护公司的项目、产品方面的架构工作。如果公司有一定的规模,他可能会成为研发平台的负责人。当然,这种情况的前提是该程序员没有跳槽。
第三种方案是高级程序员可能经历了若干年的开发后,对写代码已经深恶痛绝,丝毫感受不到任何快乐了,但他对公司的项目和产品又非常熟悉,也有深厚的研发积累。在这种情况下,他可以彻底转型成为一名产品经理,纯粹负责公司产品的规划、设计、包装,甚至肩负一定的市场职责。当然,成为产品经理的前提是公司的项目已经产品化或者正在产品化之中。所谓的产品经理,通常就是向技术部提出一个原型设计:“看吧,这就是我想要的东西,至于怎么实现,你们看着办!”如果他懂代码还好说,但如果不懂代码,可能会让程序员陷入抓狂状态!
到了高级程序员的阶段,很多人就开始思考:究竟是去做项目经理?产品经理?还是继续写代码成为优秀的架构师呢?每个人的想法是不一样的,所作出的选择也是不一样的,这跟自己的能力和性格也有一定的关系。
项目经理:在大型公司里,主要起协调资源的作用,再往上还有项目集经理。而在一些中小型公司里,项目经理不但要做好管理,还要兼备一部分代码的开发工作,但与此同时,也会有5年经验左右的项目组长,来管理不同的项目组。在软件行业中,经常有这样一个争论,项目经理到底应该不应该写代码?支持和反对的人都很多,但作者认为,这也是仁者见仁、智者见智的事情。首先,项目经理自身也是资源,是资源就有消耗,有些老板可能会认为:“我花这么多钱,请一个项目经理过来只为了写写文档,是不是太亏本了?”但到了数万人的大公司,该公司的项目通常特别多,就需要项目经理非常专注地管理项目,而不是分心去写代码。这种情况下,老板的思路就会转变,你写什么代码?好好地管理好公司的项目,不让它出乱子就可以了。
产品经理:一般则是公司已经将项目过渡到了产品后,才能发挥更大的作用。如果公司一开始只有项目,则需要大量的时间来积累,最终实现产品化。在这个过程中,往往不是很需要专职的产品经理,可能项目中的每个人都会对项目献计献策,来使项目更加通用化。产品经理自身也是需要积累的,如果他成功地设计了一款App,并且在市场上取得了极大的成功,那么他的职业生涯可能会因此镀金,这个App将会成为他能力的体现。
架构师:专注于公司的研发平台,管理框架方面的东西。例如,写核心代码,并且指导底下的开发人员合理地编码,维护代码库。在小公司里可能只有一两名架构师,但是在数万人的公司里,架构师会非常多。在这种情况下,架构师有可能会成为程序员级别称谓。例如,你在该公司待了8年,虽然你干的活一直是普通研发,并不负责实际上的架构,但是公司有正常的晋升渠道,你的级别就会从高级软件工程师上升到软件架构师。这种情况,在外包公司比较常见。
全栈工程师:是最近才兴起的一个概念,但全栈工程师说到底还是程序员,类似于高级开发的角色,只不过是懂的东西比较多,前端和后端都可以做,技术比较全面。全栈工程师极大地拓展了自己的开发技能,成为了项目中的骨干成员,类似于技术专家的角色。一般而言,小公司比较喜欢这样的人,招募一个可以顶3个。但从学习的角度来说,全栈依然是不错的目标。因为只有成了全栈工程师,才更能接近架构师。
每种开发语言,都有自己领域的架构师,如C++架构师、PHP架构师,当然也有Java架构师了。架构师需要对公司的整个研发平台了如指掌,清楚平台中细枝末节的东西。他极有可能是陪伴着这个公司成长起来的程序员;也极有可能是在别的公司工作多年后跳槽过来的。前者对公司的项目、产品非常熟悉,甚至自己还动手写过业务层。后者可能只是从大体上了解公司的研发平台,毫不深入,但这并不影响他的发挥,真正的架构师看到代码就有一种亲切感,可以很容易分析出隐藏在代码前后的业务过程。
Java架构师,至少需要在Java领域有5年的开发经验。他需要掌握的内容很多,简单点可以分为前端、后端、数据库、服务器、中间件等。前端插件可以极大 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Java架构师指南 - (EPUB全文下载)