`
sd6292766
  • 浏览: 102255 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

转载:我是如何成长为系统架构师的

 
阅读更多
    来这家公司从事信息化工作已经也有三个年头了。有必要对这三年的工作和成长以及不足之处做一个总结。



刚来公司的时候,领导决策要将系统做重建开发。有的是成熟的业务逻辑,老的搬过来就可以了。当然,由于随着企业的业务的发展,会有新的需求,但大部分的需求是不变的。

在项目的开发方面,没有的是:

1.没有熟悉JAVA的开发人员。

2.没有J2EE项目的经验。

有的是:

1.IT项目的开发、测试和维护经验

2.数据库系统开发经验。

上述便是我团队的情况的简要概况。项目总是要做的,因为领导决策了啊。先看上述两个问题我们是如何解决的。

1.针对开发团队没有JAVA的开发经验,进行培训,由我亲自操刀。培训为期15天,从开发环境熟悉,到JAVA基础知识,上午半天讲知识,下午上机练习。

2.针对没有J2EE的项目经验。

整个项目就我一个人有过J2EE的项目经验,但是我以前没有做过J2EE项目的架构师或管理人员,我只是做过开发,熟悉里面的技术和开发技巧。怎么办?我们是这样解决的,请老师。专门请了老师来讲架构设计知识。这还不够,我们花钱请人做架构设计。但只是做架构设计,生成一个架构说明书后,离架构的工作还很远,还有很长的路要走,而在合作公司做好架构设计后,他们的工作也就基本结束了。后面的架构的工作,基本上是由我来做的。我说说我都做了什么事情。

(1)按照架构说明书,将整个架构环境搭建起来。

(2)开发一套便于开发人员开发的开发框架。

(3)设计了Swing的MVC模式,并开发实现。

(4)开发了整个系统的基础组件,为了实现架构中的复用的原则,这个很重要。

(5)负责整个系统的权限的管理,这个很重要,跟各个模块都有关系。

(6)负责开发的编码规范的制定,包括JAVA的编码的规范,同时还有质量属性方面的编码的规范。

(7)整个系统的异常处理、日志、错误验证等机制的设计和开发;

(8)第三方系统和工具的集成,如报表系统,浏览工具的集成等;

上述,只有(1)是现成的。其它的都是具体的架构方面的工作。很多人,都以为,架构师嘛,不就是高高在上的,待在象牙塔里给开发人员发号施令的人吗?其实不然,架构师需要每天跟开发人员在一起,一起写代码,一起工作,一起交流。

回顾起,在搭建快速开发框架的过程中,开发人员在开发的过程中,提出了很多有意义的改进的意见,直到今时今日,我们还在改进,只有开明的架构师,才能够设计出好的系统,好的基础组件。当然没有意义的,也被筛选掉的,架构师必须要有这样的决断力。

Swing的MVC模式就不说了,可能每个团队对于该项设计都会有所不同。

说说如何实现组件的复用,要实现组件的复用,必须要鼓励开发人员复用已有的组件以统一界面风格以及减少工作量。那么,就要告诉开发人员,目前我们的系统有哪些基础组件,他们都是怎么样使用或调用的。有了这些,开发人员自然就肯用了。

关于编码规范,可能很多人觉得这是项目开发中的小事情,其实不然,某位架构大师说过,架构无小事,编码规范的执行不力,直接影响到整个项目的代码质量,甚至影响质量。例如,要求不要出现在循环,要释放对象,尽量用StringBuffer等。在编码规范的执行的难度是,不是说你有没有规范,而是你的规范有没有被执行。那么如何使得你的规范被执行呢?

这就需要架构师的耐心和沟通能力了。在整个项目的开发过程中,架构师始终要保持与开发人员的沟通,苦口婆心地说,编码规范的重要性。时间长了,开发人员养成了好的习惯,架构师也就省心了。

根据上述经验,我做个总结。

1.架构师是整个团队的技术领导,需要具备领导能力。

2.架构师需要较强的沟通能力,需要与项目的各个方面的人员进行沟通,与项目经理沟通,帮助项目经理指定合理的开发计划;与需求分析员沟通,了解系统的关键需求和非功能性需求;与开发人员沟通,使得架构设计能够被真正执行;另外还有与物理架构负责任沟通等等。

3.架构师需要编写代码,这样使自己积累更多的代码经验,加深理解设计模式,可以帮助自己对于整个项目更加熟悉,同时能够回答开发人员在开发过程中出现的所有的问题,树立个人威信。

4.架构师需要有较强的IT知识和广博的知识面。IT的知识更新非常快,现在云计算等的出现,必然要淘汰一部分架构师,因此,架构师要保持生命力,必须要不断地学习。

5.架构师要懂业务知识。架构设计要满足系统的需求。我虽然刚到公司不久,但由于之前积累了很多业务相关的知识,经过短期的学习,也掌握了业务知识。

6.不要怕做事情,我在整个系统的开发过程中,我的开发量是别人的三倍还多,但我收获的,则也是三倍还多的经验。



自己的不足之处:

1.有时候会着急,当规范强调了10遍,还是没有得到很好的执行时,就开始没有耐心了。

2.需要加强沟通能力,将自己的想法能够推销出去。

3.需要在更多的业务领域知识方面得到快速的增长。



下一步的目标



1.系统理论地学习架构知识,使得知识更加固化,以进一步使得架构设计更加科学和有调理;

2.通过广泛地阅读学习企业信息化的各个方面的知识,包括ERP,SCM,营销管理,企业战略,企业管理等,每年看书或阅读文章至少100本或篇;

3.熟悉企业的业务流程,与企业不同层次的人员多多地进行交流,多学习,多沟通;

4.多交朋友,多向朋友学习与交流。

声明:文章我是转载的,地址是:http://blog.csdn.net/iammerryz/article/details/7644921
分享到:
评论

相关推荐

    软件开发人成长经历(转载)

    系统架构师需要设计出可扩展、高可用的系统,处理复杂的技术挑战。性能优化涉及代码优化、数据库查询优化等,以提高软件运行效率。安全性则是确保软件免受攻击,包括输入验证、防止SQL注入、XSS攻击等。 最后,成为...

    架构设计from infoQ

    - **目标受众**:InfoQ中文站明确将其新闻价值观的核心受众定位为架构师、项目经理、团队领导者以及高级开发人员。这一定位反映了对于这些群体的专业需求的高度关注。 - **角色定位**:作为一个技术社群的镜像,...

    网络工程师职业发展路线图(转载)

    随着经验和技术的积累,网络工程师可以晋升为网络系统设计师,负责设计和规划企业网络架构。 网络工程师的就业前景广阔,不仅可以在网络公司、IDC中心、ISP服务商等专业技术机构工作,也可以在大公司担任技术支持或...

    概要设计说明模板---转载---参考

    《××××系统概要设计说明书》是对整个系统架构和主要功能的宏观设计描述,旨在为后续的详细设计和编码工作提供指导,并确保所有相关人员对系统的理解和实施保持一致。本文档面向的主要读者群体包括系统用户、软件...

    性能测试经验总结资料,适宜初学和中级(由于是公司内部资料,不想花分勿下)

    - **多层架构下响应时间的构成**:在现代的分布式系统中,一个请求可能需要经过多个服务才能完成。因此,响应时间不仅包括客户端到服务器的时间,还包括服务器处理时间以及服务器之间交互的时间。这要求在测试时需要...

    Power9芯片介绍

    Power 9芯片首席架构师Brian Thompto表示,就一系列的性能标准而言,预期明年底上架的Power 9的性能与Power 8比有50%至2倍多的提高。内核和芯片层次上的新设计有助于提高性能。 --------------------- 作者:...

    leetcode下载-java-eight-part:『Java八股文』Java面试套路,Java进阶学习,打破内卷拿大厂Offer,升职加薪

    leetcode下载 :star: 点右上角给一个 Star,鼓励技术人输出更多干货,爱了 ! :wrapped_gift::wrapped_gift::wrapped_gift:...大家好,我是『雷小帅』,也是微信公众号『爱笑的架构师』的作者。 :hot_beverage:读过几年

    Java工程师新人入门书籍推荐

    - 《分布式Java应用:基础与实践》:淘宝架构师的经验分享,对分布式系统有深入阐述。 在学习过程中,除了阅读书籍,实践是必不可少的。尝试编写小程序,参与开源项目,或自己动手做小项目,都能有效提升技能。...

    SAP 业务流程大全(1)

    但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务流程等内容有一个全面而系统地认识和理解。...

    SAP 业务流程大全(3)

    但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务流程等内容有一个全面而系统地认识和理解。...

    SAP 业务流程大全(2)

    但如果要从SAP业务顾问提升到另一个层次,无论是方案架构师、项目经理,还是管理咨询、业务流程专家(BPX, Business Process Expert),都需要对企业架构、组织功能和业务流程等内容有一个全面而系统地认识和理解。...

    智能手机开启信息时代

    - **Android底层开发技术实战详解**:深入讲解Android系统的底层架构和技术细节,适合有一定基础的开发者。 - **iOS高级内存管理编程指南**:提供iOS应用开发中的高级内存管理技巧,帮助开发者优化应用程序性能。 - ...

    廖雪峰python教程完整版且排好版的pdf文件

    对于初学者而言,Python是友好的,即使没有任何编程经验,只要会基本的电脑操作和具备初中数学知识,通过每天坚持学习,就可以逐步掌握Python,并最终成为专业的软件架构师。 知识点六:Python在业界的影响力 ...

    java7源码-ReviewJavaFoundation:重温Java基础系列源代码

    java7 源码 转载请注明作者及出处: 本文出自的博客。 从事Java开发工作已近十...笔者开通了个人微信公众号【银河架构师】,分享工作、生活过程中的心得体会,填坑指南,技术感悟等内容,会比博客提前更新,欢迎订阅。

    UML常见工具之Powerdesigner

    真的很感谢Sybase,可以说PowerDesigner横跨了需求分析师、架构分析师、系统分析师、数据库设计师好几个领域,甚至集成了代码生成,只是一般很少使用。界面很简洁,入门级的使用也很简单, 这里以一个简单的在线报价...

    媒体与舆情监测解决方案.pptx

    慧聪邓白氏研究的系统模式不仅限于信息的收集和整合,还融入了行业专家和分析师的见解,通过机器学习和模型评估来预测传播效果,使数据转化为具有可评估价值的决策依据。 系统的逻辑架构包括信息采集、数据清洗、...

    fpga学习经历

    - **架构特点**:Nios II是一种RISC架构的软核处理器,具有高度可配置性。 - **开发流程**:学习如何使用SOPC Builder和Nios II IDE进行软核处理器的设计和开发。 **3.2 开发实践** - **设计Nios II开发板**:基于...

    房地产:市场逐渐恢复,成交量接近去年同期六成.pdf

    在当前的经济环境中,房...报告的主办单位城市测量师行保留了所有版权,并声明未经许可不得转载。报告所呈现的内容和信息,旨在为相关领域的专业人士和关注者提供市场动态和趋势分析,帮助他们做出更加科学合理的决策。

Global site tag (gtag.js) - Google Analytics