提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一位大佬介绍的系统架构师如何学习和成长。
注意:本文不涉及软件工程、软件管理方向,以及系统内核等专精技术方向,仅为软件架构方向。
一、了解架构师
什么是架构师、架构师的职责,以下两本书第一步先翻一翻,暂不要详看。
《系统架构设计师考试全程指导》
《系统架构设计师教程》
二、如何成为架构师
1.基础知识
1.1语法基础
语言:面向对象、java语法、自己找书,21天入门之类的。
调试:基本调试技巧。断点、单步、变量值。
数据结构。
1.2 操作系统
操作系统:Windows、Linux、Android、macos
网络通信:ISO七层、TCP/UDP、网络通信模式:同步、异步及相关应用场景
数据库:SQL、ORM
1.3 Java框架/组件
常见组件了解,会用。
常见框架:spring boot、spring cloud,多了解对比优劣
按照框架层级熟悉运用组件:
持久化层:mybatis、jpa
控制器:怎么样,几种用法
业务层:spring
权限控制:shiro、spring security
日志记录:log4j、slf4j
2. 代码质量提升
编码技巧:
《代码大全》
《编程珠玑》
提升代码质量,看下什么是好代码什么是坏代码:
《重构 改善既有代码的设计》
3. 多学几门语言
多学几门不同的语言,了解下不同语言的特点、编程思维和应用场景。
静态语言:C/C++、java、golang
动态语言:python、JavaScript
面向过程语言:C
面向对象语言:c++、java
函数式语言:Scala
语法上面你抄我来我抄你,但抄的都是精髓!
看看前端语言:html、JavaScript、jquery、vue、react。说不定JS哪天一统天下了不是。另外,你会发现前端现在开始玩架构了。
至少会一门脚本语言,会大大提升你的工作效率:Lua、python、shell
了解下函数范式语言,扩展你思维:Scala、R
试下大数据、人工智能最火的语言,与时代接轨:python、java。大数据平台基本上java独领风骚、人工智能python稳占王座
4. 技术架构
以下是技术架构的必经之路,也是重构的指导思想。
《设计模式:可复用面向对象软件的设计》
《Head First 设计模式(中文版)》
切记陷入过度设计!
实践实践再实践!
然后,重新回到第一步,咨询阅读第一步的两本书,体会、感悟。
5. 系统架构
《企业应用架构模式》
以及这个,微软的架构能力还是很NB的,NET的简便谁用谁知道,可惜不能跨平台。
《Microsoft NET 企业级应用架构设计》
《领域驱动设计》
总结
恭喜你,你已是技术架构领域的大牛了,后面的路需要你自己探索了。建议以上为理论指导,结合实践和借鉴别个经验,书籍的话可以找一找:阿里、腾讯、百度的技术大牛写的实践经验。
以及典型主流架构介绍。例如:微服务、高性能、分布式等原理介绍性。
然而,软件技术是无涯的,后面的路还很长…