知乎13万粉、22年强力工程师、造过GPU、能画萌妹子:DBinary的兴趣驱动技术人生

本期《LaunchBox》我们邀请了DBinary老师。

他是知乎13万粉丝的技术创作者,是“二十二年强力工程师”。白天他做着一份与代码无关的工作,业余时间则开发各种硬核有趣的开源项目。他造过编译器、GPU、变声器、调试器、行为分析器,也做小游戏、游戏引擎、图形渲染、图像音频编码,GitHub上获4000+Star。技术之外,他擅长写作和表达,坚持画画十多年。

他的逻辑很简单:兴趣驱动。

做开源不是为了变现,但积累的声誉会自己找上门;写文章不是为了涨粉,但十多万关注者就这么自然来了;学画画不是为了当画家,只是做游戏时发现只有自己动笔才能画出想要的素材。

“兴趣是第一生产力。你愿意在一个行业投入很多时间,这个行业就不会亏待你。” 这是他二十二年的信念。

22 年跨界深耕:兴趣是最持久的驱动力

您自称“二十二年强力攻城狮”,横跨GPU、编译器、游戏引擎、图形渲染、数字信号处理等多个领域。是什么驱动您进行如此广泛的技术探索?这些领域之间真的能融会贯通吗?

驱动我的核心就两个字:爱好

这一行我做了二十二年,见过形形色色的程序员。我发现那些真正厉害的、能在行业里走得深走得远的人,几乎都不是靠“上班让干什么就干什么”成长起来的。他们都有一个共同点:自驱。不管本职工作是什么,他们下班以后一定会自己学东西、自己折腾项目。他们接触的领域不限于编程开发,但一定会花大量时间去钻研自己感兴趣的东西。

当然,我并不否认,对很多人来说,写代码只是谋生手段,说难听点就是“混饭吃”。这没什么问题,每个人都有选择自己生活方式的权利。但如果你想在这一行做得久、做得深,兴趣是第一位的

至于为什么能横跨这么多领域,我的体会是:学到深处,你会发现这些知识全是融会贯通的。只是不同学科的叫法不一样,但本质都一样。

举个例子,我们写程序有函数,在信号与系统这门学科里,一个函数就是一个“系统”。程序里的信息流、数据流,在信号处理里就是“信号的传递”。不同的学科用不同的术语解释同一件事,但底层逻辑是相通的。所以你会发现,那些学得特别深的人,好像每个领域都懂一点——其实不是他们学了所有东西,而是他们掌握了底层规律,换一个领域只是换了一套术语而已。

开源项目:从兴趣到声誉,从没指望变现

您的GitHub上有PainterEngine(软件渲染引擎)、SoundLab(变声器)、PeDoll(行为分析器)、ImageSigner(图像频域签名器)等一系列硬核项目。这些项目最初是出于什么原动力开始的?这些项目会有收入吗?

还是回到第一点:爱好

我的逻辑很简单:每当我深入学习一个新领域,怎么样才能证明我真正学会了?最有说服力的方式,就是把它做出来。项目做出来了,你就不用再向任何人解释你的水平,东西就摆在那里,这就是最好的证据。

所以,“学东西”和“做东西”对我来说是一个自然而然、水到渠成的过程。我想深入了解一个领域,我就会带着一个明确的目标——做出一个什么东西。然后去学习这个领域的知识,最后把它实现。

十几年前,自己做游戏引擎在圈子里是一件非常酷的事情,所以我就去做了引擎。后来,写编译器、写操作系统相关的东西也很火,我也去做了。七八年前,网络安全热度很高,很多人扎堆做二进制安全,我也做了行为分析器、调试器这类工具。再后来,数字音效、变声器、假唱检测这些话题很有意思,我又去研究了信号处理和音频算法。
我做的项目其实跟行业的趋势是重合的。但核心的驱动力始终是好奇心,我对这个东西感兴趣,我想搞懂它,于是我就去学、去做。

画画也是我的爱好,我坚持了十多年。我做的很多小游戏,美术素材就是自己画的;因为我发现想真正表达自己心中所想的东西,除了自己动笔去画,没有第二种选项。

至于收入,我从没指望靠开源项目本身挣钱。但这些开源项目给我带来了非常可观的间接收入行业声誉

