什么是架构师?如何设计构架?

qinzhiqiang 08-27 14:49 641次浏览

引文:绚烂之花开、秋昏之落叶、因花而结实、春来又一季;择木而筏、修之为干、堆叠有据、落之有序才能成器;系统之架构乃桥梁之墩底、高楼之根基,系统之成起于字节、字节构成函数、函数成类变为模块、模块据接口之连乃为层、层层相扣为系统,因需所要系统相连乃为系统集成,秋去冬来、语言变迁,升级换代成就系统工程,而程序员乃为此行业的基石,系统工程对从业者的思想行为的影响就是系统工程学,相比社会工程学,此为软件工程,技术人员的因软件工程所产生特殊行业的行为特征、思想特征,此项研究为软件心理学。

架构,通俗而谈,乃基础加骨干,犹如树根及树干,干枝相连为接口,枝叶相连为方法,绿叶翩翩为代码,代码是砖头。

架构设计首先以实用为主,不能因技术而技术,设计一个理想完美的架构,但难于执行实现。

架构设计要因人而异,设计架构要考虑实施团队的背景、经验、能力,合作能力强、经验丰富的团队设计要细到枝末;新组建团队、资历比较浅的团队架构设计定下主干即可,无需做过多约束,靠团队的自身发挥。

架构设计流程简单最美,架构要尽量简单,层次清晰明确,层次结构少,抓住主干,这样可以减少培训时间,维护成本较低。

师者,传道授业解惑也,架构师,不只是做架构设计的人,更重要的是能够让架构设计成功

今天我们讲一个概念:什么是架构师?

什么是架构师,我们从一系列从下至上的问题来旁证什么是架构,架构师的必备条件是什么来说明这个问题。

什么是代码,代码是按照编程语言规范编写的逻辑结果。

什么是程序,一段逻辑完整,为了某种需求而被编写的代码在经过编译器编译后所生成的二进制可执行文件。

编写代码的人称之为程序员。

程序员最基本的要素是能够编写代码,强调一点是可以满足需求的代码,什么叫满足需求,输入输出符合设计的要求,功能、稳定性、性能、容错性能够达到要求。所以,纠正一点:程序员是能够编写满足需求代码的人,注意要满足需求。

什么叫设计,函数组成模块,模块组成程序,设计工作就是做模块设计的人,同样的能够做到满足需求设计人才叫设计师。

什么叫架构,系统由不同的软件层次组成,每个层次包含不同的程序,层次之间的关系和连接定义就叫架构,能够做到满足需求架构设计的人叫架构师

谈完程序、模块、架构,现在谈到一个最重要的话题,评判技术人员的方法,所定义的技术人员包括程序员、设计师、架构师、项目经理、技术经理等,余判断技术人员有三项基本指标:技能、沟通、管理,也叫:技术能力、沟通能力、管理能力。

技术能力就是编码能力、设计能力、架构能力、需求分析能力,另一种说法文档能力、分析解决问题的能力都属于技术能力。

沟通能力就是表达能力、理解能力,能够理解到事情的本身和事情的根本,能够表达意思的本身和和意思的根本。

管理能力,对我们最重要的来说就是技术管理能力,对技术团队的管理。管理指的是人员组织架构、制定计划、任务分解、任务分工、进度跟进、风险控制、计划调整、沟通协调。

理解了三项基本指标,现在我们解释如何通过三项基本指标来判定技术人员的等级。

工程师具备技术能力。

设计师、开发组组长具备技术能力、沟通能力。

架构师必须具备技术能力、沟通能力、管理能力。

技术经理具备技术能力、沟通能力。

项目经理具备沟通能力、管理能力。

下面我们讲为什么?在此之前再讲解几条项目管理中的定理。

合同签订那一刻,项目的结局就已经注定,就像一颗种子种在哪里,日后长成什么样子就已经注定。

事情不到最坏的时候不要处理,处理就要雷厉风行。

什么问题都是技术问题,同样什么问题都是项目管理问题。

进度的问题是技术问题,技术问题是人员问题,人员问题是项目管理问题,项目管理问题是组织架构问题,组织架构问题是制度问题,制度无法改变,但这一切不是你无法完成目标的借口,逆境生存才是考验能力的时候

人员组织架构是项目管理的根基

不要把客户当一回事,战略上蔑视,战术上重视。注意:看此问题要从正面的角度看。

在能力允许的情况下,永远保持清醒

项目中所能掌控的力度取决于你自身的标准。

争取项目的难度高于项目管理,项目管理难度高于项目实现,相比较代码实现在压力上不值一提。

工作量的压力不是压力,是你自身给自己的压力

责任的压力也不是压力,看你所承担担子的分量

人事的事情第一秒内处理

人员的培训第一分钟内开始。

人员的调整从眼下开始。

人员的培训要看三代,自己的接班人,接班人的接班人,最后看好领导的接班人,那是你自己。

技术的问题没有谁很么好争论的,不是0就是1,下次就是1和0。

从事技术工作对人的社会属性是一种摧残和破坏,所以作为技术工作者更要主动挑战自己。

不断的突破,从境界上。

能力是技术人员的第一价值,做什么事情先客观的思考自身的能力,让事情被控制在自己能力的范围,这才叫从容。

想升级吗?随时能够接下领导的所有工作,那么你就可以了。

想做好工作吗?随时能够应对你所负责的一切人和事。

如果你觉得你的设计工程师不理解,那你一定还不是架构师,同样如果工程师都反对你的设计,那么原因在于你的能力本身。

人脑是单线程的,一件件处理效率最高,这是正常的思维,但你要做到同时处理一百件事情,别以为这是件容易的事情,没有什么不可以。

工作就是工作,需要的是理智,尽量少掺杂感情因素。

看技术人员的潜力,看他能承担几分的压力。

对人员的考核,除了看工作量,最重要的要看质量,一个不负责任的技术人员一天到晚都在改问题,能说他的产出多吗。

工作的效率可以无限提高,看你敢不敢想,能不能做。

永远做到不要在技术问题上争执,真的很傻

做老好人的人管理不了项目,为什么,自己去想。

把沟通当成项目管理的主要手段,项目管理无从谈起,项目管理需要强有力的手段。

以下从架构师话题的外延角度谈论一下什么是架构师。

按照从事研发阶段的不同,架构工作可以分为需求架构、软件架构、测试架构等。

按照系统层次的不同,架构工作可以分为网络架构、安全架构、硬件架构、数据库架构、系统架构、软件架构。

按照工作范围的不同,架构师还可以区分为企业架构师、技术架构师,区分在于企业架构师更多的是从成本、企业发展模式、商业价值、市场定位等角度考虑架构。技术架构师从需求、可扩展性、可维护性考虑问题。对于一个出色的架构师必须深刻理解开发成本、商务运营等方面的因素,但眼下先从软件架构师做起。

想做好高级软件工程师先从编码的水平和质量开始。

想做成架构师,先掌握足够的技能。

想做好项目经理,先从项目协调员做起。

现在我们知道什么是架构师了吗?架构师就是能够设计架构、具备较强的沟通能力、具备真正项目管理经验的技术人员

  • 暂无推荐