读架构师成长路径有感

首先感谢ITFLY8架构师之家关于大型网站架构的分享,使得对大型分布式网站有个比较清晰的认识。

完成晚上自己的任务安排后,惊喜的发现《从零开始学架构》第一篇已经发布:

从零开始学架构(一):架构师成长路径
看了以下路径,庆幸有这么贴切的描述,又感到前路漫漫,走了很多弯路,刷刷刷几年过去了,却发现自己并没有脚踏实地的走。

五、架构师成长路径

本质:学习,实践,总结,个人进步和能力成长的过程。

  1. 开发工程师:主要在指导下进行开发或独立进行简单功能开发。本阶段的核心是学好技术本身,多做一些项目,勤奋,思考,总结。这个时期就是学习,实践让自己的技能水平不断提升。空闲时间可以学一些设计模式,软件工程方面的知识,用于拓展视野和为高级工程师做准备。
    当自己的技术能力,项目经验,编码水平,设计能力达到一定程度后,就可以升级为高级工程师。一句话:写好代码,积累经验
  2. 高级工程师:可以独立或带领工程师负责某模块/系统的设计和开发,在技术和项目上有一定的经验。本阶段可以根据自己的职业目标选择深入技术或学习管理知识。
    学习的方向:技术深度,技术广度,分布式,架构知识和管理知识等。
    一句话::技术深入全面,思考完善的系统设计
  3. 系统架构师(技术专家):在某一方面技术达到一定深度,在某些方面有自己的见解和独立解决问题的能力。可带领一个技术团队进行开发和管理工作。可完成需求分析,系统设计,技术选型,架构设计,开发管理等工作。
    一句话::技术专家,架构实践和管理能力
  4. 资深架构师:具备丰富的大型项目,多种项目的需求分析,系统架构,系统设计,项目管理等经验。在技术的广度和深度方面,业务知识方面具备专业的建树。
    一句话::大型项目,领域专家和解决方案
  5. 技术总监,CTO,技术副总裁:负责公司整体技术规划,技术管理,把握技术方向,精通业务和技术,具备良好的沟通,组织和协调能力。
    一句话:方向,流程,制度,规范,管理。

记得刚来上海的时候,技术老大(牛逼的山哥)问我今后的职业规划是什么。当时想都没想就说“当然是架构师啦” :(1)先好好积累实际项目经验,因为之前只是做制造企业的内部办公系统(以前总感觉很low,不算什么经验)感受互联网开发氛围和各种高大上的工具,redis/memcached/job、h5...etc; (2)然后逐步学习如何进行系统模块设计 (3)站在更高的高度思考系统设计,能徒手搭建高并发、高可用、高可靠性的分布式系统的各标准套件(任务调度、消息中心、搜索引擎...)

然后就想着用到的技术都“深入”学习下, 那半年一股脑子啃了《Redis设计与实现》《Wcf全面解析》上下册... 反而有点光顾着啃书却没有带着什么目的去学习,看书的时候感觉很充实,但是一结束就有点空咯咯的感觉。但是犯了非常大的错误:虽然在创业公司天天加班到9点以后,但是没有好好的去思考自己的代码也没有去好好学习同组前辈的设计思想,现在特别后悔。知识要落地才有价值。

工作四年,2年企业内部软件经验,1年系统对接,现在是专门给前端提供api的开发。一直在学习,一直在思考,看到什么经典书都买来看《代码大全》《高三》《像程序员一样思考》《设计模式》《深入理解C#》《.net之美》《锋利的Jquery》《jquery实战》《高效程序员的45个习惯》《程序员的思维修炼》《JavaScript:The Good Parts》《.net软件架构之美 英文版》《企业应用架构模式》《重构》《大型网站技术架构》《javascript权威指南》... ,但是和实际工作结合起来思考实践的少,还没有单挑一个系统的底气。所以感觉自己也就处于成长路径的第一个阶段 - 开发工程师, 项目经验欠缺,技能磨练不足;

路要一步步走,脚印要一个个踩扎实了才能走的更远更高

接下来要更注重实践技能的提升: 写好代码,积累经验

少看点书,多思考工作上遇到的事情,不管是不是自己分内的事情都去思考,想要了解的抓紧时间去了解,不要等;如秒杀产品的商品设置,秒杀前的前端展现,秒杀中高并发的前后端的配合; 在实际的场景上思考才能有更深刻的认识,纸上谈兵终觉浅嘛!

  1. 理论性书籍, 结合实际项目联系起来思考,多去了解不是自己负责的核心系统的业务逻辑和系统设计,增加思考的材料基础
  2. 实践性书籍,一定要把代码敲出来
  3. 代码量少,项目代码结构划分理解不足:从自己依赖到的系统开始熟悉内部系统的层次结构,清楚其此种设计的目的,然后获得其技术和业务功能。 openapi -> service -> 框架底层实现
  4. 代码质量:选取公司框架源码,从使用到实现再到设计思想深入学习。
  5. 能独立徒手撸起一个系统,前端展示,接口交互,业务逻辑,数据逻辑,基本的系统架构能力
  6. 成长路径第二阶段 - 高级开发:完善技术栈,深入细节深入底层,如c#的clr;形成对性能的可感知性, 逐个击破分布式基础部件,掌握性能测试方法

想成为的: 技术专家/基础设施架构师

加油 mushishi

原文地址:https://www.cnblogs.com/mushishi/p/6108117.html