举个最直接的例子:我的知乎自媒体。我从来没有刻意运营过它,只是坚持发技术文章、回答我感兴趣的问题。因为我的开源项目足够硬核,写出来的内容有料,慢慢就有人关注了。现在知乎粉丝有13万多,每个月从盐选、活动奖励这些渠道拿到的收益,有时候比我的工资还高。

再比如,我接的很多兼职项目、甲方合作,几乎都不是我主动去找的,而是别人通过我的开源项目或知乎文章主动找上门来的。他们看到我做过编译器、做过GPU、做过变声器,觉得这个人能搞定难题,就来找我了。

所以我一直强调一个观点:开源的直接价值不是挣钱,而是建立行业话语权和声誉。你把一个有挑战性的项目开源出来,别人看到了,就会对你有一个认知:这个人能做别人做不了的事。

另外,从职业发展的角度来看,开源项目是非常有力的个人背书。很多靠谱的团队、负责任的HR,在招聘的时候真的会去看你的GitHub。你做了什么项目、代码质量怎么样、有没有持续维护,这些东西比简历上写什么“精通XXX”要真实得多。

在您所有的开源项目中,最满意的是哪一个?遇到最大的挑战是什么?

这个问题其实有点难回答。因为我最满意的项目,永远是我现在正在做的项目。过去的项目做完了,对我来说就没有挑战了,我就把它放在那里。

如果非要说一个印象最深的,可能是去年的项目:在一块FPGA上实现了一个能渲染3D模型的GPU。

你见过很多人用FPGA做CPU,但很少有人做GPU。这个项目涉及的东西非常多:信号与系统、图形学、RTL(寄存器传输级)设计、底层驱动、上层驱动(加载纹理和模型)……它几乎打通了计算机科学的各个层级。这类项目很少有人做过,完成这个项目的时候,还是很有成就感的。

做这个项目过程中最大的挑战是调试

我们写软件程序的时候,有编译器、有调试器,你可以打断点、看变量、单步执行,非常方便。但FPGA不一样

你必须在电脑上做仿真,仿真通过了,再把代码烧录到FPGA板子上。然后你发现它工作不了。这时候你完全不知道问题出在哪里。

这时得用逻辑分析仪(ILA)去抓信号波形,看每一个信号在每一个时钟周期是什么状态,然后对比你的设计预期,一点点排查。这个过程极其繁琐,而且大部分时候,你抓到的波形跟你想象的不一样,你又要反过来怀疑是不是自己的分析思路有问题。

而且,这种问题没办法问AI。AI只能给你一些车轱辘话,比如“要仔细检查代码”、“要注意时序约束”之类的,听起来都对,但对你解决实际问题没有任何帮助。真正能解决问题的方案,必须靠你自己去思考、去设计、去尝试。一种方法不行,就换另一种,一个一个去测试。

AI时代:底层硬功夫,才是真护城河

现在AI编程工具非常火,很多开发者都在用。您怎么看AI对程序员这个职业的影响?程序员还有必要去深入底层、亲手造轮子吗?

我经历过一个“Vibe Coding热恋期”。大概在几个月前,我也觉得AI太强大了,让它帮我写了好多代码。那段时间效率确实高。

但是,一两个月之后,我主动降低了AI的使用频率。现在基本上只让AI帮我找Bug或者给修改建议,很少让它直接生成核心代码。

因为我发现AI写的代码,我没办法维护。除非我每一行都自己看过、理解过。

就像你高考的时候,一道题你觉得自己“会做”,但如果你不亲自写一遍,你永远不知道自己到底能不能做对。代码也是一样,不亲手写过,这个能力就不属于你。

而且,对于我做的编译器、工控、网络协议、底层驱动这类项目,需要对代码有非常精细的控制。你用自然语言去描述你要实现的功能,跟直接写代码,效率上其实差别不大,甚至自己写还更快。因为这些领域的设计细节太多了,你用自然语言描述出来,可能比写代码还费劲。

当然,我的情况不一定适用于所有人。如果你做的是前端页面、小程序、简单的管理系统,那可以大胆拥抱AI。

