神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:有的人就想成为那种伪装的高阶程序员,在他们年轻的时候,他们表现得非常酷,而且看上去很神秘,生命短暂,不如表演,当程序员不如表演。本文译自medium.com中原标题为“How To Fake Being a Good Programmer”的文章。
程序员是巫师——他们是那种看上去很穷而且衣衫褴褛的角色,但是他们可以用魔法把咖啡变成代码。我不懂魔法,我只是个魔术师。我的工作是假装成为一个高阶程序员,但我实际上可能并没有这么优秀。
我伪装的技巧很好,算得上是一个很成功的骗子。我骗过一些商人,他们邀请我去做他们的技术合作伙伴。我骗过工程师,他们甚至还向我咨询通用人工智能。但是我的一些行为连我自己也觉得很像一个很厉害的程序员,以至于司法部都曾征求我的意见,咨询我关于使用Visual Basic创建一个GUI界面来跟踪一个连环杀手的ip地址是否合理。
秘诀:重要的不是你知道什么,而是你展示了什么。
真正的程序员他们的工作其实十分无聊并且乏味,因为他们被现实压得喘不过气来。但是魔术师不一样,魔术师只受想象力的限制。他可以自由地表演最复杂的情节,越色情越好。公众对黑客的印象其实大多来源于那些狂欢和性爱的场景。所以你可以假装成黑客这类极少数人群,并且利用大众对黑客的错误观念,让他们这些外行人沉浸在自己对你的幻想中,这个时候你就会被称为英雄。
一个令人信服的表演需要一个精心设计的舞台,因为它会分散观众的注意力,让他们不会意识到你其实缺乏深度。在一般的科幻电影中,软件是通过将三维块堆叠在一起来编写的,或者通过触摸一些全息图来编写的。当然,这是科幻电影才能做到的事情。但是在现实生活中,你也可以用一些技术来伪装自己,最接近科幻电影的软件编写方式是使用三种技术的组合来完成的,这三种技术都很老,它们都是几十年前发明的。
首先,你需要有vim,这是一个高度可配置的文本编辑器,它是真的挺难用的,以至于数百万的开发人员在使用过程中都感觉很难用,甚至有些人都不知道该如何关闭这个该死的东西。所以你仅仅需要大胆地使用它,就会提升你在同事中的地位。这时候你就好像是一个超凡脱俗的人,不属于你同事这些平庸之辈,你会让别人在羡慕你的同时又会因为自己的平庸而觉得羞愧难当,并且能够激起他们对vim文本编辑器的种种向往。
其次是tmux,这是一个允许你在单个终端窗口中打开多个窗格的工具。这意味着你可以在一个窗格中编写代码,在另一个窗格中运行终端命令,并在其余窗格中打开完全无用的插件(如音频频谱图和超大时钟)。一般来说,你希望打开尽可能多的窗格,这样的话,别人看起来就会觉得很炫酷。就我自己而言,我从来没有关闭过任何一个窗格,其实很多窗格的功能都是固定的或者说没什么用,仅仅是为了看起来比较炫酷而已,比如说开着巨大的时钟,所以我一直开着也没关系。
举个例子,这是我的屏幕快照,而我正在利用人工智能生成一些人脸:
最后,你必须掌握bash,这是一种直接在命令行中就可以使用的脚本语言。了解bash可以让你最大化地利用你在终端上的时间——在你的表演过程中离开它的话你的表演就不是那么精彩了,相当于在看电影的过程中突然有人打开电影院的灯一样。如果你需要计算什么的话。输入如下命令就可以:echo "scale=0;2 + 2" | bc。如果你想知道自己的CPU使用情况的话。输入如下命令就可以:mpstat | grep -A 5 "%idle" | tail -n 1 | awk -F " " '{print 100 - $ 12}'a。你懂的,很简单吧。
唯一比离开终端机更糟糕的是离开键盘。使用鼠标就是无能的表现。如果你有一台台式电脑的话,那就把你的鼠标给固定住或者把它给扔了,别让它乱动影响你的发挥。如果你使用笔记本电脑的话,那就在触摸板上粘上砂纸——这样你就不会用你的手指在上面移动光标了。
现在,当你在使用终端机的时候,敲击键盘是很容易的。但是如果要想在浏览器中继续做到只敲击键盘而不用鼠标,你可以使用Vimium,这是一个Chrome扩展应用,可以帮助你在不使用鼠标的情况下浏览网页。它用一系列的键来突出显示站点上的每个链接,按下这些键模拟鼠标单击,就可以打开所需的页面。它是这样的:
下面是我作为一个专业人员的提示,就算你仅仅是在浏览网页,你也要注意你打开了哪些网页。正如剧作家约翰·海伍德(John Heywood)所说:“有总比没有好。”此外,仔细看看我的Chrome标签页,会发现arXiv的论文和Stack Overflow的帖子混杂在一起。这并非偶然。这些精心设计的标签传达了这样一个信息:你已经坐在了令人垂涎的机器学习工程师的椅子上,一条腿在理论中摆动,另一条腿在实践中摆动。
舞台布置好了,演出就可以开始了。你身上的每一件东西都应该表明,你在最大程度上不需要一个鼠标。你可以向后靠在椅子上,把腿放在桌子上,把键盘放在腿上。想象自己在离你40英寸的显示器10英尺远的睡袋里晒太阳。
至于表演本身,请记住:这是巴洛克风格,而不是极简主义。你要用你敏捷的手指动作和复杂的过渡来吸引观众。在vim界面中,你从一行跳到另一行,从一个功能跳到另一个功能,一定要迅速,要让观众目不暇接。就在他们的眼睛开始调整时,就在他们即将理解你胡乱打的代码时(实际上很少有一行代码包含有效代码),你切换到另一个tmux窗格,他们就又会沉浸在你下一场表演中。
一个好的表演是由它所引起的困惑和沮丧来衡量的。精彩的表演应该是令人作呕的。应该会让观众们神魂颠倒——他们情不自禁地倒在地板上,抽搐,流口水。
也许你认为这种马基雅维利式的策略太天真,太虚伪,太浮夸,你说你宁愿保持低调,专注于自己的工作,希望在努力、诚实的工作结束后得到认可。
这样也许是可以的,但是为什么要浪费你生命中最好的十年呢?为什么不把你的脚放在桌子上,马上表现得像个高阶程序员一样呢?反正对我而言,当个假名人总比当个无名小卒强。
译者:小灼