为什么这个 GitHub 项目看起来一点技术含量都没有,却有那么多 Star?

对于大部分初入开源社区的开发者来说,应该都曾产生过这样的疑问:为什么这个项目对于自己来说似乎没有太高的技术门槛,但是却有大量的 Star? 在 AI 技术可能奇点临近的今天,各种看似复杂实则套壳的 AI 应用如井喷式增长,这种疑问更是难以避免。这不就是 XXX 吗?我上我也行啊!

什么是 Star?

首先我们先来界定一下 Star 的含义,GitHub 是一个技术社区,正常来说用户在社区的行为都会符合社区的调性,即默认给项目点赞是因为此项目有技术含量,实则不然。 一个项目的 Star 可以有很多含义,除了是为技术点赞,也可以是因为想收藏此项目、此项目帮助到了我、觉得好玩有趣、想要关注此项目的后续更新、被求赞了、刷赞等等。 我还记得多年前有个大V博主拉黑了所有给骂他的评论点赞的人,结果有大量粉丝误伤,后面有些粉丝说,点赞一些不好的言论,是想把这条评论顶上去让出口成脏的人被更多人 看到,被更多人骂。从这个例子可以看出,其实用户点赞的出发点是丰富多样的,也许这就是微博现在长按点赞会弹出一个列表让你选择点赞趋向的理由吧。

image

技术本质

我们不得不承认的是,很多程序员的世界观很狭隘,喜欢用自己的技术视角去衡量万事万物,殊不知很多事情的本质不是技术,技术只是用来达成目的的手段罢了。

image

前阵子我在推特看到这样一条推,翻译如下:

左:嘿,约翰,希望你一切都好。我对计算机科学(特别是软件工程)非常热衷,想要在这个领域追求职业生涯。 但我不禁有些担心由于人工智能(ChatGPT4等)的发展,编程工作的未来可用性。我知道很难预测未来10-15年的情况, 但我主要担心自己可能白费力气。我担心人工智能会让我的未来工作过时,甚至在我得到它之前就过时了。你对此有什么想法吗?

右:如果你具备全面的“产品技能”并使用最适合工作的最佳工具,今天可能是手工编码,但未来可能是由人工智能指导,那么你很可能会做得很好。

左:我明白了……你所说的“产品技能”,是指硬技能和软技能吗?

右:软件只是帮助人们完成某些事情的工具——许多程序员从未理解过这一点。把注意力集中在交付的价值上,不要过度关注工具的具体细节。

左:哇,我从来没有从那个角度来看待它。我会牢记这一点。谢谢你的时间,非常感激。

希望你能再品味一下上面这句话:Software is just a tool to help accomplish something for people

真的没有技术含量吗?

换个角度再来看这个问题,其实那些你看起来没有技术含量的项目,它们真的没有技术含量吗? GitHub 有一位非常活跃的开发者 yihong, 他的很多项目在我看来都不是特别有技术含量,比如他的这个项目 GitHubPoster,就是去各种网站或 APP 逆向数据,生成 一张类似 GitHub 提交记录的图片,这个项目我也轻轻松松地提了一个 PR。

后来我慢慢意识到,我觉得不难是因为我有较为丰富的网站逆向经验,你觉得自然而然的东西,很可能对大部分人来说都是一个较高的门槛。大学我刷知乎的时候看到一个知乎er,他做了一个 可以搜索百度网盘资源的公众号,在公众号里回复内容就可以搜索到相关资源,当时我觉得好厉害好震惊,但当我接触逆向后很久,又回过头来想起这件事,发现这个东西其实就是一个简单的爬虫, 后端调一下已有的数据接口就完事了。

其实这种信息偏差,或者说信息优势,在你观察一个你不熟悉的领域时是经常会有的,所以有没有技术含量其实是一个相对的概念、主观的判断。