选自towardsdatascience
作者:Sten Sootla
机器之心编译参与:Panda W
你也许还未入行,或是刚入行或工作了几年的程序员,但有时候,你可能会希望别人认为你很强,是个天才,就像电影里那种一手抱妹子一手拿香槟,用脚写代码攻破军方网站的炫酷黑客。可能有些夸张,但 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