很久以前(4,5年前)当核心码农,只需保质保量完成既定任务。技术选型开会的时候随便yy,反正最后拍板背书的人不是我。完成特定的任务,想算法,做优化,实实在在的产出,很有成就感。
而最近这几年,开始渐渐提升自己,从架构师,技术经理,到技术负责人。现在开会不敢乱说,技术也不敢乱选。因为要给设计做最终拍板,确定最终的技术架构体系。所以会经常焦虑自己做的设计是不是有坑,是不是太low等等。
同时在公司有限的资源内,还得决定哪些先做哪些缓一缓。以前我只需要把待做的1234抛出去,具体做啥上头说了算,你说做1我就做1,不用过脑子。现在经常1234都要做,手头的资源只够做2个,优先级还得自己协调,光想这个优先级就头大。
因此在此开贴,抛砖引玉,谈谈自己对架构师职责的理解。
首先,我们应该明确,不同公司对架构师的定位不尽相同,而且也和架构师在一个项目中切入的时间点有很大关系。经历过几家公司的架构师职位,有的是以技术选型,设计阶段给技术团队提供咨询为主;有的则是系统调优,代码重构,性能优化为重;而还有些公司,CTO的设想是,产品经理提产品需求,架构师提重构和优化需求,并且作为顾问参与到所有项目的设计阶段。
在我看来,架构师对公司核心业务,组件化,耦合,解耦的理解程度如何,对新技术保持浓厚兴趣和探索,决定了一个公司在技术演进发展道路上是否会一路坦途。同时,架构师应该深刻理解,架构是被业务推动而发展的。
优秀的架构师在作业时,因为长期经验使然,会自然不自然的留下平滑升级的余地。而不会在这个时间点就引入过多架构问题;在构架之前都需要用采取类似伪代码的形式把问题勾画一遍,这样能让各种关键细节问题浮现出来,然后再去讨论, 否则就是空谈。
架构师不会关注细节,但是架构师需要知道有bug或者性能问题(有人告知或者线上表现观察出来),然后别人用的时候给出建议。具体为什么有bug,如何做算法优化,架构师可以不用太深究。架构师关心的是更high level的大模块之间的关系。当然也有公司要求架构师切实可行的钻研进去,做好各种优化和调优工作,颇有点救火队员的角色扮演。这种情况的出现,显然是前期项目协调和产出产生了较严重的问题所致。
当然自己做实现也有个抽象和分层的问题,我觉得这个问题在不同层次上是同构的。网站级别的架构和模块内部的架构,道理和方法是一样的。
不过我想说的重点就是,要抵制那些过度微观的工程倾向,从来不做API评审,但是code review 抓的很紧,这就属于本末倒置,code review本来就是一个微观的东西,你写的东西leader评价再好,格式再优美,higher level上是一坨就不行。
我认为在各个层面上,能控制界面层就很好了,内部实现是实现的问题,这个在上一层可以系统的解决,比方引入稳定性和性能反馈,你做个变更我看下好了还是坏了,到变更这个层次,结论就很强了。
大体上,宏观指标好的,也更可能是fixable的,反过来,不fixable,但是宏观指标好,你也没必要去深究,最多这块重写。
最后,一个现实问题,架构师应不应该参与编码呢?架构师如果完全不做编码,时间长了以后自己的知识如何持续更新,与时俱进才是最大的问题,而且我觉得这基本上是无解的。更坏的情况是,有些架构师自己的知识懒得更新,所有新的事物,一律要别人往他知道的东西上套。这时候谁还服你,只能是you can you up。
所以,我不认为脱离编码去搞架构是一件好事。也不认为脱离业务去搞技术框架是一件好事,最好还是一边干,一边搞这些东西。建议适当编码,目前我每周仍抽出时间看看代码偶尔也编码,实际工作中,可以进行业务和非业务核心层的编写。
分享到:
相关推荐
在IT行业中,系统架构师扮演着至关重要的角色。他们负责设计和规划复杂的软件系统,确保其高效、可扩展且易于维护。这篇论文范文是针对那些准备参加“软考”(全国计算机技术与软件专业技术资格考试)中的“系统架构...
这篇论文范文将深入探讨系统架构师的工作职责、核心技能、架构设计原则以及实际案例分析。 一、系统架构师的角色与职责 1. 系统设计:架构师是系统设计的主要责任人,他们需要制定系统整体结构,包括硬件、软件、...
下面,我们将根据这一主题,深入探讨几个关键的知识点,这些知识点不仅涵盖了架构师的核心职责,也反映了在现代信息技术环境下,架构师所需掌握的关键技能与理论基础。 ### 一、软件架构设计原则 软件架构设计是...
根据提供的文件信息,数据架构师的岗位职责可以分为三部分:数据仓库架构师的岗位职责、数据架构师的岗位职责和架构师的职责。 数据仓库架构师的岗位职责 数据仓库架构师的岗位职责包括: 1. 制定数据仓库建设...
在IT行业中,架构师的角色至关重要,他们负责设计和规划软件系统的整体结构,确保系统的可扩展性、稳定性和高效性。"所有架构师必读十篇经典论文"集合了IEEE1471-2000标准相关的精华内容,旨在帮助架构师提升专业...
【系统架构设计师】论文主要探讨了微服务架构在构建一站式互联网大数据征信平台...通过深入理解和实践微服务架构,架构师可以更好地应对现代企业面临的快速变化和高并发挑战,为业务发展提供更加稳定和灵活的技术支持。
#### 一、架构师的概念与职责 - **概念**:架构师是负责设计系统或软件整体结构的专业人员,他们需要考虑系统的可扩展性、可维护性、性能等多个方面。 - **职责**: - 设计系统的整体架构; - 指导开发团队按照...
《系统架构师论文范文》这个压缩包文件包含了81篇系统架构设计的论文样本,旨在为准备参加系统架构设计师考试的学生或专业人士提供参考资料。这些论文不仅涵盖了系统架构的基础概念,还深入探讨了架构设计师在实际...
首先,讲义从“架构师与设计师”的角色区分开始,探讨了架构师在软件开发团队中的定位和职责,以及他们如何区别于传统的设计师。架构师不仅需要关注技术细节,还需要具备全局视角,理解业务需求,并能做出对系统整体...
软件架构师的主要职责包括但不限于: - 定义软件的整体架构设计; - 设计系统的模块划分及组件之间的交互模式; - 制定技术标准和编码规范; - 进行技术选型,选择合适的开发工具和技术栈; - 指导开发团队遵循架构...
系统架构师是一个至关重要的角色,他们负责设计和规划复杂的信息技术系统,确保这些系统的高效运行、可扩展性和稳定性。在IT行业中,系统架构师的角色涵盖了软件开发、网络配置、数据库设计等多个方面,需要具备广泛...
系统架构师是高级软件系统开发领域的核心角色,担负着为软件系统的开发、维护和变更提供全面的技术与设计指导的职责。架构师不仅需要掌握软件设计的理论与实践知识,还需要具备强大的技术背景和丰富的项目经验。在...
根据给定文件的信息,我们可以详细地探讨数据架构师这一角色的主要职责及其在组织中的作用。 ### 数据架构师岗位职责 #### 一、架构服务部门的关键岗位 数据架构师是架构服务部门的重要组成部分,承担着核心职责。...
通过层次化架构,各层之间职责明确,降低了耦合度,使得系统更易于扩展和维护。同时,结合了MVC框架(如Structs)和J2EE技术,以及消息队列(如ActiveMQ)等中间件,实现了高效的数据传输和处理。 总之,本文通过一...
### 架构师的角色与职责 架构师是负责架构设计的关键人物,他们不仅需要具备深厚的技术背景,还要有卓越的抽象思维能力和对业务流程的深刻理解。演讲稿中强调了架构师需要具备以下能力: - **全局视角**:能够从...
这50篇文章涵盖了系统架构设计的各个方面,旨在帮助读者深入理解系统架构师的角色、职责,以及如何在实际项目中应用最佳实践。以下是对这些论文主题的详细阐述: 1. **系统架构基础**:这部分论文可能包括对系统...
在准备参加软考,如系统分析师、系统架构师或项目管理师等高级资格认证时,作文部分...通过反复练习,考生不仅可以提高写作技巧,更能深化对系统分析师、系统架构师和项目管理师职责的理解,从而在考试中取得优异成绩。