我的职业是架构师:12年经验带你入门

IT知识
350
0
0
2022-07-27
标签   架构师

我的职业是架构师:12年经验带你入门

人物介绍:05年计算机专业毕业,中国第二批投身互联网事业的程序员;拥有12年工作经验,我厂高级架构师。

如果说程序开发是码农的话,那么架构师就是程序里的总设计师了。对于开发人员来说,架构师称得上是职业生涯的目标之一了。

想要成为一名架构师,需要知道什么?

01/基础设计理念

作为架构师,要有一个比较宏观的设计理念,这里的设计是结构层的设计,你需要有一个整体的概念,从宏观角度去分析问题,分解问题。

在设计之前,架构师要有一个清晰的边界认知。比如说:我们要造一辆车,而不是飞机、轮船或者别的东西;

在做方案设计的时候,架构师还需要考虑产品/系统的可扩展性,灵活性,兼容性,稳定性,易用性等方面;

02/技术知识体系:要有全面的技术知识体系

作为架构师,技术要非常过硬,同时还需要有比较完善的技术知识体系,你需要对各方面都有一个了解;

但是技术的更新迭代是非常快的,所以每次一旦有新技术出来的时候,作为架构师需要非常自觉地去了解。

对于架构师工作中需要用到的技术,则需要做到深度学习和应用。而对于工作中不太用得到的新技术,也要做到了解这种程度;

最好还需要精耕某几块技术,比如数据库,工作流,前端交互;这些是架构师需要深度掌握的技术;

03/架构师的成长路径

首先,可以根据开发组长分配的任务,完成一个功能点的开发。因为这些小的功能点,是经过架构师分解的功能点,可以从这里了解一个小功能点的颗粒度大小和边界;

再有,想往上走的话,可以考虑负责一个小的模块;这个时候就要求有一定的开发经验和设计的想法;

之后,尝试更大模块的开发与设计;因为大的模块往往是由一些小模块拼接完成的,这时候就和架构师的工作非常类似了;

然后,核心模块的设计;只有把控过核心模块设计和研发,才能成为真正的架构师;

最后,整个系统的设计和把控;经过前面几个步骤,我相信大部分开发都能顺其自然的成为一名架构师;

同时在这个过程中,本身还涉及到和不同人之间的交流,所以沟通交流能力对于架构师来说是非常重要的;

04/不同的场景,要有不同的解决方案

同样是实现某一个功能,但是架构师给出的解决方案会是完全不同,这就要取决于我们的应用场景了,比如说架构师来设计一个工具,有时候用excle表去做配置就可以了,有时候写一个文档说明就可以了,而有时候可能会要开发一个系统实现。

架构师需要根据应用场景,给出最合适的方案。

05/如何评估项目可行性

评估某个项目的可行性,也是架构师的工作之一。如何评估项目可行性?我们可以从下面几个方面来考量:

团队成员的技术能力

项目的人员配置

项目支持的开发时间

客户对项目的预期

在项目开始之后还需要做好安全性,高可用性,代码质量,可读性等方面的审查;

06/懂得做取舍

没有方案是十全十美的,所以作为架构师来说,需要懂得做取舍;做到当下适合就好,不要过度设计;

同时考虑使用哪种技术的时候,也是适用就好,不要一味追求新技术。因为我们还需要从成本,实施难度,团队成员的技术水平等各个方面做出综合考量;

在学习这一块,建议从基础(语言基础)、宏观(设计理念)、微观(性能优化)这三方面学,就以java举例:

基础:java编程思想

宏观:java设计模式

微观:java性能优化

这三方面的书,都能理解的话,那java这个语言就可以吃的很透彻了。

架构师也是从一名普通的程序员做起,你是选择0.99的365次方还是1.01的365次方,取决于你自己。

小编:评论区留言你想了解的岗位或想看到的内容,小编会择优为你奉上秘籍。