# 科技爱好者周刊（第 298 期）：轮到硬件工程师吃香了

这里记录每周值得分享的科技内容，周五发布。（**[通知] 下周五一假期，周刊暂停一次。**）

本杂志[开源](https://github.com/ruanyf/weekly)，欢迎[投稿](https://github.com/ruanyf/weekly/issues)。另有[《谁在招人》](https://github.com/ruanyf/weekly/issues/4204)服务，发布程序员招聘信息。合作请[邮件联系](mailto:yifeng.ruan@gmail.com)（yifeng.ruan@gmail.com）。

## 封面图

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024041903.webp)

这是最近的网红地点，太原植物园的时光电梯。这里原来是煤矿区，后来改建成了公园。（[via](https://new.qq.com/rain/a/20240414A04RNY00)）

## 轮到硬件工程师吃香了

这一周，我看到一个[美国的招聘数据](https://twitter.com/aznweng/status/1780594562597081362)，跟大家分享一下。

**他们的硬件工程师招聘，创出了历史新高。**

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042301.webp)

据统计，美国互联网公司的所有招聘岗位，2022年有6%是硬件岗位，目前这个比例上升到了16%。

这是前所未有的，也就是说，公司每招聘五个软件工程师，就会招聘一个硬件工程师，以前从来没有这么多硬件岗位。

目前的状况是，美国大大小小的互联网公司都在招聘硬件工程师。那几个巨头，谷歌、微软、Meta、苹果等等，更是大量搜罗硬件人才。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042302.webp)

虽然中国没有这方面的统计，但是情况也类似。你随便打开一个招聘网站，搜一下“硬件工程师”，会返回大量结果，很多都是高薪。**硬件岗位正在前所未有的增加。**

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042303.webp)

为什么硬件工程师突然变得吃香了？

**原因几乎肯定就是 AI**。互联网正在全行业上马 AI 项目，大家不管三七二十一，先做起来再说，唯恐落于人后。

AI 的软件部分，有的是开源模型，你只要按照文档和教程，都能跑起来。不管原来干什么，哪怕是前端工程师，也能转型搞 AI。

但是，硬件部分就不行了，必须用专业人才。 AI 离不开算力，算力可是百分之百的硬件，软件没法提供算力。

互联网公司如果建设自己的算力，就需要 AI 芯片和 AI 服务器，有些公司还会搞定制的集成电路 ASIC/FPGA，这些都需要硬件工程师。**你砸这么多钱上马 AI，就肯定要聘请大量的硬件工程师，否则就没有算力。**

但是，硬件工程师的供给很少，因为不容易培养，他需要有电子电路知识，还需要了解计算机系统，并且有足够的动手实践。所以，往往招不到合适的人，招聘岗位会挂很久，累积起来，加剧了市场的供求失衡。

相比硬件工程师的火爆，软件工程师的招聘就平淡无奇了。

软件岗位虽然还是远多于硬件岗位，但是增长缓慢，尤其是初级岗位，甚至有些疲软。跟前几年的巅峰相比，已经下降了很多。

为什么（初级）软件工程师的需求不振呢？我可以列出好几条原因。

> （1）SaaS 和云服务的发展，使得很多需求可以外购现成的服务，不必自己编码。
> 
> （2）智能手机市场饱和，对手机 App 的需求减缓。
> 
> （3）培训班和训练营，源源不断生产大量的初级软件工程师。
> 
> （4）AI 可以完成简单的编程任务，减少了对初级软件工程师的需求。

展望未来，如果 AI 的编程能力进一步发展，可以完成复杂的编程任务，目前这种局面就会持续下去：硬件工程师火爆，软件工程师平稳。

令人担心的是，软件工程师的初级岗位以后几乎肯定会减少，需求集中在中高级岗位。那样的话，初级工程师的培训会成为一个难题，没有外部环境，需要自己锻炼自己，变成中高级开发者。

## 科技动态