所以我的态度是:因人而异。做底层、做架构、做算法,用AI就得非常慎重;你只是想快速验证一个想法、做一个产品原型,那AI是非常好的工具。

您认为在AI时代,程序员的“核心竞争力”会发生怎样的迁移?哪些能力会变得更重要?哪些会被弱化?

我的判断是程序员这个行业整体会萎缩,初级岗位受到的冲击最大

因为大部分互联网项目其实用不到多高深的技术。简单的如 画画界面、做做数据增删改查(CRUD)、实现一些交互逻辑。这些东西AI做得又快又好。

以后你再想靠做一个“企业管理系统”、“出入库小程序”去接私活,价格会被压得非常低,可能几百块钱就有人做了,毕竟只是烧Token的事情。

但是,有一些类型的项目,AI短期内很难替代:

第一,需要长期维护的项目。一个工控系统要在野外跑一年不出问题,这种项目不是写完代码就完事的。它需要你不断地根据现场反馈修Bug、优化、适配新的硬件。这个过程是在解决那些“还没有暴露出来的问题”,而这些问题AI根本不知道它们存在。

第二,依赖行业经验的项目。比如你做一个医疗设备的数据采集系统,你不仅要懂代码,还要懂医疗设备的通信协议、懂电气特性、懂安全规范。这些经验是你在现场一个个坑踩出来的,AI无法从公开数据里学到。

第三,底层和基础设施项目。编译器、操作系统、数据库、图形引擎……这些领域对性能、稳定性、可控性的要求极高,AI写出来的代码很难达到工业级标准。

所以我的结论是:那种大风大浪都见过的老程序员,价值反而会上升;而那些只会写CRUD、调API的初级程序员,日子会越来越难过。

如果给年轻程序员一个建议,我会说:不要盲目追新框架、新概念。多花时间在那些经久不变的基础知识上,例如数学、数据结构、计算机组成原理、操作系统、信号与系统。

技术是有保值性的。我年轻的时候也喜欢追新,学了很多当时很火的语言和框架,结果几年之后这些东西就没人用了。那些基础知识经历了时间的考验,它们不会随着某个框架的过时而被淘汰,反而会随着你经验的增长产生复利效应。当别人还在学习新工具的使用说明时,你已经能看透工具背后的原理,这才是真正的护城河。

软技能:写作、表达与技术变现

您在知乎简介里写“擅长吹牛”。技术圈常说“Talk is cheap. Show me the code”,您怎么看“吹牛”的价值?

“吹牛”是每个技术人必须掌握的生存技能,这不是开玩笑。

不能说“我只会写代码”,然后就一条路走到黑。技术能力要变成经济价值,中间有一个必不可少的环节就是推销自己,“吹牛”本质上就是这个能力。

所以我认为,表达能力、营销能力、沟通能力,是技术人必须去学习、去提升的。不要觉得这是不务正业,没有价值。你把时间投入到这里,收益很可能比你死磕一个算法优化要高得多。

就像高考,你数学已经能考140分了,想再提到145分非常困难;但你英语只有90分,花同样的时间提到120分要容易得多。你应该把时间投入到那些能带来乘法效应的事情上,而不是在已经很擅长的事情上继续卷。

那些真正厉害的技术人,往往不是某一个领域做到99分,而是多个领域都做到七八十分。而且这种“T型人才”抗风险能力更强。

除了表达,写作能力也很重要。我当过文学社社长,学生时代就写小说,比较注重文字表达。怎么写东西让人愿意看、而不是划走,这是一门学问。写作得有自己的观点、自己的语言风格,把硬核的内容用有趣的方式讲出来。

对想要积累个人品牌、探索技术变现的程序员,您有什么具体的建议?

我总结三条路径吧。

第一,做自媒体。知乎、B站、小红书,每个平台的调性不一样,得选对赛道。知乎偏图文、偏硬核,适合技术深度内容;B站偏视频、偏年轻化;小红书商业变现能力强,但不一定适合所有技术人。你不用全职做,业余时间坚持输出,流量收益、商单、盐选,一个月几千块钱还是不难的。

第二,建立行业声誉,让机会主动找你。我绝大部分的兼职项目、甲方合作,都不是我主动找的,而是别人通过我的开源项目或文章找过来的。他们遇到一个难题,知道我做过硬核项目,就来问我能不能解决。这就是行业声誉的价值。怎么建立声誉?做开源项目、写有深度的技术文章、在行业社区里持续输出。

