软件架构师是怎样炼成的
六边形全掌握
- 软件设计,数据结构,系统架构,后端开发,前端开发,运维。
- 系统从设计、开发、上线、到运行终点都应该负责。
- 运维往往是最容易被忽略的事情。
这里运维也可以理解为后续的埋点、监控补齐等
保持充电,永远学习
- 真正的好东西,能给生产力带来质的飞跃。
- 重复造轮子的只能带来新的体验。
- 真正提效需要花时间去体会、感受。
- 观察一个技术 3 年,如果这 3 年内能进入主流,形成生态圈,那这就是好东西
有宏观视野
- 本质目的是增强自己的系统设计能力。
比如在广告相关开发中,作为接入方也需要了解广告从广告主到投放到展示的全链路,这样在后续新场景接入时能提前发现很多风险。
权衡利弊
- 在技术层面,没有“银弹”,实现功能需求时,需要我们判断出各个组件的好与坏。
- 项目周期、开发预算和成本、项目维护难度。
习惯改需求
- 追求简单,反对过度抽象。
- 不影响效率和成本的前提下,设计上应该尽量扩大解决范围。
某处业务在第二次业务迭代时,就应该考虑涉及更通用的方案。
懂业务
- If I had asked people what they wanted, they would have said faster horses. via Henry Ford
- 懂业务的目的是挖掘出问题的根源。
跟不同的人说不同的话
- 项目负责人,部门负责人,客户负责人,实际使用人。
- 学会提炼重点,说出对方关心的信息。
- 跟对方沟通时,要思考怎么让对方能听懂。