1、[牛肉大米](https://www.nature.com/articles/d41586-024-00398-w)

韩国科学家在大米上培养牛肉细胞，从而产生了牛肉味的大米。

![](https://cdn.beekka.com/blogimg/asset/202402/bg2024021903.webp)

研究人员给大米涂上营养液，然后在上面植入了牛肉细胞，让其生长约一周时间，就变成了牛肉米。

牛肉米呈现粉红色，因为这是细胞培养液的颜色，牛肉细胞本身是无色的。

![](https://cdn.beekka.com/blogimg/asset/202402/bg2024021904.webp)

牛肉米的好处是增加大米的营养，只吃一碗米饭，就可以同时补充淀粉和牛肉，适合作为野外口粮，还可以减少畜牧业对环境的影响。

2、[圆环飞行器](https://aeronde.com/index_en.html)

一家法国的创业公司，造出了圆环飞行器。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042408.webp)

整个飞行器就是一个巨型的白色圆环，里面充满了氦气，外部装备了多个螺旋桨，使用电力控制。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042409.webp)

它的负重是200公斤，只能乘坐两个成人，但是座位就是一个系在圆环下面的长椅，乘客一定要很勇敢。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042410.webp)

3、[消除墙壁背影](https://www.ianvisits.co.uk/articles/elizabeth-line-testing-ways-of-banishing-its-ghosts-in-the-walls-68642/)

英国伦敦地铁站的候车座位，就是安装在墙壁上的不锈钢凳子，乘客会背靠墙壁。

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010304.webp)

坐的人太多了，久而久之，墙壁上就留下了人的背影，既不卫生，也不美观。

为了消除背影，地铁站想了各种方法。如果更换有靠背的椅子，成本比较高，也很麻烦。最后，还是采用了最简单的方法：把背影贴掉。

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010305.webp)

贴纸便宜又简便，还能印上采用各种图案。不耐用了，再换一张就可以了。

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010306.webp)

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010307.webp)

## 文章

1、[Linus Torvalds 最新访谈](https://new.qq.com/rain/a/20240422A04OR300)（中文）

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042402.webp)

Linux 创始人 Linus Torvalds 最新访谈的中译，主要谈到了最近的 xz 后门事件，以及对 AI 的看法。

