比如近日马斯克组织了一次围绕于twitter的架构code review。
并且会后,马斯克也做了相关笔记:
其实这个不是code review,因为他没涉及到code,更像是工程团队给马斯克这个新入职的老板,做的架构的review,能看到的就是架构层面比较粗线条的东西。
这不是全部的twitter整体架构图,主要展示了Timeline部分架构,其中关键组件是timeline mixer,是将特定timeline聚合在一起的通用服务器。
home mixer则从timeline mixer中获取内容,并专门将其传送到主页。
有人找出了twitter 10年前的架构图,并与现在做了对比:
这其中引出一些讨论:
其中一个比较重要的讨论是和技术人员的。
马斯克在做code review之前,就对twitter代码和服务质量发表过几项公开声明。
比如他质疑很多国家访问twitter超慢,主app在渲染主页时间线时会执行超1000个低性能批量rpc。
这遭到了很多twitter工程师的指责,他们认为请求数量不是影响性能的主要原因。
包括大量极少使用的功能导致软件过于臃肿;多年以来积累大量的技术债务,被迫在速度和功能之间求平衡;还有很大一部分延迟是网络造成的。
讨论到RPC数量时,twitter工程师说只有0个rpc,因为他们用的是graphQL,他们还嘲讽马斯克不懂技术。
详见:马斯克开始“整顿”臃肿技术架构?Twitter工程师叫板:先拿个学位再来指手画脚,技术专家纷纷表示支持
我是站在老马这边的,首先你要知道老板要什么。
马斯克这样取得了重大成功的老板,他的直觉是非常准的。
马斯克想要的是twitter访问快,这才是目的,几个不几个rpc不是重要的,重要的是快,而不要臃肿。
马斯克做code review算微观管理吗?
我觉得不是,特别老马之前说过,一家科技公司的老板、主管,一定要懂技术。
回过头来说,马斯克懂编码吗?
首先他是懂得,在刚大学毕业的时候,他是通过写代码赚钱的,只不过懂得不多,而且他还经常改别人代码。
通过这件事,觉得马斯克把制造业的务实(如无必要,勿增实体)引入了互联网行业😂。