Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Sten Sootla作者Panda编译

如何把自己包装成程序员大佬?这里有一份「装X指南」

你也许还未入行,或是刚入行或工作了几年的程序员,但有时候,你可能会希望别人认为你很强,是个天才,就像电影里那种一手抱妹子一手拿香槟,用脚写代码攻破军方网站的炫酷黑客。可能有些夸张,但 Sten Sootla 觉得你可以做到。Sten Sootla 是机器人初创公司 StarshipTechnologies 的机器学习工程师,本文就是他发布的将自己伪装成大牛程序员的方法心得,堪称「程序员装 X 指南」。

程序员都是巫师——是一些能把咖啡变成代码的衣着简陋的穷人。我不懂巫术,我只是个魔术师。我的工作是伪装成程序员,甚至比真正的程序员看起来更像程序员。

我做得很棒,绝对算得上一个出色的江湖码农。我成功诱使过商人请我去当他们的技术合伙人。我也欺骗过工程师,让他们向我咨询有关通用人工智能的问题。我的表演是如此真实,以至于司法部有一次都向我征求建议,询问我如何使用 Visual Basic 创建用于跟踪连环杀手 IP 地址的 GUI 界面。

秘诀就是:你知道什么无所谓,重点是你怎么展示。

真正的工程师其实缓慢又无聊,因为他们都在现实之下负重前行。而表演者只会被自己的想象所限制。他可以自由地表演最复杂详尽的场景,越风骚越好。

如要表演让人信服,你需要一个精细复杂的舞台,因为这能转移观众的注意力,让他们意识不到你其实缺乏深度。在电影里面,堆叠三维方块或鼓捣某个全息图就能写出软件。当然,这些都是幻想。在现实生活中,你能使用的最相近的东西是三种已经颇有时日的技术——它们全都诞生于几十年前。

第一,你要有 vim,这是一款高度可定制化的文本编辑器,但是超难用,已让数百万开发者不经意间陷入麻烦,根本搞不清楚究竟如何关闭这个东西。光是你有胆量使用它这一事实就足以让你的同事刮目相看。使用 vim 会让你看起来简直就是个神话人物,诉说着历史之中那神圣的编辑器之战,人们会受到你的激励,支持你讨伐 Emacs 教。

来自维基百科

第二,你要有 tmux,这个工具能让你在单个终端窗口打开多个窗格。也就是说,你可以在一个窗格写代码,在另一个窗格运行终端命令行,然后还能在其它一些窗格运行一些毫无用处的插件——比如音频频谱图和超大的时钟。通常来说,你需要尽可能地多打开窗格,用壮观恢弘的场面让观众目不暇接。我本人就从来不关闭任何一个窗格,因为就算代码根本没法工作,它也能增光添彩。

给你展示个例子,这是我在生成一些 deepfake 时的屏幕截图:

最后,掌握 bash 是至关重要的,这是一种直接在命令行中使用的脚本语言。了解 bash 能尽可能地延长你在命令行中的时间——在表演中途离开命令行可不行,这就相当于在播放电影时打开了影院灯。你需要计算什么东西?要这样:echo "scale=0; 2 + 2" | bc。想知道你的 CPU 使用量?你得使用这个命令:mpstat | grep -A 5 "%idle" | tail -n 1 | awk -F " " '{print 100 - $ 12}'a。现在你懂我意思了吧。

但离开命令行还不是最糟糕的,你更不能离开键盘。使用光标(鼠标和触控板)是无能的体现。如果你有一台 PC,赶紧抛弃那人体工程学上畸形的鼠标。如果你使用的是笔记本,你要在触控板上粘一张铁砂纸——以后你看到它就会想起鲜血和疼痛。

现在,如果你是在命令行中操作,只使用键盘已经很容易了。为了也能在浏览器中保持这种姿态,你要使用 Vimium,这是一款 Chrome 插件,能让你不用鼠标也能浏览网页。它会用一个按键序列标记网页上的每个链接,按下这些键会模拟一次对应的鼠标点击,然后打开对应的页面。这看起来是这样的:

提醒一下,看到我在浏览互联网时也开着终端吗?这就叫专业。正如剧作家约翰·海伍德(John Heywood)说的那样:「半块面包总比没有好。」此外,仔细看看我的 Chrome 标签栏,里面有一堆 arXiv 论文和 Stack Overflow 帖子。这是故意的。这种从战略角度精细排列的标签是为了传递出这样一个信号:你已是饱经历练的机器学习工程师——一手抓理论,一手搞实践。

有了这样的舞台设置,就可以开始你的表演了。你做的所有事情都应表现出你能在最大程度上完全不使用鼠标。也许你还应该躺在你的椅子上,把脚搭在桌子上,然后把键盘放在大腿上。我本人会窝在一个离我的四十英寸显示器三米远的懒人沙发里晒太阳。

至于表演本身,你要记住:需要巴洛克式的华丽风格,不能搞极简主义。你需要用你那敏捷的手指运动和复杂切换操作来惊呆你的观众。在使用 vim 时,你要不断从一行跳到另一行,从一个函数跳到另一个函数,你要动作飞快,快到旁观者怀疑自己的眼睛。而就在他们的眼睛刚刚开始适应的时候,就在他们刚要认清你在搞鬼的时候(这些代码行基本上没有任何实际有效的代码),你要马上切换到另一个 tmux 窗格,让他们继续摸不着头脑。

优秀的表演是通过所引起的困惑和沮丧程度来衡量的。优秀的表演要让人晕眩。一定要真真切切地横扫你的观众,让他们站立不住,只能流着口水浑身抽搐地惊倒在地。

也许你会觉得这样的马基雅维利式策略虚假不真诚,这种浮夸做作实在愚蠢可笑。你宁愿低调地专心工作,希望在辛勤诚实的劳动之后能得到认可。

也许你确实会得到认可,但为什么要把你人生最好的十年时间浪费在埋头苦干上?为什么不把腿放在桌子上表现得像个大佬?我跟你讲啊:假装成大人物可比当个真实的小人物好。

原文链接:https://towardsdatascience.com/how-to-fake-being-a-good-programmer-cbef2c39764c

工程程序员编辑器
32
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

通用人工智能技术

通用人工智能(AGI)是具有一般人类智慧,可以执行人类能够执行的任何智力任务的机器智能。通用人工智能是一些人工智能研究的主要目标,也是科幻小说和未来研究中的共同话题。一些研究人员将通用人工智能称为强AI(strong AI)或者完全AI(full AI),或称机器具有执行通用智能行为(general intelligent action)的能力。与弱AI(weak AI)相比,强AI可以尝试执行全方位的人类认知能力。

推荐文章
太水了,受不了
看着挺能装,得实践才知道可不可行