科技爱好者周刊(第 389 期):未来如何招聘程序员
这里记录每周值得分享的科技内容,周五发布。
本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。
封面图
![]()
唐山河头老街景区的轨道车"大唐云车"。(via)
未来如何招聘程序员
前些天,讨论区有一个帖子,提出一个问题。
如果未来的代码都是 AI 写的,那么我们怎么招聘程序员呢?
![]()
程序员负责代码,但代码是 AI 写的,不是程序员写的,那么应该怎么面试他呢?
你仔细想想,这个问题比预想的难多了。
首先,考察他的代码能力不重要(代码不是他写的),更重要的是考察他会不会 AI。只要善于使用 AI,能够产出合格的代码,对公司来说就是合格的人选。
但是,什么样的面试问题,能够考察出一个人是否掌握 AI?下面是我想出的一些问题:
- 请将一个复杂的项目需求,转化成提示词,要求是清晰、逻辑性强、切中要害。
- 描述一个你认为需要使用 Skill 和 MCP 的场景,并阐述它们的工作原理和构建方法。
- 如何将一个大项目分解,设计出一个多 Agent 协同工作的机制。
- ......
这些问题能识别出 AI 编程高手吗?我完全没有把握。
其次,除了 AI,还要考察什么呢? 这也很不好想。
我应该还会问一些架构问题,你可以不写代码,但要懂怎么组织代码,架构出一个系统。但我也不确定这是必需的,因为 AI 生成的大型系统迟早变成一个黑箱,可能对于架构知识的要求也不是很高。
另外,我还要看看他以前的项目,如果以前他用 AI 做过类似的东西,那么应该问题不大。但这也不可靠,且不说完全类似的项目非常少,就看 AI 进化速度这么快,两年前的经验早不适用了吧。
总之我发现,很难确定什么面试问题是一定有效的,能够可信地筛选出合格的应聘者。AI 颠覆了软件开发,也连带颠覆了程序员面试。大家有好的面试问题吗?
有一点是确定的,面试各种编程细节意义不大了,因为你不需要记住语法细节了,直接问大模型就行。
科技动态
1、访达小子
苹果公司最近发布了 Macbook Neo,有人注意到,官方的 Tiktok 宣传海报里面出现了一个全新的吉祥物(下图)。
![]()
上面海报的左上角有一个玩偶,以前没见过。
这个玩偶明显来自 Mac 电脑的访达工具(Finder),所以被称为"访达小子"(Lil Finder Guy)。
![]()
几天后,苹果公司又在一场直播里面,使用了这个形象。
![]()
人们纷纷猜测,这到底是偶然的行为,还是苹果公司真的会推出它作为吉祥物?
热心的网友让 AI 绘制了"访达小子"的完整形象。
![]()
![]()
看上去很可爱,就跟 Labubu 似的,有可能大受欢迎。
2、红外线编码
英国科学家发明了一种新的通信方式,通过热辐射二极管,将数字信号以热量形式传递。
![]()
肉眼看不见这种信号(因为它是红外线),也检测不到无线电波,但是它的热量以编码方式散发,在红外线热成像仪上能识别(上图)。
因此,这种方法接收信号需要热成像仪,再传入电脑的解码器。这可能对某些工业和军事场景很有用。
3、机柜种植
家里有多余的服务器机柜,怎么利用起来?
![]()
一个国外程序员想到机柜里面有电源,拉线和搁板都很方便,可以用来水培种植。
![]()
他买了一些 LED 灯带,用来模拟日照,每一层还安装了一个泵,用来自动进排水。
![]()
如果你想在家里种一些暖房植物,或者需要长时间光照的植物,服务器机柜确实是一个很好的方案。
![]()
文章
1、我放弃了 Elasticsearch,转而使用 Meilisearch(英文)
![]()
Meilisearch 是一种开源的搜索软件,作者介绍怎么用它替代 Elasticsearch。
2、2016 年,我做过一次 AI 写代码创业(中文)
![]()
作者徐宥(Eric Xu)回忆他在2016年的 AI 创业,当时他想训练一个大模型,需要25万美元,但是找不到投资人。(@gengxiuli 投稿)
3、信息过载时代,我的漏斗式阅读工作流(中文)
![]()
每天有太多东西值得看,作者介绍他的信息处理工作流,通过 AI 过滤出值得读的内容。(@shawnxie94 投稿)
4、编译器的前端与后端(英文)
![]()
一篇科普文章,介绍编译器(比如 LLVM)的前端和后端的概念。
5、CSS 的 lh 单位(英文)
![]()
CSS 有一个字体大小属性lh,表示行高。
6、寻觅杜鹃花之王(中文)
![]()
大树杜鹃是最高大的杜鹃,是一颗会开花的大树(上图),1919年由英国人在云南发现。
后来,这个英国人死在云南,就无人知道哪里有这种杜鹃了,直到1982年才重新在高黎贡山找到。本文讲述这种植物的故事。
工具
1、APTUI
![]()
一个 Linux 的终端应用,用于充当 Debian/Ubuntu 安装管理器,管理 APT 软件包。
![]()
如果你想尝试 WordPress,但没有服务器,可以使用官方新推出的这个服务,打开上面网址就可以了。
它把所有 PHP 脚本编译成 JS,在本地运行,不需要服务器,而且数据都在你的浏览器,下次打开这个网址,网站数据还在,参见介绍文章。
![]()
一个跨平台的图像编辑器,特点就是非常轻量级,可以在浏览器运行,也可以编译成二进制文件。
![]()
一个 Mac 抠图软件,大小只有 8MB。(@pangxiaobin 投稿)
![]()
macOS 菜单栏久坐提醒工具。(@lifedever 投稿)
![]()
一个跨平台的阅读软件,可以悬浮在桌面上,支持单行模式,适合想在工作流里"偷偷读书"的人。(@yaoyao2mm 投稿)
7、锤子便签
![]()
开源的网页版锤子便签,可以作为 Skill 调用。(@zhaoolee 投稿)
![]()
开源的微信公众号转 RSS 工具。(@tmwgsicp 投稿)
一个很有意思的 Chrome 插件,根据语速调节视频播放速度。如果剧中人说话慢,视频就快速播放,说话快,就慢速播放。
AI 相关
1、VibeGo
![]()
Vibe Coding 的开源 Web IDE,支持 Claude Code、Gemini CLI、CodeX、OpenCode 等。(@xxnuo 投稿)
一个开源应用,使用字节 seedream 图像模型,复刻小红书的图文笔记,从一篇可以衍生出另一篇。(@zhanchey 投稿)
3、AICheck
![]()
一个 Rust 语言编写的命令行工具,离线检测图片、视频、音频和文档是否由 AI 生成。(@MatrixA 投稿)
4、AionUi
![]()
开源的 Cowork 与 OpenClaw 的替代品,自动化各种电脑操作。(@cdxiaodong 投稿)
5、Lumo
![]()
一个 Claude Code 的本地桌面工作台,查看成本、Token、会话和编码时段数据。(@zhnd 投稿)
![]()
开源的 AI 动漫视频生成系统,只需输入文字剧本,即可自动完成角色提取、分镜设计、关键帧生成、视频合成的全流程。(@twwch 投稿)
资源
![]()
网页检测你的机器,能够运行哪些本地的 AI 模型。
2、AI 是怎么回事(中文)
![]()
面向普通读者的通俗 AI 原理教程。(@wmyskxz 投稿)
3、TypeScript 数据结构与算法(Algorithms with TypeScript)
![]()
免费阅读的英文电子书,使用 TypeScript 语言介绍数据结构和算法。
4、频道冲浪者(Channel Surfer)
![]()
这个网页把 Youtube 改成传统的电视频道,每个频道都有节目表,可以切换频道。如果你不知道用 Youtube 看什么,就可以看这个网站。
图片
1、巧妙的古建筑
因为缺乏机械和动力,古代建筑物往往包含了很多巧思。
(1)19世纪的英国麦克尔斯菲尔德运河,由于没有水位落差,需要马拉着船前进。
有时,马的牵引道从河的一边转到了另一边,马这时就需要过河。
为了不解开牵引绳,马就能过河,工程师就设计了"蛇桥",马可以直接走上去,中间还有让牵引绳通过的孔。
![]()
(2)法国南部的巴尔贝加尔水磨坊,建于公元2世纪,现在只剩下了遗址。
这个磨坊的位置在山坡上,连续建了16个相互连接的水车,充分利用了水能,每天能够生产25吨面粉,被认为是欧洲第一个大规模工业生产的磨坊。
![]()
(3)伊朗纳什提凡的古代风车,建在连片的屋顶上,一根木轴安装了由粘土、稻草和木材做成的立轴式风帆,强风会带动木轴,转动下面屋子里的磨盘,来磨碎谷物。
![]()
![]()
(4)中国西安的秦代上林苑遗址,发现了战国时期的陶瓷水管,现保存于西安博物院。
![]()
文摘
1、避免使用定制框架
很多小团队在工作中,往往会发明自己的"定制框架"。
他们原来使用的是通用框架,但有不满意之处,于是决定在通用框架基础上定制自己的框架。
这种"定制框架"有一些共同特点:
(1)由小团队创建,旨在解决他们的痛点;
(2)底层是其他更通用的技术栈或框架;
(3)引入原有技术栈不存在的新概念和术语;
(4)创建者声称这个定制框架"神奇地"解决了许多问题,并推广更多人使用它。
我的个人经验是,"定制框架"非常难用,引入了许多新概念,意图掩盖它带来的更多复杂性。
我建议,大家避免使用"定制框架",原因有下面这些:
(1)定制框架常常声称,它们能消除或隐藏原始框架"不必要的复杂性",但实际上做不到。即使定制框架能很好地处理80%的用例,但是因为引入了新的语法,剩余20%的用例就不如原始框架的灵活性和功能性。
(2)定制框架不易改动。它仅对开发团队的用例建模,以解决他们的特定问题,未来需求变化时,往往跟不上。另外,定制框架通常改动了原始框架的实现细节,而原始框架将来随时可能变动,你修改的细节越多,就越难跟上原始框架的变动。
(3)定制框架反映了开发团队的心理模型,这些团队专注于自己的问题,往往有很强的个人意见。这本身是好事,但也使得定制框架不适合其他人的心理模型。
(4)定制框架往往导致技术栈碎片化。你改动的只是跟你相关的一部分,其他部分保持不变。随着新的层不断增加,框架变得越来越难整体迁移,必须不断改动你原来没改的部分。
(5)定制框架缺乏维护。通用技术往往有一个专门团队或公司来维护,但定制框架通常由一两个创建者拥有。一旦他们离开团队或公司,就很难找到接班人。定制框架很大可能会随着原作者离开而消失,除非在此之前获得了大量采用,才有人愿意接手,而这种情况很少发生。
我不是说,你不要开发自己的框架,而是建议最好遵循三个原则:(1)新概念引入越少越好,(2)优先创建库,而不是框架。(3)不要做现有框架的包装器,而要从零开始构建。
言论
1、
我想要的网络世界,是一个万物皆可塑的世界,让你不由自主地成为创造者。
2、
AI 让软件的成本从代码转移到测试和文档,一套好的测试套件的价值可能比编写代码本身更高。
3、
编程的核心在于抽象,即用一种远离底层技术的高级思维方式来思考代码。
4、
领导力就是让别人去做你想让他们做的事,而且是心甘情愿的。
-- 艾森豪威尔,美国前总统
往年回顾
面试的 AI 作弊----用数字人去面试(#342)
所有代码都是技术债(#292)
一次尴尬的服务器被黑(#242)
最大的机会来自新技术(#192)
(完)
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
- 发表日期: 2026年3月20日