第三,考公考编。这个建议听起来跟技术没关系,但我觉得很重要。不要把自己一辈子绑死在私企和大厂里,早点做打算。公务员、事业单位、国企,虽然工资可能不高,但它能给你充足的时间和安全感,让你能做自己真正想做的事。

未来规划与给程序员的建议

您未来有什么新的项目规划?

我一直在做新项目,基本没停过。我现在在做的是一个编译调试系统,知乎上已经发了一些预览版。这类项目的特点是:GitHub上很少有人做过,特别有挑战性。

而且我这些项目是有延续性的。前一个项目做完,它很可能会直接被用在下一个项目里。再下一个项目,又可能用到上一个的成果。环环相扣,越做越深。

我的下一步目标是做一个跨平台AI Agent——像钢铁侠里的JARVIS那样,可以在手机、手表、电视之间自由跳转,随时随地为你服务。

这听起来像科幻,但技术上有很多底层问题要解决:多设备之间的通信协议、统一的编译框架、不同硬件平台的适配……这里面的门道很深。我想去攻克这些问题。

我的逻辑是:AI会越来越强,但总有它暂时做不了的事情。那我就去做那些事情,做出来了,再让AI去用。
您如何看待程序员的“35岁危机”?

35岁危机的本质,不是年龄,而是资产结构单一和平台依赖

因为企业存在的唯一目的就是盈利。当社会总需求下降,行业挣不到那么多钱了,只能裁掉“性价比不高”的员工。

很多在大厂拿高薪的程序员,错把平台Buff当成了个人能力。你在大厂能拿30K、50K月薪,不一定是个人值这么多钱,而是这个平台、这个行业红利在给你加持。一旦裁员落到你头上,你出去找工作,发现小厂根本不愿意给你开同样的薪水,这时候你才意识到:原来我之前的高薪,不完全是自己的价值。

怎么检验自己的真实价值?很简单,假设自己净身出户,不投简历,不靠任何公司平台,就靠自己的本事——做外包、做自媒体、卖自己的产品——你一个月能稳定赚多少钱?

如果你能做到几万的收入,裁员根本影响不到你,你就有了真正的底气。

所以我一直强调一个理念:程序员要尽早建立“多份资产”,不要把全部筹码压在工资上。资产可以是个人品牌技术声誉、自媒体、开源项目、外包渠道、产品收益……任何能脱离平台持续带来价值的东西。

对年轻程序员和刚入行的开发者,您有什么建议?

第一,如果不是真的热爱这行,慎入。计算机行业的红利期已经过去了,如果你看着代码就头疼、就犯怵,趁早转行,去干自己真正喜欢的事。

第二,如果你真的热爱,那就投入时间。我不觉得自己有什么特殊的创造力。我只是把别人刷抖音、泡茶、钓鱼的时间,花在了写代码和学技术上。你投入的时间越多,产出就越大,就这么简单。

第三,运气也很重要。不是每个人都有平等的资源。有些人每天在为吃饭挣扎,有些人被家庭琐事缠身,没办法投入大量时间。所以我不羡慕那些特别牛的人,也不会指责那些选择躺平的人。每个人有每个人的活法,没有对错。

但有一句话我相信是真的:你热爱这个行业,愿意为它投入时间,它总会用某种方式回馈你。可能是直接的经济收入,可能是行业名气,也可能是某个意想不到的机会。比如最近我在知乎开发者大会上展示的一个小游戏,本来只是出于兴趣做着玩的,结果被一家幼教机构看到,他们主动联系我谈合作。

兴趣是最好的老师,而时间是最公平的见证者。选你所爱,爱你所选,然后把它交给时间。


=故事征集=

《LaunchBox》是程序员客栈推出的技术项目孵化平台,致力于为全球顶尖技术创业者与极客开发者提供项目展示、推广与孵化服务。无论您的项目专注于AI、区块链、开源技术,还是其他颠覆性创新领域,LaunchBox都欢迎在此首发。

欢迎大家推荐朋友或自己来参加我们的节目,分享与对话是一件利他又利己的事。