阮一峰科技爱好者周刊/issue-160

科技爱好者周刊(第 160 期):中年码农的困境

这里记录每周值得分享的科技内容,周五发布。

本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容。

周刊讨论区的帖子《谁在招人?》,提供大量程序员就业信息,欢迎访问或发布工作/实习岗位。

封面图

<p>阮一峰科技爱好者周刊/issue-160</p>

云南红河州的蝴蝶谷,5月出现蝴蝶大爆发,数量是十年来最多,估计达到1.5亿只。(via

本周话题:中年码农的困境

上周谈到了游戏开发者的年薪,我后来想到,曾经在 B 站看过一个视频,也是讲这个事情。

我又重新看了一遍,还是感到说得很好,想分享给大家。下面就是我总结的视频主要内容,下文的“我”都是指视频的讲述者。

<p>阮一峰科技爱好者周刊/issue-160</p>

2008年,哈工大研究生毕业后,我和同宿舍的同学一起来了上海。他在盛大游戏工作几年后,回了广州老家,我们就很少联系了。

前一段时间,我有事找他,就聊了一下近况。他本科和硕士都是计算机专业,现在广州的一家游戏公司上班,还在写代码。我们都已经35岁了,我也想知道,这个年龄段的中年码农,现在的行情怎么样?

他跟我说了几个情况。首先,跟大家想的一样,加班非常厉害。周一到周五,每天基本是晚上十点下班,如果遇到项目上线或者重大更新,那肯定是凌晨两三点下班,通宵也是有的。周六还要正常上班。

他现在的这家公司比较坑。游戏公司给研发人员的基本工资不会太高,你的很大一部分收入来自项目奖金。去年他们公司有一个项目上线,就在上线之前,把整个项目组解散了,要么辞退,要么分配到其他的项目组。公司这是为了节省成本,少发奖金。很多公司都这么干,没有办法的,员工永远是处在弱势的地位。

然后,我很好奇,也是很多人好奇的,985高校的计算机硕士,工作到现在有12年了,收入是多少呢?他跟我说,他的月薪是每月税后三万多,具体多少他没说,奖金我也没问。

我是自由职业者,会担心下个月的收入,我觉得他在公司上班,可能相对稳定一点。他说自由职业者的所有担心,他作为上班族都有,担心会被裁员。裁员是所有中年码农,或者说所有中年职场人士,都避不开的一个话题。35岁到40岁的这些职场人士,如果职位做不到中层,你的人力成本是很贵的。把你优化掉,雇佣那些刚毕业的年轻人,对公司是更优的选择。他们更有体力,也更听话,执行力也更强。很多公司裁员时,第一考虑的就是中年的中低层职员。作为中年人,如果你平时不加班,万一绩效评得不好,那就可能被优化掉。

我刚毕业时,很多同学和同事可能心里想的是,写几年代码,代码写得好之后去转管理层。后来有一些人真的转了管理,但是更多的人是转行,不做码农了,因为年纪大了,各种体力都跟不上了。转管理层毕竟是少数,因为僧多粥少,只有那么几个位置,而且有些人就不适合做管理,喜欢写代码。就算成功晋升管理层,往上走就更难了,很多时候只能走到中层,很难走到高层。所以,对于中层管理者,前面说的那些中年危机,他同样都有。

<p>阮一峰科技爱好者周刊/issue-160</p>

现在已经有很多三四十岁的码农了,好消息是有一小撮人,像我同学那样,依然在写代码,坏消息是很多公司对于中年的码农比较苛刻,由于他们的综合人力成本比较高,很容易被优化掉。这就是现状。

下面对于那些年轻的码农,我给几个建议吧。

(1)要有积累。不管是文字、视频、项目、代码等等,一定要有积累,要在本职工作以外,有一个东西你可以慢慢的累积下来。最开始的几年,可能都没有什么收益,但你最好还是要坚持下去。我觉得,积累是一种很强大的力量,比学习能力更重要。因为随着年龄的增长,你的学习能力是在下降的,而且行业和技术迭代比较快,一直有新东西出现,你必须不断地保持学习,这很困难。

(2)要让自己不可或缺。公司制定了很多很完善的流程和制度,目的就是为了让每一位员工都可以被替代,一旦有人离职,都可以在短时间内找到替代他的人,这样才能保持公司的正常运转。个人的策略其实就是跟公司相反,让公司不容易找到替代你的人。如果公司需要花费较长时间或者较大的成本,才能找到合适的人来替换你,那么你就是不可或缺的。

(3)要保持开放的头脑,要善于接受。每个人的见识是有局限的,世界是多元的,每一次交流都是认知的碰撞。很多人就是不善于接受别人的观点,很固执。我并不是说,让你无脑地赞同别人,而是你愿意去尝试或者验证别人的观点。这样才会给自己带来更多的机会,蛮干是没有出路的。中国大部分码农的现状是不乐观的,如果你不多去思考的话,情况可能会更加的不乐观。

Authing 身份云

以后,周刊会不定期推广国产软件精品和新品,每周详细介绍一款软件。如果大家有意推广自己的产品,欢迎与我联系(Email:yifeng.ruan@gmail.com)。


本周的主角是北京蒸汽记忆科技有限公司的 Authing。去年他们在周刊上亮相过,经过近一年的密集开发,Authing 产品有了大幅度改进,功能稳定性显著提升,SDK 也更加完备,所以想再给大家介绍一下他们。

<p>阮一峰科技爱好者周刊/issue-160</p>

如果用一句话表达,Authing 做的是身份认证和授权管理的 SaaS 服务。说得通俗一点,他们通过云服务,帮外部应用解决用户登录和权限设置问题,国外称为 IDaaS(ID as a Service),中文译为“身份云”。

用户的认证和权限管理对软件来说特别重要,不仅要保证数据安全,还要满足各种协议和使用场景,对企业来说往往是开发难度大,既耗时又费人力。

Authing 就是为了解决这个痛点而生的,通过将用户数据与软件本身的功能解耦,使得开发者不必自建身份管理系统,只需要调用 Authing 的云服务,不仅提升了安全性,还节约了开发时间。

小到几行代码的登录表单,大到企业应用的身份中台,你都可以在他们的平台上进行定制,整个过程方便快速,而且价格低廉。

具体来说,Authing 提供三种不同的使用方法:

(1)最简单的,让 Authing 托管你的登录页,登录时跳转到他们的网站即可,用户登录后,再返回到你的应用。大家可以点击查看这个范例

<p>阮一峰科技爱好者周刊/issue-160</p>

(2)如果不想让用户跳到外部登录页,就使用他们提供的前端登录组件,嵌入自己的 Web 或移动端页面,完全不需要自己实现登录 UI 和认证逻辑。

(3)自定义登录 UI 和认证流程,这样灵活性最大,但需要自己调用 API 开发,目前 Authing 提供 10 余种主流语言或框架的 SDK

值得一提的是 Authing 提供多端支持,Web 页面、移动端、原生 App 和小程序等,都可以接入。具体使用哪一种认证(密码、手机二维码、社会化登录和多因素认证等),需要自己在后台配置。至于更复杂的权限控制,就请看文档了。

为了减轻开发负担,尤其是企业应用的开发,Authing 新上线了“应用市场”,支持常见的云服务平台(比如,阿里云、腾讯云)。如果你的应用架设在这些云平台,那么只要安装一次对应的适配层,就能实现当前平台上所有应用的单点登录。

<p>阮一峰科技爱好者周刊/issue-160</p>


你也许想不到,他们是一家 95 后开发者成立的创业公司,才不到两岁,业务就已经蒸蒸日上,完成了多轮融资,每⽉的用户规模达数千万,支持着几万个企业级应用,国内大型企业(比如中国石油、国家电网)、事业单位(比如高等教育出版社)、知名外企(日本丰田、德高集团)和众多的创业公司都是他们的客户。

尤其难得的是,他们还热心于技术传播和用户教育,写了很多科普文章。我推荐大家看一下他们的博客论坛,里面有很多不错的原创内容,比如《LDAP 协议入门》《单点登录教程》。这说明他们把产品真正当作一种技术理想,这在国内是不多见的。

最后,欢迎大家试用他们的服务,前 3000 次的认证是免费的,此后只对活跃用户收费,不登录就不收费。更多问题,可以去论坛提问和咨询。

科技动态

1、142年的种子实验

<p>阮一峰科技爱好者周刊/issue-160</p>

1879年,一位美国植物学家在密西根州采集了大量植物种子,装瓶后埋在土里,希望几十年或几百年后再挖出来,看看种子是否还能发芽。从那以后,大约每隔20年,该实验的看护者就会挖出一个瓶子,将种子重新播种。

<p>阮一峰科技爱好者周刊/issue-160</p>

2021年4月中旬,密歇根州立大学的几位老师挖出了其中的一个瓶子,种下了里面的种子。到了4月23日,第一株幼苗破土而出,截止到5月初,已经有11株幼苗发芽了。

<p>阮一峰科技爱好者周刊/issue-160</p>

这是世界上运行时间最长的实验之一,已经进行了142年,植物学家希望它至少还能持续80年,延续到22世纪。

2、Amazon Sidewalk 网络

<p>阮一峰科技爱好者周刊/issue-160</p>

Amazon 公司宣布,将在6月份启动一个叫做 Sidewalk 的共享网络。以后,用户只要购买了 Amazon 的硬件设备(比如 Echo 智能音箱、Ring 智能门铃),这些设备就会分享用户家中一小部分带宽,给附近的电子设备共享,让那些设备可以网络通信。

<p>阮一峰科技爱好者周刊/issue-160</p>

这样一来,物联网设备只要具有蓝牙模块,就可以随处上网,大大扩展了功能。举例来说,运动时可以只带一个手表,不用带手机,就将运动数据发到网上;再比如,追踪项圈可以将宠物的 GPS 坐标实时发到网上。

<p>阮一峰科技爱好者周刊/issue-160</p>

3、扁平意大利面

<p>阮一峰科技爱好者周刊/issue-160</p>

意大利面通常是螺旋状或管状,这样的面条有一个缺点,就是很占包装空间。一大包意大利面,真正的容量可能只有包装体积的40%。最近,卡内基梅隆大学的研究人员发明了一种扁平意大利面,煮熟以后会变得卷曲,图片是面条水煮前后的对比。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

它的原理是在平坦的面条上刻出沟槽,这些沟槽的形状和深度,是研究人员事先使用计算机和物理实验确定的。水煮时,由于沟槽面的膨胀小于平滑面的膨胀,导致面条卷曲变形。理论上,还可以让面条水煮后呈现更复杂的形状。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

4、猪皮移植

<p>阮一峰科技爱好者周刊/issue-160</p>

河南周口某医院为烧伤病人移植猪皮,手术利用猪皮覆盖保护患者被烧伤的皮肤,等到患者新皮肤组织再生后,移植的猪皮会自行脱落。

严重的烧伤病人需要多次移植。该医院称以前有过患者进行多次猪皮移植手术,“当时一共用了6头猪。”

5、

谷歌的 Fuchsia 操作系统正式亮相,用在自家的智能家居控制器 Nest Hub 上面。这是谷歌的第三个操作系统,前两个是安卓和 ChromeOS。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

6、

Facebook 在《纽约时报》等美国大报,刊登全版广告(下图),抨击苹果公司的新版本 iOS 允许关闭用户追踪,认为这样将打击美国小企业,因为 Facebook 无法为他们提供帮助了。

<p>阮一峰科技爱好者周刊/issue-160</p>

四种显示屏

<p>阮一峰科技爱好者周刊/issue-160</p>

瑞士巴塞尔的一个基金会,委托当地的艺术家,创造了一个装置艺术品,使用四个显示屏展示当前时间,完成后会放到机场和火车站。

这四个显示屏分别代表了显示技术的四个阶段。

第一个是1960年代的机械点阵屏(Flip-Dot),通过电磁方式翻转黑白圆点,来显示内容。

<p>阮一峰科技爱好者周刊/issue-160</p>

第二个是1970~1980年代的单色液晶 LCD 屏,通过屏幕底下的灯管发光,只能发蓝光。

<p>阮一峰科技爱好者周刊/issue-160</p>

第三个是2000年左右的 LED 屏,通过红色、绿色、蓝色的发光二极管的不同组合,显示出彩色。

<p>阮一峰科技爱好者周刊/issue-160</p>

第四个是当代的液晶 TFT 屏,使用很小的薄膜晶体管,使得分辨率可以做得很高。

<p>阮一峰科技爱好者周刊/issue-160</p>

文章

1、使用 Notion API 建立自己的账本(中文)

Notion 最近开放了 API,作者详细介绍如何写一个 Python 脚本,调用 Notion API,将支付宝和微信导出的交易记录,输入 Notion 形成一个账本。

2、如何画出螺旋曲线?(英文)

<p>阮一峰科技爱好者周刊/issue-160</p>

作者使用通俗语言,介绍螺旋曲线的数学含义,并给出多个 JavaScript 示例。

3、树莓派架设公网网站(英文)

<p>阮一峰科技爱好者周刊/issue-160</p>

作家介绍如何在家庭网络之中,使用树莓派架设一个网站,然后通过端口映射,供外网访问。

4、Linux 系统的磁盘分析工具 gdu 用法(英文)

<p>阮一峰科技爱好者周刊/issue-160</p>

gdu 是 du 命令的 Go 语言版,用来分析 Linux 和 macOS 系统的磁盘占用情况,提升了执行速度,并且有命令行图形界面。

5、为什么我们从 Webpack 切换到 Vite?(英文)

Replit 解释为什么将前端打包工具,从 Webpack 转为 Vite。

6、JavaScript Web Cryptography API 的用法(英文)

浏览器原生支持 Web Cryptography API,用于加密和解密,本文通过举例,介绍这个 API 的用法。

7、x86 计算机的栈顶位置(英文)

<p>阮一峰科技爱好者周刊/issue-160</p>

C 语言变量储存在内存的栈(stack)里面,从栈底开始存放,直到栈顶。这个概念很容易混淆,因为栈底是内存的高位地址,栈顶是内存的低位地址,本文就来分析这个概念。

8、山羊吃草问题(英文)

<p>阮一峰科技爱好者周刊/issue-160</p>

如果把山羊拴在谷仓大门上,山羊的活动面积就是上图粉色的部分,具体大小容易算出来。

数学家对这个问题进行了很多发挥,其中有一个版本就是,如果把山羊拴在一个圆形谷仓里面(下图),请问绳子的长度是多少,可以让山羊的活动面积达到谷仓的一半。

<p>阮一峰科技爱好者周刊/issue-160</p>

工具

1、Slidev

<p>阮一峰科技爱好者周刊/issue-160</p>

这个工具使用 Markdown 格式编写 PPT 幻灯片,功能较多。

2、Vulture

一个 Python 的静态代码检查工具,可以发现没有用到的代码。

3、Send

Mozilla 基金会曾经推出了一个文件分享服务,后来停止开发了。社区就接过来,做成完全的开源版,现在可以自己搭建,并且有 Web、命令行和安卓等各种客户端。

4、Sequencer 64

<p>阮一峰科技爱好者周刊/issue-160</p>

一个架子鼓的网页模拟器。

5、Id128

一个 JavaScript 库,生成 UUID(通用唯一识别码),支持多种算法。

6、Pyodide

<p>阮一峰科技爱好者周刊/issue-160</p>

这个库是浏览器的 Python 运行时,通过 WebAssembly 脚本让网页运行 Python 代码,可以通过它加载一些人工智能或者科学计算的库。

7、Zulip

<p>阮一峰科技爱好者周刊/issue-160</p>

一个团队协作工具,将聊天和电子邮件的线程模型结合在一起,类似 Slack,但是更像一个内部论坛。

8、Play.js

<p>阮一峰科技爱好者周刊/issue-160</p>

一个 iOS 应用,提供 JavaScript IDE,允许在 iPhone 和 iPad 上开发 Web 和 Node.js 应用。

9、Magician

<p>阮一峰科技爱好者周刊/issue-160</p>

一个国内开发者写的 Java 的网络协议解析包,可以用作 HTTP 和 WebSocket 服务器,支持 TCP 和 UDP 通信,使用简单。(@yuyenews 投稿)

10、NewTabEditor

<p>阮一峰科技爱好者周刊/issue-160</p>

Chrome 浏览器的插件,可以让新标签页变成一个文本编辑器。(@5A59 投稿)

资源

1、CSS 学习教程

<p>阮一峰科技爱好者周刊/issue-160</p>

谷歌出品的 CSS 教程,内容很丰富全面,一共有24课。(@wxyudl 投稿)

2、Iconic

<p>阮一峰科技爱好者周刊/issue-160</p>

一个开放式的图标仓库,可以分类查找图标,免费下载。

3、WebGL 指纹

一些大型网站使用 WebGL 生成用户指纹,用来追踪用户。这个网页列出了不同公司使用的追踪代码。

4、MANUZOID

<p>阮一峰科技爱好者周刊/issue-160</p>

这个网站可以搜索100多万种产品的英文产品说明书。

5、凤凰架构

<p>阮一峰科技爱好者周刊/issue-160</p>

一本中文的开源书籍,介绍如何构建一套可靠的分布式大型软件系统,可以免费阅读。(@1228857713 投稿)

图片

1、世界最长的公寓楼

俄罗斯圣彼得堡有一座25层公寓楼,长达990米,弯弯曲曲,像一条长蛇。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

照片看上去有很多栋楼,其实都是连在一起的。整座建筑有35个入口,3000多套公寓,如果每家有一辆车,就要解决几千辆车的停车问题。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

2、印度山城

艾索尔(Aizawl)是印度米佐拉姆邦(Mizoram)的首府,整座城市完全建在山上。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

整个山头密密麻麻都是房子,绵延几公里,还有四通八达的马路和公交系统,非常壮观。

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

<p>阮一峰科技爱好者周刊/issue-160</p>

文摘

1、 乔布斯反对第三方硬件

摘自《硅谷革命:成就苹果公司的疯狂往事》一书。

<p>阮一峰科技爱好者周刊/issue-160</p>

苹果公司最早的产品 Apple II 计算机,是联合创始人沃兹设计的。他是一个具有共享精神的工程师,很看重硬件的扩展性,所以他赋予 Apple II 极大的扩展性,内建了七个外置卡插槽,并经过精心设计,每张外置卡都能以自身的 ROM 芯片来运行内置软件。如此灵活的设计让 Apple II 能够运行大量的应用程序,同时也使得很多第三方公司为 Apple II 开发硬件。

不过,后来 Macintosh 电脑的设计负责人 Jef Raskin 有不同的想法。他认为,扩展插槽带来的复杂性(必须允许用户拆开电脑),是阻碍个人电脑普及的原因之一。而且,很多第三方硬件质量参差不齐,不一定能够按照预想的方式工作。不同的第三方硬件也缺乏一致性。

他认为,苹果公司应该推出标准化的、易用的、价格实惠的电脑,这样才能让产品大卖,允许硬件的扩展性只会徒增成本和复杂性,所以应该尽量避免。

乔布斯在很多事情上都和 Jef Raskin 有不同意见,但是唯独对硬件的扩展性看法相同。他也认为,扩展性是设计上的缺陷,而非特性。据说乔布斯以前就很反对 Apple II 有太多的扩展插槽,所以他宣布 Macintosh 永远都不提供扩展插槽,外壳要密封起来,只留下两个串行端口。

后来,他的一生中推出的所有苹果产品,扩展性都非常差,都不允许有第三方硬件扩展。

这样做虽然能保证对产品的控制,但有一个严重的缺点。由于计算机技术发展很快,硬件很容易过时,第三方扩展可以增加设备的适用性,帮助产品满足不同的需求,延长销售寿命。一旦禁止,就必然要求公司要源源不断地推出受欢迎的产品。

言论

1、

电视机的分辨率越高,屏幕尺寸就会越大,所以 8K 电视机不太可能进入家庭。正常情况下,在 3 米的距离观看电视,8K 屏幕需要达到300英寸,否则意义不大,4K 分辨率也有类似问题。

较高的动态范围和较宽的色域,对于电视机可能更有意义。

佳能公司资深研究员

2、

中国的大城市喜欢建造超高层建筑,我将这种现象称为“贫困时代的遗产”。过去的贫困时代仍然给整个社会留有一种落后的价值观,建筑物拼命比高度,展览馆、音乐厅、机场拼命比面积。

建筑物适当的高一点,适当展示形象可以,但不应将建筑物的高度视为现代化的象征。

《专家谈深圳赛格大厦晃动》

3、

如果你的身家达到440亿美元,你也不会想忍受管理手下的小兵。

国外网站评论张一鸣辞去字节跳动的 CEO

4、

1979年,袁隆平的杂交水稻技术被引入美国,这是中华人民共和国历史上的第一个知识产权转让案例。

维基百科的“袁隆平”条目

历史上的本周

2020年(第 109 期):播客的价值

2019年(第 57 期):分享知识是否违反人性?

2018年(第 6 期):未来还需要苦学外语吗?

订阅

这个周刊每周五发布,同步更新在阮一峰的网络日志微信公众号

微信搜索“阮一峰的网络日志”或者扫描二维码,即可订阅。

<p>阮一峰科技爱好者周刊/issue-160</p>

(完)

正文完
 0
评论(没有评论)