科技爱好者周刊(第 191 期):一个程序员的财务独立之路

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

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

封面图

美国的 RobotReport 网站,评选波士顿动力公司的跳跃机器人为2021年度技术突破之一。根据8月份的视频,该公司的机器人已经可以跳跃了,只见它双手一甩,从左边的台子挺身跃起,稳稳落在右边的桌子上。(via

本周话题:一个程序员的财务独立之路

本周,推荐一篇美国程序员的文章

作者20岁时第一次当实习生,发现在 IT 行业,普通人有可能在30多岁就实现“财务独立”,不再为维持生计和支付日常账单而劳碌。以前,他一直以为每个人都需要工作到退休。

从此,他就将财务独立作为自己的人生目标。

2009年,他大学毕业了,没有任何积蓄,进入英特尔公司担任初级工程师。当时的年薪是10万美元,年支出3.8万美元,再扣掉税,第一年就有了3.5万美元的净资产。

以后,他每年都记账。在这篇文章里面,他公开了收入和支出(见下表)。十二年以后的2021年,他已经是亚马逊的高级工程师,年薪62.5万美元(含股票),年支出7.8万美元,净资产达到了240万美元(含股票)。

他详细说了,自己怎么经过十二年的奋斗,在35岁做到财务独立,我觉得很有借鉴意义。

(1)首要的努力方向,就是追求工资提升。 普通人的收入来源,主要还是本职工作,如果工资很低,根本不可能实现财务独立,所以必须想方设法提高工资。

一般来说,大厂的高级职位可以拿到稳定的高工资。所以,他要求自己一定要进大厂,并且做到高级工程师。

(2)每过三年,就到别处面试。 他一般三年换一家公司,这样可以获得显著的加薪和晋升。他说每次换公司,收入至少增加30%。另外,还可以让自己始终拥有一种进取的心态,不断处于学习和成长的环境之中。

不过,换公司是双刃剑,为了获得更高的薪酬,就需要在面试和工作中给别人留下深刻印象,后面的公司对你的要求也会越来越高。

(3)建立良好的职业履历。 要通过大厂的面试,必须有良好的职业履历。最早的时候,他的履历没有特别的亮点,他就去一个名校,读了一年制硕士(欧美硕士一般都是一年)。这会带来很多职业机会(前提是必须为 Top 5 名校),同时一年的时间成本相对较小。

不过,IT 行业跟律师和金融业不一样,就算没有名校经历,只要自身水平过硬,也能求职成功,只是开始时的机会可能会少一些。

(4)优先加入增长最快的领域。 一个行业增长越快,产生的机会越多,越容易涨工资。在机会面前,你不要害怕改变专业领域。

他是硬件工程师出身,进入行业时在英特尔做硬件。后来发现互联网机会更大,他就跳到互联网公司当软件工程师。现在,机器学习很热门,他又去尝试这个领域。

(5)投资你的钱。 有了积蓄以后,不要让钱在银行闲置,要学会投资。他的很大一部分资产是股票,虽然投资过程中经常遭遇损失,但还是比放在银行增长快得多。

(6)节制消费。 想要财务独立,一定要控制消费。他认为,钱要花在生活必需品,不要花在奢侈品(比如高档车)。钱也不要用于享受,但可以用来增加体验。他说自己始终认为,跟物质享受相比,财务独立才是人生最大的奢侈品。

另外,购买房屋通常是最大的财务决定,务必要想清楚。他有能力购房以后,还是选择租房,而且跟别人一起合租,因为感觉这样在财务上更灵活。不过那是在美国,跟国内的情况不太一样。

以上就是他的一些主要做法,供大家参考。

Go 语言高频面试题

去年,周刊推送过一份《Go 语言高频面试题》,很受欢迎。如果你错过了,可以过来看一下。

最近,Go 新版本 1.18 正式加入了泛型,这是近几年来这门语言最大的功能增强。可以预见,它的应用领域还会进一步扩展。

Go 已经是国内的第二大互联网开发语言,仅次于 Java,各大厂都在用于生产环境。这导致 Go 语言的招聘岗位一直很多,而开发者相对稀缺。

所以,Go 很值得学习。一方面,它本身具有很强的生产力;另一方面,它的行业应用很广,容易求职。

这一份 《Go 语言高频面试题》 资料,收集了2021年国内各大厂的面试真题,共250多道,按照学习顺序分类编排,每道题都包括简要的解题思路讲解,可以作为面试或学习指南。

整份资料一共134页,除了 Go 语言的部分,还带有一个附录,包括跟后端开发相关的一些其它面试真题。

它是由知名的工程师学习平台“极客时间”制作的,他们为了推广 Go 的学习品牌,特别向周刊读者赠送。

现在领取的读者,还能获赠一份2021版的 《数据结构与算法面试题讲解》(113页)

微信扫描上方二维码,添加助教老师,就可以 免费领取 这些资料。因为是手动发送,添加老师后,还请大家保持耐心。

2021年度最佳新产品

美国《大众科学》杂志,评选出了2021年度最佳的100种新产品,包括 mRNA 疫苗、苹果公司的 M1 芯片、SpaceX 公司的龙飞船等著名产品。

下面是其中一些很有趣、但不那么出名的新产品。

1、键盘贴纸

微软推出了一套可触摸的键盘贴纸,供盲人和视障人士使用。只要贴在笔记本电脑的某个位置,盲人就可以触摸识别,比如贴一个圆圈在 Win 键上。

这种贴纸对正常人加快盲打速度也很有帮助。

2、磁铁睫毛膏

一家美国公司推出了含有氧化铁粉末的睫毛膏,并配有磁性睫毛刷。只要一刷,化妆品粉末就能均匀分布到睫毛各处,并且能让睫毛获得最大长度和弯曲。

3、健康追踪内衣

这款运动内衣,内置了电池和传感器,可以24小时感知穿戴者的睡眠质量、运动压力和心率,从而确定健康状况和健身安排。

4、飞机蓝牙系统

飞机座椅背后的电视屏幕,以前只能连有线耳机。松下公司开发了一套新系统,允许乘客用自己的蓝牙耳机连接。

在飞机这样狭小的金属机身里面,同时让所有乘客都能有稳定的蓝牙连接,并不是一件容易的事。但是,松下这套系统效果很好,已经有航空公司开始采用它。

5、太阳帆

人类迄今发射的宇宙飞船都带有动力系统,美国宇航局研发成功不带有动力系统的太阳帆。它基本上就是一大张镀铝的塑料膜,依靠太阳喷射出来的粒子流(太阳风)推动前进。

它可以用来追踪高速飞行的小行星,计划在今年7月发射。由于不需要携带燃料和动力系统,它的造价只有传统飞船的十分之一。

6、氢气炼钢

传统的炼钢方法是使用焦炭,将氧化铁矿石里面的氧元素还原出来,这个过程会产生大量的二氧化碳。

为了减少二氧化碳排放,一家瑞典钢铁公司发明了氢气炼钢,不使用焦炭,而是用氢气将氧元素还原出来。这样不会产生二氧化碳,只产生水。

7、立体镜头

佳能公司发布了一款两眼的镜头,只要把这款镜头安装在普通相机上,就能拍摄立体视频。这个镜头的每个眼用到一半的图像传感器,使用视频制作软件 Adobe Premiere 的插件,就能将两眼拍摄到的图像叠加在一起,得到立体视频。

8、空中加油无人机

波音公司新开发的无人机,可以为战斗机空中加油,从而使空中加油变得更简单和方便,不需要额外投入飞行员。

它对航母的意义尤其重大,海上作战时,战斗机就不必返回航母加油了。美国海军可能会订购70架这种空中加油无人机。

9、雷达摄像头

传统的监控都使用摄像头,通过视觉侦测判断是否有入侵。美国的 Ring 公司发布的一款家庭监控器,除了摄像头,还加上了电波侦测,相当于一个微型的雷达。

这个雷达可以在10米范围内跟踪运动的物体,再加上摄像头识别物体。两者结合起来,就能更好地判断是否出现异常情况。

10、两栖摩托艇

一家法国军工公司开发了两栖摩托艇,在海上是高速快艇,到了岸上,它的底下会升出两排履带,变成履带车。它适合登陆作战,到了海滩以后,士兵不用下艇,接着驾驶到合适的登陆位置。

文章

1、令人困惑的 HDMI 2.1(中文)

本文介绍了高清视频 HDMI 2.1 标准,并且讨论了一个外行人容易误解的细节:由于标准化组织的奇怪规定,HDMI 2.0 设备都可以自称符合 HDMI 2.1 标准。

这里是中文译文,另有英文原文

2、德国最受欢迎的程序员技能排行(英文)

有人统计了德国程序员招聘广告里面,出现频率最高的技能,跟中国的情况基本一致。大家可以看看,什么技能容易在德国就业。

3、自制 NFC 唱片卡(英文)

作者将 NFC 标签,贴在纸卡片的背后,然后将唱片的数据写入 NFC 标签。手机只要靠近这些纸卡片,就可以读取数据,自动播放这张唱片。

这篇文章值得借鉴,学习怎么使用 NFC 标签。

4、node_modules 目录放入代码仓库(英文)

本文提出 Node.js 项目的 node_modules 目录可以放入代码仓库,尤其是在公司内网,有很多好处。

5、where 与 having 子句的区别(英文)

SQL 查询有 where 子句和 having 子句,它们的区别是什么?

6、如何在 Mac 安装 Rails(英文)

这个网页很别致,以可视化的形式,给出命令行怎么安装 Rails。

7、为什么 ISO 格式应该被淘汰(英文)

磁盘的镜像文件有两种格式:ISO 和 IMG。作者认为 ISO 文件格式应该被淘汰,只使用 IMG 格式。

8、显示服务器是什么?(英文)

本文是一篇长文里面的一节,解释 Linux 系统里面显示服务器的作用(X11 协议和 Wayland 协议),写得很通俗。

工具

1、xxh

远程服务器登录的时候,往往只有 Bash 可用。这个工具可以把你本地的 Shell 环境(zsh、fish 等等)自动带到远程服务器。

2、Pico.css

一个极小化的 CSS 框架,只有 8KB,优雅简单,功能也不弱。

3、uBlacklist

一个浏览器插件,可以从 Google/Bing 的搜索结果里面,去除指定网站或 URL。

4、Lapce

一个 Rust 语言写的轻量级代码编辑器,速度极快,功能上模仿了 VS Code,支持 Windows 和 macOS。

5、console-helper

一个 VS Code 插件,只要在 JavaScript 脚本里面选中一个变量,就可以自动为这个变量插入一行console.log打印语句。(@moore529 投稿)

6、PPTist

一个 PPT 网页应用,还原了大部分 PowerPoint 常用功能,支持 PPT 的在线编辑、演示和导出。这里有 demo。(@pipipi-pikachu 投稿)

7、My LightNote

一个 macOS 的网页收藏器,支持分类、标记、收集图像、添加标签,所有数据都保存在你的 iCloud。(@hite 投稿)

8、Internal App Store

一个开源的安卓 App 商店,可以用来搭建自己的应用商店。

9、GDBFrontend

调试工具 GDB 的一个前端,可以在图形界面上调试 C/C++ 程序,使用 Python 语言写的。

资源

1、彻底理解中国山水画生成器

中国山水画生成器是一个很有名的软件,一个老外用户很惊叹,希望把它彻底搞懂,就写了这个由24篇文章组成的系列,逐一分析代码,看看能否自己重新实现。(@ameizi 投稿)

2、ES proposals

该网站列出了 ECMAScript 标准所有各阶段的提案。

3、eja.tv

该网站收集全世界可以网上免费观看的电视频道,目前一共收集了4029个频道,提供地区和语言分类。

4、黑客杂志《PoC || GTFO》

这本在线刊物收集了世界众多黑客在逆向分析、渗透测试、生活感悟等方面的文章,再由编辑润色排版,图文并茂。国内网友特别制作了电子书,提供下载。(@evmn 投稿)

5、DareBee

这个网站收集了1700多种身体锻炼的方法,每种方法都有插图说明。

图片和视频

1、小飞机坠机视频

一个美国飞行爱好者说,自己的小飞机在空中发生故障,螺旋桨停转力后坠毁,他不得不跳伞逃生。事后,他将视频放上网,这种第一视角的坠机视频,真是难得一见。

由于拍摄得太过完美,很多人质疑这场坠机是故意安排的,美国航空管理局 FAA 宣布进行调查。

2、南非穷人怎么上网

南非穷人负担不起手机流量上网,只能在围墙栏杆外面,蹭学校的 Wifi 上网。Wifi 的密码是学生卖给他们的,用来换取一点午餐费。

文摘

1、为什么关系型数据库更流行

现在最流行的数据库都是关系型数据库。这种数据库以表格的形式存储数据。

但是,现实世界中,事物之间的关系不像表格,更像一张互相连接的网。也就是说,图数据库才是描述事物更合适的方式,也更容易扩展和理解。

那么,为什么关系型数据库才是主流,图数据库始终属于小众应用?

原因跟数据的存储媒介有关。磁带发明以后,没过多久,关系型数据库就诞生了,这不是偶然的。因为磁带的数据是线性存储,关系型数据库恰恰最适合线性读写数据。

磁盘是磁带的继承者,也是线性存储,这决定了关系型数据库的主导地位。

2、滑坡谬误

滑坡谬误(Slippery slope)指的是使用一连串的因果推论,夸大了每个环节的因果强度,而得到不合理的结论。

它的典型形式是,“如果发生 A1,接着就会发生 A2,接着就会发生 A3,接着就会发生 A4,……,接着就会发生 An”,然后推论“由于 An 不应该发生,因此我们不应允许 A1 发生”。

从 A1 推论至 An 的过程就像一个滑坡。

它的问题在于,每个“坡”的因果强度不一,有些因果关系只是可能、而非必然,有些因果关系相当微弱,有些因果关系甚至是未知或缺乏证据,因而即使 A 1发生,也无法一路滑到 An,An 并非必然发生。

若有充足证据显示每个“坡”都有合理、强烈的因果连结,即不构成滑坡谬误。

例一:如果我今天借了10元给小明,他明天又会跟我借一百元,接下来就借一千元、一万元,我岂不破产?

小明今天借十元也不表示明天就会借一百元,就算明天借一百元也不表示以后就会借一千元,就算小明借一千元甚至一万元,也不表示说话者就会破产。

 例二:孩子如果不上好的小学,就考不上好的中学,之后就考不进好的大学,接着会找不到好的工作,然后会穷困潦倒,一生就毁了!

孩子如果不上好的小学,也不表示之后就考不上好的中学;就算考不上好的中学,也不表示就考不进好的大学;就算考不进好的大学,也不表示就找不到好的工作;就算找不到好的工作,也不表示会穷困潦倒;就算穷困潦倒,也不表示一生就毁了。

例三:员工偷懒公司便会损失,公司赚不到钱就要裁员,被裁员的人会没工作,没工作的人为了生计就会铤而走险。因此,上班偷懒是非常严重的问题。

公司损失不表示公司会赚不到钱,就算公司赚不到钱也不表示公司就要裁员,就算公司裁员也不表示被裁的人会走投无路,就算被裁的人走投无路,也不表示会为了生计铤而走险。

言论

1、

C 和 C++ 这两种语言不保证内存安全,后果就是所有软件安全问题的大约三分之二,都跟内存处理不当有或多或少的关系。

《Rust 正在变成 Linux 的第二官方语言》

2、

媒体业务的核心,是每天能从消费者的注意力里面,分到多少分钟。它满足消费者需求、卖给广告商的就是这个东西,也是媒体之间相互竞争的核心。

《好莱坞媒体的电子游戏盲点》

3、

一只蝎子请求青蛙带他过河,青蛙害怕被蜇伤。蝎子说,如果他蜇青蛙,两者都会淹死在河里。青蛙就同意背他。但是,一到河中间,蝎子就蜇了青蛙。青蛙临死之前问:“为什么啊?” 蝎子回答说:“这是我的本性。”

这个故事告诉我们,不要跟本质有毒的人交易。

《五堂永恒的课》

4、

旧金山是美国房价最贵的城市,很多穷人负担不起住房,只能流落街头。市政府每年拨款10亿美元,帮助无家可归者,平均每人超过10万美元。

讽刺的是,这笔巨款不仅没有解决流浪问题,反而让它变得更严重了。很多全职工作的人,为了住房,花光了积蓄,活得非常辛苦。那些流浪者,反而因为政府的资助,处在一种无忧无虑的稳定状态,不想再去工作。

《旧金山的姑息治疗》

5、

你永远不会通过与现实做斗争,而改变事物。想要改变事物,需要建立一个使现有模型过时的新模型。

富勒,美国建筑师

历史上的本周

2020年(第 140 期):印度人的工资是多少?

2019年(第 88 期):如果你遇到一条蛇

2018年(第 37 期):小说家的时代,永远地过去了

订阅

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

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

(完)