点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

每天 14:00 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:CSDN(ID:CSDNnews)


马斯克,凭借着直言不讳、果敢的操作,这位掌握了流量密码的企业家自 10 月 27 日以 440 亿美元完成推特私有化交易以来,便在热搜上没下来过,当然,其中最为重要的一部分原因源于他正在“血洗” Twitter,一举一动也备受关注。

然而,在将 Twitter 强力瘦身之际,除了员工被裁、主动辞职之外,近日一位名为 Eric Frohnhoefer 的 Twitter 工程师在秉持「忠言逆耳利于行」之意下,却遭到了现任老板马斯克的直接点名——「He’s fired」(他已被解雇)。

a82b1c4399b01fc1939fbda996860798.png

而这位工程师个人账号的介绍也变成了 Twitter 的“前任”,以及写道:作为一名 Android 开发者对新的机会持开放态度,似乎默认了“被炒”的事实。

703720c665e440259c52c6bbff5968a3.png

那么,他究竟是犯了多大的错误?亦或是什么仇什么怨,需要马斯克亲自下场回应将其解雇?

1、一则道歉引发的技术问题争论

究其根源,还得从上周日说起。美国当地时间 11 月 14 日,刚接手 Twitter 只有 18 天的马斯克在逐渐承担起这家社交媒体平台各项事宜的同时,面向所有用户发布了一则道歉声明:

我想为 Twitter 在许多国家/地区超慢的运行速度而道歉。应用程序正在执行超过 1000 个不良批处理 RPC(远程过程调用),而这个只是为了渲染主页的时间线。

20a2e0999b0a814d977abea1eacc2e72.png

所谓新官上任三把火,本就不太看得惯 Twitter 的算法与运行机制,甚至在早些时候也希望 Twitter 能够将算法开源出来,如今直接在道歉的同时进行“批判”,倒也符合马斯克的个性。

77154620328a91fb59bdb5ff23c9b150.jpeg

不过,来自新老板的公开批评无疑是对 Twitter 原开发团队的不认可,这也让不少 Twitter 工程师忍耐不住,直接在 Twitter 上与新老板开启了一场口水战。

这位名为 Eric Frohnhoefer 的工程师在马斯克发文三个小时后,转发了他的推文并评论道:

“我已经在 Twitter 的 Android 团队工作了六年,可以说这是不正确的。”

0a0e201a1f8f94f87cc54c8a565fffd5.png

紧接着,马斯克开启了直击灵魂的两问:

  1. 那你来纠正我。正确的数值是多少?

  2. Twitter 在 Android 平台运行非常缓慢,你之前又做了什么来解决这个问题?

41a3be36bf744d33f334c947694652e3.png

工程师要凭技术说话,既然领导真心的发问了,这位 Twitter 工程师也耿直地进行了诚挚的答复,其表示:

「我们已经做了大量工作来提高性能,我们发现它与增加 UAM 和广告支出密切相关。我同意(马斯克提到的一点),(Twitter)在 Android 系统上还有很多性能改进的空间。但是,我不认为请求的数量是主要问题。

对于一个以冷启动方式的应用程序而言,大约有 20 个请求加载主页时间线。大多数请求都是非阻塞性的,并且发生在后端,这包括图像、用户设置、哈希标符等东西。

我认为应用程序运行缓慢主要有三个原因。

  • 第一,Twitter 的功能很臃肿,但是其中有些功能的使用量却很小。

  • 第二,Twitter 已经积累了多年的技术债务,因为我们用运行速度和功能来牺牲掉性能。

  • 第三,我们花费大量时间等待网络响应。」

86587ea65691ad7920f801e25c06328c.png

在 Eric Frohnhoefer 看来,如果 Twitter 想要改进一些东西,就需要做出有利于性能而不是新功能工作的权衡。其也表示,“坦率地说,我们可能应该优先考虑一些重大的推翻重写任务 ,以解决过去 10 多年的技术债务,并且删除一些功能。”

此外,Eric Frohnhoefer 也毫不客气地直接回应了马斯克提出的第一个远程过程调用的数量问题,「零!这些应用程序不进行 RPC 调用」。

32176388c0ae443e55d0650ac78bbdb2.png

本来以为是一场纯粹的技术问题讨论,然而画风却逐渐走偏。被这样“打脸”之下,各方的面子上也有些不太好看,似乎是为了澄清最初的推文,马斯克再次在这名工程师的推文下方回应称,“事实上,当有人使用 Twitter 应用程序时,有多达 1200 个’微服务‘被调用,你没有意识到这一点并不好。”

b25dad730fc9f152f4a1a7877a72328d.png

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

2、从技术争议再到公开谴责

鉴于双方直接在 Twitter 上争锋相对,也有不少网友劝解 Eric Frohnhoefer,「明天你肯定会和 Elon 面对面讨论这个问题。希望你在早上 9 点前有一个体面的休息和精彩的分享」。

万万没想到的是,Eric Frohnhoefer 并不买账,其直接怒怼道,「这对我来说太早了,我习惯在 11 点左右开始」。

7a9bc391c953455de6d833c615ef9145.png

口水战愈演愈烈,事情似乎也正在从技术维度向着管理沟通模式的方向发展。在这条推文下面,有一位 @pokemoniku 的网友表示:

