我对技术架构的理解

我对技术架构的理解

软件架构指软件系统的顶层结构,软件架构没有银弹,但行业最佳实践可以有,架构设计的目的是:为了解决软件系统复杂度带来的问题。

  1. 顶层设计
  2. 物理架构
  3. 应用架构

架构师角色

  1. 型散而神不散

    • 淡化了架构师的角色,但架构师角色一直存在
    • 打散到各个技术团队
    • 优秀的技术同学,一直在用架构的意识解决实际的技术、业务问题
  2. 前瞻性

    • 需要大量的实践和知识的积累,站在过去的肩膀上
    • 接触更多的人和事,用新的方法解决新的问题
  3. 解决复杂的问题

    • 基本面:高并发和高可用的基本面
    • 当前紧迫问题:用户体验、提升效率、低成本
    • 挑战:用户分层,内部技术人员增多

架构师需要怎样的能力

  1. 发现问题

    • 对于一个局部、全局的问题,需要有发现的眼光,更应该有发现未发生问题的能力
    • 每天会面对很多问题,哪些是需要治标,哪些需要治本,这个是发现问题的基本判断力
  2. 定义/分析问题

    • 将发现的问题,进行抽象和归纳,定义出问题的基本要素,同时定义出问题的短期和长期方案,推进技术的进步

3.解决问题
- 制定问题的实施路径和解决方案,协同团队和上下游推进问题的解决
- 架构师需要能救火,但不仅仅是救眼前的火,更应该救未来的火

架构师的挑战

  1. 全局视角
    • 需要架构对应的技术和业务的全局视角
  2. 技术广度
    • 技术的广度非常依赖于积累,一定要带着问题去想,才有记忆力。
  3. 持续的学习
    • 每时每刻都在发生技术的升级和变革,需要持续不断的学习,才能对老的架构有新的认识,对于老的问题产生新的解法
  4. 业务理解
    • 到实践中去,不是业务离不开架构,而是架构离不开业务。业务、架构和技术三位一体才能达到最佳的效果
  5. 结果
    • 要将技术的先进性转化为业务的先进性
    • 忘掉屁股,注重团队协作
    • 有遇山开道、遇水架桥的决心和能力

架构师软素质

  1. 沟通能力 解决问题能力 学习能力 创新能力 项目管理能力 文档论文阅读能力 总结归纳能力
  2. 非技术因素:责任心 团队精神 主动性 性格 年龄 期待 职业规划
  3. 工作业绩:技术攻关 应急 创新 分享 项目管理 程序开发案例 项目设计案例

你可能感兴趣的:(我对技术架构的理解)