总结一下在在百度做架构师的心得
首先要根据自上而下的ORK,制定团队的季度目标
这里需要我们熟悉团队每个人的技术栈,每个人所负责的业务,然后根据每个人的职级和能力,给每个人制定季度目标,通过开会讨论,完善和对齐每个人的目标。
在对齐目标后要每周通过周会的方式和大家做好review并对团队整体进度和每一条拆解的目标线的进度都做好管控和梳理
在检查完大家的工作后更新团队每一项目标的的进度
关于季度目标这里可以拆解为2周一个迭代的敏捷开发的模式,
两周一个小目标,每个月一个里程碑
两周中,第一周check进度,上报风险,第二周验收2周的目标的达成情况
月底检查里程碑是否达成,季度结束后检查最初定的季度目标是否达成
由于架构师需要精通所有技术栈,因此可以每周通过检查每个人的提交代码和输出文档的质量的方式对团队人员工作进行评价
不过核心评价标准还是要看任务是否按计划完成,以结果为导向
由于架构师负责全部技术问题,因此要做好技术选型和各种方案的架构设计
这里写一下我主要会考虑的几个点,在满足业务需求实现的基础上还要考虑如下这些。
关于架构图的绘制我总结了几个点
架构师一般分为 解决方案架构师,交付架构师,业务架构师,基础架构师
解决方案架构师主要是,在项目初期阶段,对来的需求,做分析和架构设计,最后帮助团队一起去实现目标
交付架构师主要是,在项目交付阶段,和客户沟通,达成客户提出的各种诉求和解决出现的各种问题
业务架构师主要是指除了在技术上有深耕多年,有专业的架构能力外还对某行业的业务也十分清楚
基础架构师主要指,对任何软件系统都有超强的架构设计能力,能够快速的实现软件架构
我个人而言,主要侧重几个能力的学习和应用
首先至少要有百万级别的代码量锻炼,能够做到高质量快速编码和低BUG率,可以人脑模拟代码编译,一些简单的代码逻辑甚至可以不报错一次过,精通各种如 线程池 锁 反射 各种数据结构 和设计模式等 的应用。
至少会一种架构层面的技术,我这里主要多年做的都是微服务架构,spring clould全家桶,这个架构层面的技术选择,主要是考虑要应用面广,使用人多,社区活跃,发展前景好,资料充足。
数据量增大后会引起一系列问题,如何处理数据量增大后的 存 查 改 算 等问题,如何做好ETL数据清洗,搭建数据湖,数据仓库,数据中台,保障服务的稳定性,处理好磁盘、内存、CPU 崩溃等问题变得尤为关键,针对每种大数据库的特性做好技术选型和数据结构,表,备份,分区等是保障百亿级数据后已经项目稳定运行的重要手段。
这里的算法不是指的面试时候常问的排序算法等方法层面的算法,而是一些AI算法之类的应用层面的算法,熟悉一些如BP神经网络等算法的原理在一些大型项目开发中可以提升核心竞争力
容器化,基于k8s的Kuboard开源运维管理系统的使用,服务的容错能力,微服务的服务网格,服务通信和服务稳定性保障,削峰限流,并发处理能力,分布式系统,分布式存储等的搭建,各种运维事故都要有相应的设计和解决方案