见字如面,我是军哥!
上周有一位程序员读者问我:“我想成长为架构师,该学哪些技术?微服务源码要不要读?分布式事务要不要深挖?
”我反问他:“你觉得架构师和工程师最大的区别是什么?”
他愣了下,说:“架构师懂更多、更底层的技术?”这可能是很多技术人的误区。
回想我自己从工程师转型架构师的经历,以及带过的团队成员,我发现——技术固然重要,但真正卡住大多数人的,根本不是技术。
1、从怎么做到为什么做?
做工程师时,我的思维模式是:需求来了,想着怎么实现最优雅、代码怎么写最规范、性能怎么优化到极致。那时候,我为自己写的每一行干净代码感到自豪。
直到第一次参与架构设计,我洋洋洒洒写了三十页技术方案,从微服务划分到数据库分库策略,自觉完美。结果评审时,资深架构师只问了一个问题:“为什么需要这个系统?
”我懵了。为什么?不是产品经理说要就要吗?
工程师想的是“怎么做”,架构师首先要回答“为什么要做”。这个看似简单的转变,花了我整整两年才真正领悟。
2、不只是代码,而是权衡
工程师追求技术的纯粹。记得早期做项目,我会为了 5% 的性能提升,投入大量时间研究最新技术。觉得自己在推动技术进步,特别有成就感。
成为架构师后,我负责的第一个大项目就被现实教育了。当时设计了一个“完美”的架构,自认为能支撑未来五年的业务发展。结果开发周期过长,业务等不及,最终方案被砍掉一半。
老板说了一句让我至今难忘的话:“再好用的轮子,如果马车都出发了才造出来,又有什么用?
”架构师的工作本质是权衡——在完美和落地之间、在未来和现在之间、在技术和业务之间找到平衡点。这需要放弃技术人的“洁癖”,接受合理的妥协。
3、从跟机器说话到和人说话
程序员最擅长跟机器打交道,输入代码,得到明确结果。但架构师至少70%的时间在跟人沟通。
我曾经以为,只要技术方案足够优秀,自然能说服大家。后来才发现,跟产品经理谈技术选型、跟老板讲资源投入、跟团队统一技术方向,需要完全不同的语言。
有个真实案例:我们团队最牛的工程师设计了一套架构,技术上无懈可击。但在评审会上,他用半个小时讲解数据一致性算法,台下非技术背景的产品经理完全听不懂。最后方案被否,他特别委屈。
其实不是方案不好,是他没讲清楚这个架构能给业务带来什么价值。技术人容易陷入技术细节,却忘了别人关心的不是你怎么做,而是你做的能带来什么。
4、责任变了
程序员写代码时,你只需要对自己负责的模块负责。当你成为架构师后,整个系统的成败都压在你身上,这种压力则完全不同。
我有个朋友转型架构师后失眠了很久。他说:“以前代码出 bug 了,我知道怎么修。现在系统出了问题,我可能连是哪块设计导致的都不知道。
”确实如此。架构师要构建的就是一个即使代码不完美也能稳定运行的系统。这种从“运动员”到“裁判员+教练员”的转变,需要极强的心理调适。
5、那么,怎么跨越这一关呢?
如果正在看文章的你正在转型的路上,这几条建议可能对你有用:
1)先升维思考。
接到产品提的需求后,先别急着想怎么实现。多问几个为什么——为什么要做?解决什么问题?预期效果是什么?可能的变化有哪些?等等。
2)练习说“人话”
试着向非技术朋友解释你的工作,用他们能听懂的语言。这能训练你把复杂问题简单化的能力。
3) 从小决策开始
在团队里主动承担技术选型的责任,从一个小工具、一个组件的选择开始,练习权衡思考。
4)拥抱不完美
学会区分“必须完美”和“足够好”。在核心架构上坚持,在非关键处灵活。
总结:现在回头看,技术深度决定了你能走多快,但非技术能力决定了你能走多远。从工程师到架构师的路上,最大的挑战不是学习新技术,而是重塑思维模式、沟通方式和责任边界。
回见~若觉得不错,请点赞或分享,分享给你身边需要的朋友们~
关于我:一个 IT 从业 20 年的互联网老兵,1 号店架构师/前饿了么/贝壳找房技术总监,我叫程军,百度可查,目前一人企业,自由职业者。
一个灵魂非常有趣的人~
需要付费修改简历或者 1 对 1 陪跑请联系我或咨询职业规划或提升技术管理能力可以私信我。
更多精彩,关注我公号,一起学习、成长


被折叠的 条评论
为什么被折叠?



