马斯克boss直聘,招人只看代码,不看出身?深入探讨开源大神与传统工程领袖的优劣对比!靠不靠谱一文说清
1 月 19
Musk传奇 Twitter裁员, X.com未来, X.com超级APP, 代码协作, 代码招聘, 代码授权, 代码提交信任, 代码标准, 代码热爱, 代码甄别, 代码规范, 代码质量, 传统与开源对比, 传统企业软件工程, 传统软件开发, 创新招聘模式, 团队协作, 团队协作难题, 团队效率, 团队稳定性, 团队组织, 团队规模天花板, 工程协作优化, 工程模式, 工程管理, 工程组织挑战, 工程规模, 工程领袖, 开源与商业, 开源代码管理, 开源团队治理, 开源大神, 开源大神优劣, 开源大神缺点, 开源工程, 开源模式缺陷, 开源热爱精神, 开源社区, 开源社区反噬, 开源社区影响力, 开源精神领袖, 开源结构, 开源贡献者, 开源资源管理, 开源软件, 开源迭代, 开源项目, 开源项目局限, 开源项目管理, 技术官僚, 技术官僚角色, 技术管理创新, 技术红利, 招募开源专家, 核心贡献者, 科技招聘, 程序员技能, 程序员自由发展, 精神领袖开源, 螺丝钉程序员, 谷歌开源团队, 超级APP, 超级应用程序, 软件优化, 软件协作, 软件工程, 软件工程创新, 软件工程差异, 软件开发, 软件开发策略, 马斯克X.com, 马斯克工程组织方式, 马斯克开源, 马斯克招人, 马斯克招聘策略, 马斯克推文, 马斯克新战略, 马斯克精神领袖 马斯克boss直聘,招人只看代码,不看出身?深入探讨开源大神与传统工程领袖的优劣对比!靠不靠谱一文说清已关闭评论
马斯克看代码招人这事到底靠不靠谱?是不是代码写得好的人就一定很强?这两天在推特上闹起来了。大家好,欢迎收听老范讲故事的Youtu频道。今天咱们来讲一讲马斯克“boss直聘,只看代码”的故事。一切还要从一条推文开始。
这是埃隆·马斯克自己发的推文,上面写的是:“如果你是一名资深软件工程师,并且想要打造一款超级应用程序,请你将你最出色的作品发送到[email protected],加入我们。我们不在乎你曾就读于哪所学校,甚至不在乎你是否上过学,也不在乎你曾在什么大牌公司工作过,只需要向我们展示你的代码就可以了。”
这条推文发出来以后,肯定是一石激起千层浪。原因很简单,因为我们要知道,一个大公司里边,越是身居高位的人,可能离代码或离一线代码就越遥远。很多人说,这行吗?这个其实是否定了很多人奋斗的方向和目标。因此,马斯克这条推文激起了非常大的反响。
我们仔细看了这条推文以后,发现里头说了两件事。第一件是超级APP,它上面写了想要打造一款超级应用程序;另外一件事是只看代码就行。我不管你原来上没上过学,在哪上学,是不是在大牌公司工作过,只要代码好,我们就要你。
今天呢,咱们先讲第二件事,只看代码招人靠不靠谱。明天咱们再去讲说超级APP,马斯克到底做得出来做不出来。代码是不是可以甄别好的程序员呢?这件事首先还是标准的问题。也很多人去问他说什么叫好代码,你给我个标准。
有些代码是很精巧,算法非常强;有些代码是很规范,非常适合大团队协作;还有一些程序员的代码,他们的深度很深,掌握了别人不知道的这种knowhow,或者说是一些技术的秘密。另一方面,一些程序员的代码广度很大,他们知道各种的细枝末节的环节,每一项事情都可以信手拈来,折腾一点点。但是你让他就某一项特定的算法,或者特定的一些技术去展示他的才能的时候,他未必会。
所以,你到底啥是一个标准呢?我记得以前我的一个老师……
跟我讲过一个话。他当时去日本做派遣程序员,就是做外包。中国人吧,到那不服气,一看那个日本人写的程序较差,就上来说:“队长,您应该用我这个,不应该用他那个。”他的日本领导看了他的代码和这位被他指责的日本员工的代码之后,告诉他说:“哎,你这个呢,我看过了。你的代码呢,确实很精巧,用了非常巧妙的算法解决了问题,占用的资源更少,效率更高,而且可能代码还更短一些。但是呢,你这个代码并不适合协作。下一个人想去改你这代码,都费劲了,看不懂。人家那个代码呢,规规矩矩的,虽然浪费了很多的资源,跑的也不快,但是下一个人维护起来,相对是比较容易的。”他会有这样的差异。
所以通过这一个故事,大家就能想明白为什么这个代码质量是有标准的。我们到底按什么标准来要你?比如说我们就想要这个灵光一现的代码,那可能刚才我们讲的那位中国程序员的代码就会胜出。当你说:“哎,我需要一个几百人协作,甚至可能需要长期维护,过了五六年以后,我再招个新程序员,还能看得懂接着维护的代码。”那可能那个日本程序员的代码就是个好代码。
代码能力、团队协作的能力、工程实践的能力,以及后期工程维护的能力,这些都是统合在一起的。现在的软件工程团队有点像什么?其实更像是经历了唐朝藩镇武将叛乱割据之后的宋朝。宋朝是什么样的?叫以文御武。最上面管理团队的人,最上面制定计划的人,去监督工程执行的人,这些人是不懂代码的。
所以对于像马斯克这种说:“我只招会代码的人,而且我靠代码质量来去评测你是不是值得进来。”这件事是有很大的问题的,或者说跟现在软件工程团队的组织方法是相违背的。那么马斯克到底在找什么呢?他其实找这种人,叫做开源大神,是做开源软件的,而且是在开源软件里头可以领导一个开源项目的这些人。为什么是开源大神呢?很简单,企业里边我们讲究的叫螺丝钉。
这些螺丝钉就压根没有权限,把自己最好的项目发给他。马斯克这个Twitter发完了以后,就有人在后头怼他说:“我写的最好的项目是我银行的项目,我给银行写的这种项目,我们不能发给你。我如果发给你,我会去坐牢的。”但是我相信,即使他能够把他的银行项目发给马斯克,马斯克也不会要他,因为他要的压根就不是螺丝钉。只有开源大神呢,才能够把自己最满意的代码发给马斯克,他们也拥有这些代码的处置权利。
然而,真正的热爱跟螺丝钉应付事,这个还是有很大差异的。就是那个前面讲说:“哎,我的代码最满意的那部分,是给银行做的项目。”这些人呢,应付事的比例要稍微高一些。而这些做开源社区的人,或者做开源项目的人,他们可能很多是真正的热爱。
所以马斯克要找的,是有权处置自己代码,而且还真正热爱的人。开源大神呢,他也有自己的软件工程方式。刚才我们讲的,现在传统的软件工程方式是什么样的?以文御武。现在呢,开源大神呢,摸索了一个别的方式。
传统软件工程方式,我们还是要先把它再稍微详细的讲一讲。第一个呢,叫人尽其才。我们要把各种各样的人凑在一起,去完成一个复杂的项目。而且呢,它是在工程允许的范围内去推进。什么叫工程允许范围内?在可控的时间、可控的资源,在这个范围内得到可预期的结果,这个就是叫软件工程,或者工程学要干的事情。
在这样的这种软件项目里头呢,各种角色之间是要合作的。有些人是不会写代码的,有些人只会做一些客户沟通,有些人会去做测试,有些人会去做部署,有些人可能会去做代码的一些优化。我们要把所有的角色拼在一起,对所有的意外进行容错。错了怎么办?我们要想办法多做一个备份的模块。这是传统的企业的软件工程。
那么开源软件工程是什么样的?第一个,它是有一个核心贡献者,这个跟刚才我们讲的企业工程是不一样的。很多的开源项目,特别是不是特别大的开源项目,特别大的开源项目,其实它会分拆成很多的子项目,比如Linux这种项目里头,有非常非常多的子项目。
每一个这种项目里头,他其实都有一个核心贡献者,或者有很少数的一些核心贡献者。这些人会解决大部分的问题,贡献最多的代码。其他的人其实主要是使用这个应用和向他们提问题,或者说可以给他们提供一点点小的帮助。而这些帮助,或者这些代码的提交,其实对于整个的系统影响是非常小的。
虽然说开源代码每一个人都可以上去提交代码,说:“我想修改一下这个,我想修改那个。”但是,你要去建立起信任,我愿意把你的代码合并进来,这个过程其实成本还是挺高的,至少是建立信任,这个成本还是比较高的。
这种开源工程里头,也会搜集各种需求和反馈,慢慢地去迭代,慢慢去升级。这一块跟企业工程其实是比较像的。有一点其实开源工程跟马斯克的要求非常像。什么?他就是通过代码来去识别贡献者。我现在想要一个新的人进来了,他想从普通的贡献者成为一个核心贡献者,这个过程其实就是依靠代码来识别的。你的代码能力够不够,或者说你整个代码编写的风格是不是符合我们这个项目所要求的风格。如果是的话,那你就可以一级一级升上来,然后成为我们这里的核心贡献者。
所以马斯克要的就是维护开源工程的这些人。开源软件工程是完全建立在代码和热爱基础上的一种组织架构。但是呢,它有几个缺点。第一个就是工程规模不能太大,工程规模大了以后就要分拆,拆成一大堆的子模块。每一个子模块之间就要去做一些松耦合,大家约定好了接口,然后各做各的,会变成这样的一个状态。而且会各自升级。
你比如说,Linux内核收到哪个版本了,Linux下面的某一些驱动程序收到哪个版本了,它会分别去升级,各自玩各自的了。这种开源工程有一个比较麻烦的地方在于,它不是特别可控。它不是说我签了协议,有一个deadline,哪天必须要把哪个版本做出来,并没有那么可控制。它有可能会早点,也有可能会晚点,出来以后出现各种bug。但是传统软件工程也出bug,只是它可以去识别。
是哪一个区域更重要一些?我可以做更多的备份,让这个区域产生 bug 的几率下降,或者是说让这个区域产生 bug 了以后,所有的损失可控。他可以来做这种事情。而对于这种开源软件工程来说呢,可控性就会差很多。这就是在软件工程上,传统企业的跟开源之间的一个差异。
作为传统企业来说,他们要招人,怎么招?咱们今天讲的是招人吧。他们通常会去招募一个叫工程老大或者叫工程领袖。这种人呢,很多其实已经是技术官僚了。他不是说完全不懂技术,可能也是技术出身,但是你让他坐在这吭哧吭哧写代码,就已经比较费劲了。这样的人其实是有很强的人脉关系的。他可能在很多的大厂工作过,为什么大厂工作过的履历很重要呢?就是这种技术官僚,他在很多大厂里边传帮带,或者带了很多徒弟。他可以把这些人再挖出来,组建自己的基础团队框架。
然后呢,他也有面试的能力。虽然现在没法去靠原来的班底,就把整个的团队都支起来,但是我还可以再去面试,我可以甄别出哪些人是真正我想要的。他有这样的能力,然后通过收入或者是股权,把这种叫做工程老大或者工程领袖直接绑定。绑定了以后呢,就可以用恰当的成本,让刚刚好的人来解决问题。这个人会写程序,那个人会做需求管理,下一个人会做结构设计,还有哪一个人会做测试。我们把这样的一个团队凑起来就完事了。这些人呢,可以带领团队完成工程目标,这就是传统的玩法。
那么开源大神你要想把他雇进来有什么样的好处呢?他呢是可以在未被验证的领域里边前进。这种工程领袖通常是在验证过的领域里头可以把事做好,但是你要让他完全是一个新的东西,也是比较费劲的,未必搞得定。因为毕竟这些工程领袖已经脱离一线了,而且他们还有整个工程项目的绝对领导权。就算下边招的小孩说,我现在有一个新想法,他也不会让这些小孩去干的。这是两边的一个差异。
然后这种开源大神呢,通常是精神领袖,他呢未必能够吸引到原来的一些徒子徒孙或者是师弟师妹来跟他干活。
但是呢,精神领袖经常可以吸引到同好者。有些人说:“我也喜欢这件事情。”大家是同志,那么就可以吸引起来组建团队。他整个团队的水准要绝对高于那种普通公司,大家一起协作,按照角色分工的这种团队。他可能整个团队里头,所有人都是高级程序员或者非常强的程序员。而且,开源大神的最大的好处是什么?叫热爱。热爱是可以解决很多工程上无法逾越的难关。
招募开源大神最多的公司是谁?不是马斯克,招募这种人最多的公司是谷歌。谷歌招募了很多的这些开源大神之后,享受到了技术红利,但是呢,也得到了巨大的反噬。这个是没有办法的,因为开源大神是有很多弊端的。
第一个弊端呢,是必须靠梦想来招募,光有钱不行。你说:“我给你发钱,我给你签份协议。”这些人就来了。过两天他发现:“哎,你做这个事跟我想的不一样。”你给多少钱都没用,他跑了。这个是非常非常麻烦的。就是谷歌内部也经常跟他们招募进来的开源大神去吵来吵去的,说:“我原来不是这么想的,你骗我来的。”这种事在谷歌发生挺多的。
而且呢,招募了开源大神以后,下一个问题是什么?就是他方向不可控。我招了一堆开源大神回来,每个人都有自己的想法。我们现在要集中力量办大事,他说:“不,你这个集中力量办大事,方向跟我原来想的不一样。我有我自己的梦想,我要去实现。”然而,开源大神本身的稳定性其实也不是很高。而且呢,这个事情跟钱没有那么大关系。就是我见过很多开源大神,其实没什么钱,甚至过得很拮据。但是呢,人家就是在追逐梦想。你给多少钱说:“我不去,我就喜欢这件事,我就要去干下去。”
所以这件就跟正常公司里头去维护团队稳定,这个手段就会有很大差异。你需要用更长的时间去跟他沟通,然后达成一致,而不是说:“来,我给你涨个薪水。”不能这么去解决,这个效率就会差很多。而且呢,当工程进入后期,相对比较枯燥乏味的时候,这个稳定性就会变得更差一些。
招募开源大神,还有一个很麻烦的事是什么?就这些人是有社区影响力的。你招回来的时候……
没准在社区里头喊一嗓子就可以再招募很多的同好者。但是呢,一旦你得罪了他,他走了,那他出去社区里骂人的时候,你也得挨着。这个就属于是一个矛盾的两面,背着抱着你都得盯着他,这个是没有办法的。
开源大神的另外一个弊端是什么?就是工程非常不可控。你想让他们在可控的资源内、可控的时间内,拿出可以接受的结果来,这个事呢基本上是不可能的。我以前也跟一些开源大神打交道,问:“哎,你这个工程是不是可以交了?”他说:“不行,我觉得那样还可以更好一些。”我说:“但是现在我们需要上版本。”他说:“那不行,我有更好的东西要去试。”他那个事更重要,而不是说你现在要发版本更重要,这对于整个的公司管理来说是很麻烦的。
另外呢,开源大神最后一个缺点是什么?就是他的工程跟团队的规模是有天花板的。他的结构相对来说比较松散,就算是Linux整个内核团队,也很容易出现像Linus那样的暴君。如果下面有一大堆的团队,他就有可能长出一大堆的暴君来。因为最后是依靠谁的力量强来决定谁说了算,谁写代码好谁说了算,而不是依靠一套规则来去决定这个事情怎么做的。在这种情况下,暴君的产生就是一个必然的情况。
马斯克自己呢,按道理来说应该是一个领域暴君,就是他在某些领域里头他说了就算了,其他人怎么说他都不听,大家按他说的去做就完事了。但是呢,他毕竟精力有限,他不可能成为所有领域里的暴君。李纳斯也就是能够去折腾Linux内核,至于Linux整个版本的其他部分,各自有各自的暴君。这个就导致什么呢?就是每一个小团队的规模都不会太大。
除了工程领袖跟开源大神之外,还有没有第三条路可以把大家组织起来干活?毕竟工程领袖跟开源大神呢,其实都是金字塔结构中逐渐孕育出来的。就算是开源大神,他也是一层一层孕育出来。除非说:“哎,我自己今天写了一个新项目。”那你要写新项目,其实你也要慢慢熬,慢慢吸引其他的人加入。如果没有更多的人加入的话,这个项目也就是你自己的。有更多的人加入了。
你才可能说,金字塔自己建起来,在金字塔里面慢慢的往上爬,最后成为开源大神的人,其实也是金字塔的巅峰。现在呢,就出了第三条路。第三条路就是在松散的平台支持下,让年轻人自由发展。这条路呢,也有OpenAI跟最近闹得很火的DeepSeek,其实走的都是这条路,就是搭建了一个相对比较稳定的平台。一帮年轻人,可能上学也没有那么好,未必是博士,当然也可以是博士,也没有什么大厂经验,你们就坐在这干活吧。而且做出来的东西,真的让大家眼前一亮。这个是新的方式。
但是这种方式呢,在工程方面,在长期维护方面,以及咱们原来讲叫结呆账打硬仗,这方面到底怎么样,还有待后续去验证。那么马斯克是不是有可能走这条路呢?也有可能在向这个方向发展。但是这条路,可能并不适合X.com这样的平台,它可能更适合XAI这样的平台。因为如果让一堆年轻人坐在这,做一大堆小项目的话,这些小项目未来到底怎么去发展,如何做下去,就会出现很多的问题。
你比如说像OpenAI,他的Sora一大堆的,里边的创始团队的人,现在被各个大公司挖回去干活去了。他每一次做点什么有趣的小东西出来以后,这个团队就很快崩掉了。等于整个公司对于单个产品团队,没有什么控制力。这是OpenAI已经显示出来的问题。DeepSeek现在大家也在疯狂挖他的人,所以你让一大堆年轻人通过松散方式去组织团队的话,未来到底怎么样,还真不好说。
那么马斯克到底能不能如愿以偿呢?能不能通过招一大堆这种开源大神,就把他的X.com做起来呢?他要找的人按道理来说会去找他,毕竟马斯克自己也算是开源领域里的一个精神领袖了。他的很多项目都开源了,虽然开源了以后,也未必有多少人去用得很好。就是马斯克开源的东西,用户量不是那么大。但是呢,毕竟是世界首富,还坐在这开源,还是有很多人愿意追随的。但是这些人,你的验证过程和验证的周期以及成本,是比较难以控制的。什么意思?
为什么大家喜欢去招名校毕业生?为什么大家喜欢去招大厂有经验的人?因为相对来说,验证的成本比较低。但是你要找一大堆最强的人回来,开源大神找一帮回来,你要想验证他是不是可以在团队里边很好的发挥作用,这个成本是很高的,而且非常麻烦。而且这些人进来以后,甭管你验证了他特别能干,还是说你发现他不行,你把他开掉,都会有非常麻烦的一个结果。
前面那个是验证麻烦,后边那个刚才我讲了,这些人是有社会需求影响力的。你把他开了以后,他们会出去骂街,说一进去一看,马斯克这帮人啥呀,屁也不会。我这么大的大神,进去了以后居然敢不尊重我,他会有这样的问题出来。而且你真整了一堆社区大神或者开源大神回来,你怎么围绕这帮人再组建团队,其实也是非常艰巨的挑战,大家未必能够配合得起来。
所以这些开源大神并不是那么好组队和协调的。我们也期待马斯克能够带来新的工程组织方式,上面的创新。这件事情我觉得未来还可以再看一段时间,看看他的x.com,也就是原来的推特,到底可以做成什么样。他把8,000人的团队裁到了1,500人,现在他准备去做超级APP,肯定是要重新招人。我们就看看x.com未来的发展,就知道这一次的招募以及新的工程组织方式是不是适合马斯克,或者说他能不能做出一些新的创新出来。
好,这一期就跟大家讲到这里,感谢大家收听。请帮忙点赞,点小铃铛,参加Discord讨论群,也欢迎有兴趣有能力的朋友加入我们的付费频道。再见。