2、[CSS 网格实现经典出血布局](https://www.joshwcomeau.com/css/full-bleed/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202403/bg2024030606.webp)

一篇非常好的教程，讲解使用 CSS 网格（grid）实现页面的出血布局（即图片占用边距，占满整个行宽）。

3、[如何申请免费的 ZeroSSL 证书](https://linuxiac.com/zerossl-how-to-install-ssl-certificate/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202312/bg2023122801.webp)

ZeroSSL 跟 Let's Encrypt 一样，提供免费的 SSL 证书。它的用户界面比较友好，并且有一些付费的额外功能。本文教你如何申请该证书。

4、[联手 Copilot，我在10个小时内上线了一个前端网站](https://ameow.xyz/archives/develop-a-frontend-site-with-copilot)（中文）

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042413.webp)

作者只有前端基础，通过使用 GitHub Copilot，在短时间内完成一个 React 前端项目，并总结了一些使用 Copilot 的技巧。（[@LeslieLeung](https://github.com/ruanyf/weekly/issues/4340) 投稿）

5、[我的推特增长策略](https://mp.weixin.qq.com/s/2y463r9G4hnsIc0c2ig7dA)（中文）

作者从去年末开始做推特账号运营，且发帖频率很低，如今涨了8000关注，本文总结增长策略。（[@dongan-beta](https://github.com/ruanyf/weekly/issues/4298) 投稿）

6、[JS、Go、Rust 处理报错的不同方式](https://betterprogramming.pub/typescript-with-go-rust-errors-no-try-catch-heresy-da0e43ce5f78)（英文）

![](https://cdn.beekka.com/blogimg/asset/202312/bg2023123006.webp)

作者比较 JS、Go、Rust 这三种语言处理运行时报错的不同方式，认为 JS 应该向后两者学习。

7、[rep 和 ren：替换和重命名的新工具](https://blog.robenkleene.com/2023/12/26/introducing-rep-ren/)（英文）

![](https://cdn.beekka.com/blogimg/asset/202312/bg2023123007.webp)

作者介绍他写的两个命令行工具，可以跟 grep 和 find 结合使用，大批量地替换和重命名文件。

## AI 相关

1、[Meta AI](https://www.meta.ai/)

上周，Meta 公司发布自家的 AI 服务，免费使用，基于 Llama 3 模型，可以“文生文“和”文生图”，效果不错，详见 Meta 的[官方介绍文章](https://about.fb.com/news/2024/04/meta-ai-assistant-built-with-llama-3/)。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024041901.webp)

这应该是 OpenAI 公司迄今最强劲的对手了。

另外，Meta 公司还有一个专门的 Llama 聊天网站 [llama.dev](https://llama3.dev/)，可以选择该模型的不同版本。（[@AICodeHunt](https://github.com/ruanyf/weekly/issues/4342) 投稿）

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042206.webp)

2、[DuckDuckGo AI Chat](https://duckduckgo.com/?q=DuckDuckGo&ia=chat)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042005.webp)

搜索引擎 DuckDuckGo 推出的免费 AI 聊天，底层是 GPT-3.5 Turbo 和 Claude 1.2。

3、[LLM Pricing](https://llmpricecheck.com/)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042006.webp)

这个网站提供 AI 模型价格对比和试用链接，直观地帮你挑选最合适的模型。（[@lvwzhen](https://github.com/ruanyf/weekly/issues/4307) 投稿）

4、[Image to Text](https://imagetotext.cfd/)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024041902.webp)

用户在这个网站上传图片，它会返回图片的文字描述（英文）。如果图片上有文字，还会进行 OCR 识别。

这里还有一个类似网站 [Image Describer](https://imagedescriber.online/)。

5、[OutfitAnyone AI](https://github.com/ihmily/outfit-anyone)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042415.webp)

一个模特换衣的 AI 模型，只要上传服饰平铺图，就可以生成模特的试衣结果。（[@ihmily](https://github.com/ruanyf/weekly/issues/4297) 投稿）

6、[懒人客服](https://github.com/lrhh123/ChatGPT-On-CS)

一个 AI 自动回复的客服软件，支持微信、千牛、抖店等多个平台。（[@alsritter](https://github.com/ruanyf/weekly/issues/4308) 投稿）

7、[Dive Into Knowledge](https://openperplex.com/)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042207.webp)

该网站对搜索引擎的返回结果进行总结，效果还可以。

8、[大语言模型](https://llmbook-zh.github.io/)（中文）

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042305.webp)

免费阅读的电子书，适合对 LLM 技术感兴趣的初学者，作者是去年发表的大模型综述《A Survey of Large Language Models》的团队。（[@acelit](https://github.com/ruanyf/weekly/issues/4330) 投稿）

9、[AI Image Generator](https://github.com/amin2312/AI-Image-Generator)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042414.webp)

一款易于操作的图片生成器，可以本地部署，后端需要接入 Dall·E 和 Stable Diffusion。（[@amin2312](https://github.com/ruanyf/weekly/issues/4345) 投稿）

10、[RMBG](https://github.com/zhbhun/rmbg)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042501.webp)

一款开源工具，使用 AI 去除图像背景。（[@zhbhun](https://github.com/ruanyf/weekly/issues/4347) 投稿）

这里还有一个类似网站“[未道帮 AI 抠图](https://cutout.aiwave.cc/)”。（[@wytxer](https://github.com/ruanyf/weekly/issues/4356) 投稿）

## 工具

1、[Lan Mouse](https://github.com/feschber/lan-mouse)

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010703.webp)

一个开源软件，使用同一个鼠标和键盘，控制局域网的多台电脑。

2、[UnoCssUi](https://github.com/cherryful/unocss-ui)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024041904.webp)

一个基于 Vue3、UnoCSS、Tailwindcss 的组件库，原子化设计，没有任何依赖。（[@szluyu99](https://github.com/ruanyf/weekly/issues/4294) 投稿）

3、[drawDB](https://github.com/drawdb-io/drawdb)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024040703.webp)

开源的数据库结构图和 SQL 生成工具。（[@yingming006](https://github.com/ruanyf/weekly/issues/4314) 投稿）

4、[vscode-highlight-text](https://github.com/Simon-He95/vscode-highlight-text)

一个 VS Code 插件，可以自定义任意语言和框架的高亮规则。（[@Simon-He95](https://github.com/ruanyf/weekly/issues/4302) 投稿）

5、[Easy GitHub 2FA authentication](https://github.com/Dolov/chrome-github-2fa)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042304.webp)

一款开源的浏览器插件，自动填写 GitHub 双因素认证的验证码。（[@Dolov](https://github.com/ruanyf/weekly/issues/4328) 投稿）

6、[JavaVision](https://gitee.com/giteeClass/java-vision)

一个视觉识别项目，具备物体识别、人脸识别、以图搜图等核心功能，使用 Java 开发，需要本地部署，然后通过 Web API 调用。（[@javpower](https://github.com/ruanyf/weekly/issues/4343) 投稿）

7、[Shion](https://github.com/shion-app/shion)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042502.webp)

开源的 Windows 软件，用来追踪统计个人的时间消耗，自动记录各种软件的使用时间，以及同步浏览器历史。（[@hanaTsuk1](https://github.com/ruanyf/weekly/issues/4350) 投稿）

8、[Chat2DB](https://github.com/chat2db/Chat2DB)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042503.webp)

开源的数据库管理工具，有桌面端和 Web 端，用来浏览操作各种数据库。（[@JerryFan626](https://github.com/ruanyf/weekly/issues/4349) 投稿）

9、[Teable](https://github.com/teableio/teable)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042504.webp)

开源的 Airtable 替代品，无代码搭建数据库应用，建立在 PostgreSQL 之上，界面友好、响应快速。（[@yingming006](https://github.com/ruanyf/weekly/issues/4352) 投稿）

10、[main-thread-scheduling](https://github.com/astoilkov/main-thread-scheduling)

![](https://cdn.beekka.com/blogimg/asset/202401/bg2024010602.webp)

这个 JS 模块号称可以把计算量大的任务放到主进程，同时又不会阻塞主进程，UI 界面保持对用户的随时响应。它的源码有学习价值。

## 资源

1、[图解 Word2vec](https://cloud.tencent.com/developer/article/1430171)（中文）

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042003.webp)

一篇2019年的长文，Word2vec 技术入门。虽然写得不是很清楚，但是很多例子很有启发，还配有插图，可参考[英语原文](https://jalammar.github.io/illustrated-word2vec/)。

2、[硬地骇客——两个月 $12000 ARR 实践之路](https://github.com/hardhackerlabs/book)（中文）

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042208.webp)

一本开源电子书，介绍 [Podwise 产品](https://podwise.ai/)从灵感到变现的全过程。（[@SaitoWu](https://github.com/ruanyf/weekly/issues/4322) 投稿）

3、[Serach for John](https://www.searchforjohn.com/)

![](https://cdn.beekka.com/blogimg/asset/202402/bg2024020301.webp)

一个新的搜索引擎，可以聚合其他搜索引擎的结果，我的试用效果非常好。

4、[计算机网络简介](https://intronetworks.cs.luc.edu/)（An Introduction to Computer Networks）

![](https://cdn.beekka.com/blogimg/asset/202310/bg2023100518.webp)

一本免费的英文书籍，介绍计算机网络知识，美国大学的教材。

## 图片

1、[日食照片](https://petapixel.com/2024/04/21/how-a-photographer-captured-his-spectacular-dream-eclipse-photo/)

4月8日，北美洲发生了日全食。很多摄影师早早就为这个事件开始了准备。

一个鸟类摄影师来到了墨西哥的一个小岛。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042403.webp)

岛上有许多军舰鸟。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042404.webp)

摄影师想拍摄鸟类在日全食时的表现。

那一天，他终于拍到了令人叫绝的照片。

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042405.webp)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042406.webp)

![](https://cdn.beekka.com/blogimg/asset/202404/bg2024042407.webp)

2、[树叶艺术品](https://lito-leafart.com/)

一个日本艺术家专门制作树叶艺术品。

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023111202.webp)

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023111203.webp)

![](https://cdn.beekka.com/blogimg/asset/202311/bg2023111204.webp)

## 文摘

1、[五趾袜](https://herman.bearblog.dev/a-case-for-toe-socks/)

我过去八年一直穿五趾袜，非常推荐它们。

![](https://cdn.beekka.com/blogimg/asset/202306/bg2023062816.webp)

（1）五趾袜更适合脚趾。脚趾可以伸展并自由活动，如果束缚在一起，是很不舒服的。

（2）五趾袜站得更稳。脚掌的表面积越大，站得就越稳。即使普通的运动鞋配上五趾袜，我也觉得稳定性更好。

（3）脚趾间不会出汗。普通袜子使得脚趾之间会捂出汗液，五趾袜就没有这个问题。

（4）走长路的时候，脚趾之间不会互相摩擦出水泡，这对长跑运动员或徒步旅行者很重要。原来是脚趾间的摩擦，现在是袜子与袜子之间的摩擦。

（5）五趾袜更牢固一些，袜子不容易滑落。

目前，五趾袜目前还不常见，因为它们的制造工艺更复杂，成本更高，人们还没有习惯它们。我已经说服了很多人尝试五趾袜，每个人都感觉很好，所以你也可以试试。

## 言论

1、

特斯拉的市值高得离谱，达到4800亿美元，2022年总收入810亿美元，市盈率36倍。

相比之下，美国最大的汽车公司——通用汽车的市值500亿美元，2022年总收入为1720亿美元，市盈率6倍。

特斯拉的问题在于，市场把它当成 Meta 和谷歌那样的科技公司，但它实际上是一家汽车公司。一旦市场开始认清这一点，股价就不可避免地下跌了。

-- [Hacker News 读者](https://news.ycombinator.com/item?id=40064741)，评论特斯拉的股价不断下跌

2、

十九世纪现代医学出现后，人类的寿命大大延长，再加上法律对个人财产的保护，使得全世界大部分财产和权力掌握在老年人手中。

有文章称，世界上最富裕城市的最优质地区都居住着老年人。

-- [《老人的烦恼》](https://granta.com/the-trouble-with-old-men/)

3、

React 这个库的革命性在于，之前的网页应用都直接构建在 DOM 之上，开发者必须自己处理 DOM 的状态，自己保证各个节点之间的同步。

React 改变了一切，使得应用程序脱离了 DOM。你不必再管 DOM 的状态，只需要管理自己应用的状态。这消除了复杂 Web 应用中繁琐且容易出错的许多工作量。

-- [Hacker News 读者](https://news.ycombinator.com/item?id=39310142)

4、

社交媒体就是一个水族馆，网红和名人是那里的展品——水母、鲨鱼、章鱼、小丑鱼等等。普通访问者就是游客，对展品的形状和颜色惊叹不已。

-- [《社交媒体是隐喻的水族馆》](https://kottke.org/24/02/social-media-sites-are-metaphorical-aquariums)

5、

敏捷开发有一个问题，就是它要求“新的冲刺在上一个冲刺结束后立即开始。” 

有了这个规则，程序员就陷入了永远冲刺的陷阱。

-- [《永远冲刺》](https://cbh.bearblog.dev/always-sprinting/)

## 往年回顾

[国产单板机值得推荐](https://www.ruanyifeng.com/blog/2023/04/weekly-issue-251.html)（2023 #251）

[中国需要成立半导体部](https://www.ruanyifeng.com/blog/2022/04/weekly-issue-201.html)（2022 #201）

[NFT 是什么，听说能赚钱](https://www.ruanyifeng.com/blog/2021/03/weekly-issue-151.html)（2021 #151）

[互联网不再稀缺](https://www.ruanyifeng.com/blog/2020/04/weekly-issue-101.html)（2020 #101）

（完）

