架构师 如何从梦想变成现实?

开发 前端
本文是作者自己五年来的亲身经历的经验之谈,对于架构师这个的角色的理解和感悟!希望对大家有所帮助。

这个题目,不是标题党,也不是为了给出答案,而是自问,写出来一些看法,和自己对未来几个月的规划,当然更加希望同僚能多提意见或建议。

很久之前,从大学毕业开始,自己就一直做着“成为一个架构师”的梦,并且也在磕磕碰碰中前进和提升。但到现在已经工作了5年,却也还是不如人意。

从最开始做技术支持,到码工,到高级码工啥的,角色好像变了,但总是觉得有非常非常多的东西要学,要不断地历练。到现在再换了一个环境之后,心里真是更加清楚自己到底有几斤几两。不能全面否定自己的进取,应该说来,自己对架构师的角色越来越清晰吧。

首先说说自己到底想成为哪个方面的架构师。因为一直从事跟web相关的工作,什么前端,后端的开发都做过,所以,自己就想成为一个web开发的软件架构师。当然因为主要用java,也毫无疑问要跟java有关的工程。

从哪些方面出发呢?在这5年的工作中,有两到三年实际上跟开发有点脱钩,我没有好好开发,总是丢三落四的承担一点点开发工作(因为要带团队,有些身不由己)。总是会在静坐时清醒一些,想想自己应该干什么。终于在去年离开老公司,进入新环境,也更加清晰地认识到自己应该再从哪些领域着手提高:

1.针对业务或者是产品,以及工程或产品的生命周期选择开发语言和开发框架。

必须强调的是,任何架构,都不能脱离产品或工程需要而存在。尽管很多成熟框架可以在很多地方使用,那也是要针对特定的情况而言。而需求永远都是我们首先要考虑的,否则就会影响我们的判断。就像孙子定的是36计,而不是仅有一计,道理相同。只要你符合具体需求,哪怕是自己写的框架也是最成功的(DDD强调业务领域的重要性)。

用了几年java,说实话,没有java实现不了的,但是对一些实现,成本是很高的。就目前来看,java之于web开发,还是相当强劲的,因为有很多第三方软件的支持。从这个角度讲,可以给公司节约很多成本,但是java世界的开源环境是一个大而杂的生态状况,正如当今社会的鱼龙现状。于是,个人觉得应该再学习一至两门其他语言,用于针对不同的问题,实施不同的解决方案,而不是手里拿着锤子,看啥都像钉子。

因为接触的项目90%以上是java开发,所以,要对java相关的技术了如指掌,包括:jvm(尤其是6,7两版)、java api、web容器、设计模式、开源框架(如spring,guice等),重构技术等。

了解jvm,是要清楚java的底层实现,避免写出易于出错,或效率过低的代码。Java原产地的人总是很注重对基础信息的把握,但是我们却总是急于求成。

熟练掌握好api,是使用一门语言最开始就要达到的要求。因为java的底层实现是很优秀的,除非有特殊的效率等方面的需求,java中给我们的任何操作都提供了大量唾手可得的类和方法。尤其要熟练掌握的有:集合、io&nio、多线程等几个常用包。

web容器重要性尽人(开发同僚)皆知。至少要了解一到两个容器吧。(还是太少,开源的就得两三个,企业版的如weblogic,websphere直流的也应该会搭建,会部署,了解一些调优知识)

设计模式,应该在学习框架之前,最好是学过之后,再去看框架,因为很多框架中用了大量的经典模式,spring就是其中一个极为牛X的牛叉框架。我忍不住再说一次,这是个牛叉框架,在用spring之前,最好把Johnson的那边expert one on one弄来看看,我是看电子书,书有些老,挑其中关键点读,很受用。

重构,对java来说,尤其是可持续发展的java工程来说,是永远都不可避免的一种开发行为,有必要把Fowler的那本书好好啃啃。

2.深入了解存储。

要掌握关于缓存,数据库相关的知识。这点不想多谈,就是想让自己在数据库调优及数据库建模方面有所建树。涉及的数据库也不多,oracle和mysql。而缓存方面,因为本身这个世界就是百家争鸣百花齐放,所以,应该多了解如ttserver,memcache之类的文件或内存缓存实现。

知道存储,就要将其融于架构。让最大的读取压力集中到缓存,而把仅有的写操作施加于数据库,这种决策不是说了这么一两句就能搞定的。甚至这些是java架构调优的重中之重。

3.了解网络传输。

在分布式系统如此风靡的今天,要是不了解分布式,那我们的软件就固步自封了,同时也会给我们的硬件带来很大的压力,增加公司成本。在这个方面,很希望能从各位同仁处,得到些许建议。

4.熟悉操作系统。

Linux。

越写心里越是惊叹不已。因为真的有很多东西要掌握,而无法突出重点。

回看过去的5年,心里也很惆怅,曾经壮志凌云,今朝却有迷茫。不管怎么样,一个步子一个步子地迈出去。既然需要学,那就学。第一个5年已经过去,尽管不想俺们党说的第一个五年计划成果那么显著,至少也看到了自己的成长。

希望在此驻步观望的同仁,能留下些许箴言,兄弟拜谢。

原文链接:http://www.cnblogs.com/ericchen/archive/2011/06/29/2093784.html

【编辑推荐】

  1. 97条架构师须知
  2. 怎么成为一个软件架构师
  3. Google首席架构师谈Java的命运
  4. 从技术层到管理层修炼之路:架构师
  5. 甲骨文首席架构师谈开源 解读MySQL、Java未来战略
责任编辑:陈贻新 来源: eric_chen的博客
相关推荐

2020-11-09 08:10:47

菜鸟码农架构师

2018-07-03 15:46:24

Java架构师源码

2015-08-25 09:17:30

2014-08-27 09:51:13

Hadoop

2022-06-15 10:04:51

存储选型MySQL

2011-04-07 16:20:24

软件架构师架构师架构

2018-12-29 09:58:19

码农架构师Leader

2009-03-13 09:10:17

2013-01-23 11:24:23

物联网企业物联网IT管理

2015-08-12 10:10:44

2012-08-04 16:02:00

架构师

2021-01-29 11:30:47

数字定义车联网数字化

2015-12-11 14:29:50

2021-03-03 12:40:59

微服务架构软件

2009-12-04 10:11:59

IT专家

2012-06-17 12:58:04

架构师架构

2021-12-28 07:20:43

架构师技术架构

2012-08-28 13:34:28

架构师软件架构架构文档

2012-02-08 14:23:29

Wi-Fi千兆Wi-Fi802.11ac

2013-09-24 09:22:32

按需数据中心数据中心SDN
点赞
收藏

51CTO技术栈公众号