时间:2023-11-10 09:06:04 浏览:87
之前有网友说想看架构师升级的文章,就写了这篇文章。首先,在本文中给架构师一个定义:首先,能力是达到的(这似乎是无稽之谈);第二,公司愿意承认,它不仅可以给建筑师头衔,还可以按照建筑师的标准付费。
对于程序员来说,架构师是职业发展的一个障碍。如果他们穿越了,就有前途了,不然可能就要一直做编码了。
本文将从“如何升级”和“平时做什么”两个方面谈谈我对建筑师的理解。
首先说一下建筑师的误区
1.架构师不是不食人间烟火,不只是在一个人的小隔间里设计架构,而是需要和各行各业的人打交道,比如产品端、需求端、程序员。
2.诚然,架构师专注于技术,但他们一定不是技术完美主义者,因为任何产品或网站的架构都充满了妥协。
3.高级程序员和架构师的界限不明显。不是高级程序员学好一门课程,掌握一门技术的那一天,就会自动升级到架构。在一些要求不高的项目中,甚至高级开发都扮演着架构的角色。
4.架构师不是每一个领域都精通,而是需要知道某个需求点可以有什么实现方案,然后根据目前的预算和人员选择适合当前项目团队的方案。
5.对于建筑师来说,并不是所有的东西都要自己设计。例如,当实现负载平衡时,架构师不可能用java实现一组解决方案,但是至少可以用哪个组件,比如nginx,来构建项目中的这组组件。
6.建筑师设计的是产品,不一定是艺术品,建筑师设计的产品可能只满足交通之类的需求,可能只能从远处看,近期可能会很乱。但是公司只是想要结果,产品开发周期会很紧,最终的线上架构只能满足目前的需求。
第二,高级开发升级为建筑师的必要条件
在许多场景中,高级开发只有满足以下条件才能升级为架构师。这里我以java架构为例。
1.java core和java web的基本技能,比如集合、多线程、ssm框架就不说了,一定要掌握。
2.你至少可以在linux上阅读日志,如果可以,你应该有能力在linux上部署和运行程序。
3.有一定的调优能力,比如需要能够通过读取日志来调优jvm内存,或者通过读取执行计划来调优sql。
4.不需要掌握设计模式,但至少需要知道在哪个场景下可以用哪个模式来优化结构。
5.这是重点。在考虑问题时,要摆脱“单机版”的限制。在知识储备中,应该包括负载均衡、消息队列、数据库集群等分布式知识点。
6.和人打交道,至少没有障碍,至少要能把自己表达清楚。
相关文章
怀孕周期
备孕分娩婴儿早教
猜你喜欢