章文嵩,曾任滴滴出行高级副总裁,阿里云CTO,CCF杰出工程师,成名作LVS(Linux Virtual Server)。
LVS是一种基于Linux的高性能、可扩展的负载均衡解决方案,由章文嵩在1998年5月开发并开源,是中国最早进入Linux内核的项目,在全世界得到了广泛的应用,具备世界级影响力。
LVS项目里,章文嵩是程序员,也是架构师。
LVS第一版章文嵩花两星期完成,根据首批用户反馈,这个demo“集配置简单、稳定可靠、可扩展性一体”。
这环节是程序员最擅长:明确做什么,怎么做,再埋头做出来。
虽“配置简单、稳定可靠、可扩展”已可过滤相当比例程序员,但真正体现架构师综合素质,是在这两个星期之前和之后。
[发现LocalDirector太贵,需要几万美元]
(码农翻身注:LocalDirector是思科早些年提供的负载均衡设备。)
这是基于对痛点和需求的理解,决定做什么是有价值的。
项目里需要做什么事情绝不仅仅是PM决定的,架构师需要有自己的判断。架构师本身就是要在需求和技术之间取得平衡,一门心思搞技术很难成为优秀的架构师。
[判断达到LocalDirector类似的效果并不难]
这是对所能取得的预期效果和投入成本有准确的判断。基于对底层机制的深刻理解,对关键技术路径和关键技术问题有准确的判断。
不少项目最终没有达到预期,架构师能力不达标是主要原因。
Meta倾全公司之力打造的元宇宙平台Horizon在很长一段时间内只有半个身子,现在想来依然搞笑。
[LVS的技术方案是受到Berkeley MagicRouter论文的启发形成的]
这是良好的技术视野。
这不是做出正确技术选型的必要条件,但帮助无疑是巨大的。
对于程序来说更多是How, 但对于架构师而言What和Why更加重要。另外能google就不要baidu。
[决定基于Linux开发]
这是对技术发展趋势的判断。
将近30年前,Linux远没有如今服务器领域的霸主地位,选择基于Linux开发并促成LVS进入Linux内核是远见的。
又比如七八年前,在K8s/Mesos/Swarm调度系统三国大战中押注K8s的架构师也是有远见的。
对趋势的判断,会直接影响团队的产出甚至是项目的成败。
[在Linux Kernel邮件列表里广而告之]
[从那之后,陆续就有来自世界各地的很多用户使用,每天会收到很多邮件,有的是用户使用心得,有的是用户的修改建议,好的建议我就会采纳,这样LVS得到不断的丰富和完善]
这是自我推销和服务意识。NB的技术和产品不是自己PPT写出来的,是用户用出来的。
从0到90%简单,从90%到100%难,剩下这10%靠的更多不一定是技术。
[LVS很快聚集了来自世界各地的问题解决高手和技术专家,他们一起为LVS的优化添砖加瓦]
[凡是对LVS有贡献的人,其名字都会被章文嵩写入项目历史中]。
这是技术威望和技术领导力。
不管谁加入,章文嵩都遵照自己的技术原则和方法论,掌控LVS的发展路径,什么东西做,什么东西不做,什么东西怎么做。
同样不管是谁加入,也都会得到同等的尊重。不是所有开源项目都有如此优秀的领导者,比如Rust。
[章文嵩经常参加Linux的会议] [章文嵩和Netfilter的作者Rusty Russell在酒吧相谈甚欢][......]
章文嵩与Richard Stallman(右,自由软件基金会主席)
这是social能力。
额......这个不是架构师必备技能,但确实是提升个人影响力的有效方法。
也许你会说,这些东西都不是程序员应该特别关心的事情,而且我只是想成为一个普通的架构师,不是要成为章文嵩啊。
如果你有这种想法,那么有可能程序员是更适合你的工作。
也许你会说,据我观察XX架构师也就那么回事儿,运气好罢了。也许他确实次次运气爆棚,也有可能是他在你不注意的地方把问题化于无形了。
一般来说,云淡风轻的架构师还是要比哭爹喊娘的架构师段位高的。
也许你会说,现在已经阶级固化,没有机会了。只能说一夜暴富的机会越来越少了,但码农成长为架构师的通道从来没有也不可能关闭,是不会关闭,因为大多数根本没这钻研能力。