我已经做了 20 年的开发人员。我可以告诉你,作为这个领域的专家,你应该私下与你的老板沟通 。在他正在努力学习和提供帮助时,试图在公开场合向他挑衅,这让你看起来像一个自私自利的开发者。

回归马斯克最初提问的本意,或只是为了这款应用在很多国家/地区运行缓慢而道歉,最终却被工程师引向了运行在 Android 系统上的问题,甚至被自家的工程师公开谴责。基于别人的规劝,Eric Frohnhoefer 依然也不愿就此妥协,并说道:也许他(马斯克)应该私下问问题,也可以使用 Slack 或电子邮件。

30a97da9d07c548ab8267d6f369943d9.png

而或是这样的言语,直接惹恼了马斯克,其直接在下方简短地会了一句,“他被解雇了”。

几个小时之后,Eric Frohnhoefer 无奈地发了推文,表示他的电脑已经被公司锁定。

17573f5d60e8f47151b19890d8f462b7.png

且被解雇。

a4d41bea6980e6a387f51942af7d292f.png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

3、不懂 GraphQL 的马斯克?

事实上,自马斯克接任以来,Twitter 内部员工处于不安的情绪之下。

彼时在交易完成之后,马斯克的第一步大动作便是开除了 Twitter 的数名高管,包括 Twitter 的执行长、财务长、法律事务和政策主管,以及总顾问等多人;

11 月 3 日,马斯克宣布启动裁员行动,计划对 3700 人(占总数三分之一)进行裁员;11 月 14 日,又有外媒报道称,Twitter 5500 名合同工中预计会有 4400 人被裁。

至于裁员的理由,马斯克表示,“关于推特公司裁员,不幸的是,当公司每天亏损超过 400 万美元时,这别无选择。每个离开的人都得到了 3 个月的遣散费,这比法律要求的高出 50%。”

不过,领导层大换血引发的动荡,这依然引发了不少原 Twitter 员工的不满,如今马斯克针对技术维度的发文,也似乎被一众工程师找到了宣泄口。

除了 Eric Frohnhoefer 之外,另外一位自称是 Twitter 技术主管的人同样转发了马斯克的推文,并直接吐槽「马斯克不懂 GraphQL」。

你不止裁掉了负责 Twitter 基础设施的几乎所有员工,然后还对我们如何做批处理指手画脚。

你是不是连 Graphql 是怎么工作的都懒得学?

dbea279fd972650c1172bf7d40ec0806.png

4、老板与员工应该如何相处?

相继遭到自家员工的嘲讽,想必马斯克自己也非常无语了。虽然现在很多人知晓马斯克是特斯拉、SpaceX 以及 Twitter 的老板,但殊不知其毕业于宾夕法尼亚大学,获得了经济学和物理学双学位,也早在 10 岁左右便开始学习程序设计,后来创业时,与合伙人一起先后开发了“Zip2”、电子支付“X.com”和“PayPal”,并非不懂编程的小白。

对于技术问题本身,一定层面上也可以看出他是正处于虚心学习的阶段。

针对最初的问题,也有不少 Twitter 外部的工程师发表自己的见解,其中一位曾任职过 Twitter、雅虎、Weblogic,且现任为一家投资公司 CTO 的 Sam Pullara 表示:

真正的问题是他们取消了服务器端的渲染,你必须下载大量的代码才能看到一条推特。其他国家/地区的速度慢,是因为往返和初始下载,而不是来自于后端,因为每个人都共享。

马斯克也在与内部一些工程师沟通交流后,回应道:

Twitter 的几位工程师告诉我大约 1200 个 RPC 是独立的,这与微服务的数量相匹配。所以是这位前雇员错了。

在美国,同样的应用程序需要大约 2 秒来刷新(太长了),但在印度大约需要 20 秒,因为不良的批处理/冗长的通信。实际上传输的有用数据很少。

今天 Twitter 将关闭一部分“微服务”过时软件。Twitter 工作实际上只需要不到 20% 的时间!

4eb26e1f752c46ce946b87a01de28e92.png

不过,即便如此,这距离众人期望中懂技术的老板还相差甚远。在这个问题下面,有网友表示,「Elon,我在这里向你介绍每个程序员都应该知道的延迟数字」、「你从未如此清楚地表明你没有编写代码的经验」......

其实 Twitter 自 2006 年上线以来,已经经过了 16 年的打磨与演进,其技术架构相较而言已经比较成熟,对于某些技术问题多种看法与争论也实属正常,或许只是马斯克的管理方式引发了内部的反感。不过,在公司企业内部的上下级管理方式上,有网友评论道,「还有其他像马斯克这样公开讨论问题的老板吗?这一点就很厉害啊」、「在公开场合,上下级的沟通交流,还是注意一下说话带来的影响为好」。为此,你怎么看?

参考资料:

https://twitter.com/elonmusk/status/1592176202873085952

https://twitter.com/elonmusk/status/1591937669608927233

https://www.theverge.com/2022/11/14/23458247/elon-musk-fires-engineer-correcting-twitter



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

38062c6bccf8af4cdbc297db4e514d9b.png

已在知识星球更新源码解析如下:

dc402d9695794668c9368b3261f2e28c.jpeg

b5afc9ab35011344d399a84a171c15c0.jpeg

ecf31f6645ad0ec55722a93ce6f7bae2.jpeg

0bda1da34f9bdf4c380cab249d54a841.jpeg

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 6W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