设为首页 收藏本站
查看: 846|回复: 0

[经验分享] 架构师,如何从梦想变成现实?

[复制链接]

尚未签到

发表于 2017-2-19 07:51:38 | 显示全部楼层 |阅读模式
  这个题目,不是标题党,也不是为了给出答案,而是自问,写出来一些看法,和自己对未来几个月的规划,当然更加希望同僚能多提意见或建议。
  很久之前,从大学毕业开始,自己就一直做着“成为一个架构师”的梦,并且也在磕磕碰碰中前进和提升。但到现在已经工作了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年已经过去,尽管不想俺们党说的第一个五年计划成果那么显著,至少也看到了自己的成长。
  希望在此驻步观望的同仁,能留下些许箴言,兄弟拜谢。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-344014-1-1.html 上篇帖子: WCF揭秘——简单的WCF开发实例 下篇帖子: 谈一下EJB
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表