在这个由软件和人工智能驱动的时代,我们的日常生活与软件紧密相连。在这座软件世界的摩天大楼中,架构师就像是那些建筑大师,他们不仅精通代码的堆砌,更懂得如何用代码和逻辑的砖瓦,构建出既坚固又美观的摩天大楼,并且确保这些建筑能够经受时间的考验。本文将探讨在软件世界中,那些挥舞着键盘和鼠标的架构师们,是如何在构建软件的过程中扮演多重角色的。让我们以轻松的心情阅读,带着微笑思考,甚至不妨在会心一笑后提出您的宝贵意见。
当一个新的工程项目启动时,项目经理首先需要明确项目的预算、工期和需求。在这个阶段,客观、理性、科学的分析至关重要。 项目经理需要根据事实和工期,与老板争取更多的资源,并确定合理的交付成果与工期。
老板:“我们要造一个电商大厦,最好和淘宝一样就行。”
小王:”老板,您预算多少?“
老板:”10万,不能再多了。 1个月内完成。“
小王:”好的,收到,OKK,保证完成。“ 心里嘀咕到,只能用塑料和泡沫当建筑材料了(先去网上买一套或者去开源社区找一个来改改)
老板: ”你到时候,把设计图纸给我看看?“
小王: ”什么,还需要设计图纸?好的,没问题,转身就从网上找了个材料发过去。“
老板: ”小王啊,质量和安全要保证,后续我们还要维保呢?“
小王: ”OKK,没问题“
项目上线后: 质量是不可能有质量的,安全性? 扯淡。 还要维保?做梦, 从单元测试,集成测试到性能测试是不可能有的。
二开?不可能的。没那技术和精力。 直接删库跑路。
当一个新的工程项目启动时,项目经理首先需要明确项目的预算、工期和需求。
在这个阶段,客观、理性、科学的分析至关重要。项目经理需要根据事实和工期,与老板争取更多的资源,并确定合理的交付成果与工期。
比如:
每个选型都需要具体落实,以追求高效作为第一性原理
为指导。
例如,使用Java是否能够快速完成开发,后期更好维护? MySQL是否真的单表2000万行就不行了? Kafka为什么那么快,它的原理是什么,它真的会丢消息吗,它有哪些功能?
这些问题都需要深入研究。不要盲目听从,一定要深入原理,咨询专家,甚至查看代码实现,毕竟在源码面前毫无秘密。
建筑师用铅笔和尺子绘制设计图,而架构师则用代码和逻辑构建架构图。
这可不是随便涂鸦,每一笔都关系到软件的生死存亡。
如果图错了,那灾难是不可想象的。架构师在设计时应该具有非常高的技术前瞻性,秉着走先人一步
的原则去设计。
在设计过程中,也不是一上来就是万亿级的流量、异地多活的灾备,而应根据实际情况和团队资源,因地制宜地绘制架构图。
图上的每个组件,它们的作用是什么,在什么场景下使用,它们的容错性如何,它们之间的交互协议和接口是什么,都需要仔细考量。
然后绘制线条与轨迹,说直白点,它就是一张数据流转的逻辑轨迹图。
当然,在这一过程中,架构师还需要预留一部分空地,以考虑系统的扩展性,来新增更多功能。
其次,万一哪一天老板不满意,也可以尽可能降低替换的成本。
最后,架构师需要通俗易懂地与项目团队成员沟通和评审,确保每个人都明白自己在做什么以及如何做。
如果把开发一个软件大厦比作一次小小的战役,那么架构师无疑是战场上的将军。
了解底下人的战斗力水平、技术水平和脾气秉性,是排兵布阵、用人之长的关键。
这样,即使遇到不断变化的需求,也可以灵活调整。遇到技术难题时,架构师的口号应该是:弟兄们,跟我上”(而不是“弟兄们,给我冲)
,带头冲锋,攻克技术难题。
不要心浮气躁地飘在“PPT”上,这里画个图,那里连个线,就以为事情解决了。真正落地开发时,会发现完全不是那么回事,有多难,需要花多少时间。
现在大厦盖好了,怎样把房子安全的交互给业主,让业主住的安心呢?在这过程中,架构师应该扮演 物业管理的角色,应该明确以下事情:
就像是一本食谱,即使换了厨师,也能做出一样的味道
。在这个充满变化的时代,架构师需要不断地学习新技术,适应新环境,解决新问题。
同事也需要保持好奇心,对未知充满探索欲,对新技术充满热情。勇于创新,敢于尝试,不怕失败。
这项工作充满挑战,但也充满乐趣。
这次架构师同盟是一次思想的碰撞,也更像是一次英雄的会盟。
借用英雄联盟(LOL)里面易大师的台词:真正的大师,永远怀着一颗学徒的心
。希望各位架构师和致力于成为架构师的工程师们,为中国软件大厦添砖加瓦。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。