“我骗过商人,使他们让我担任技术联合创始人;我愚弄过工程师,让他们向我咨询通用人工智能......而我的秘诀是:这不取决于你知道什么,而取决于你展示了什么。”本文的作者声称自己是位深谙此道的资深“伪装者”,并表示:做一个冒牌的大人物总比做一个真实的无名小卒好。
以下为译文:
程序员们实际上都是巫师——一群要把咖啡变成代码的、可怜又衣衫褴褛的角色。但我不会巫术,我仅仅只是一个魔术师,我的工作是伪装得一个比真正的程序员更像程序员。
我是一个彻头彻尾的骗子,而且相当精于此道。我骗过商人,使他们让我担任技术联合创始人。我愚弄过工程师,让他们向我咨询通用人工智能。我的一举一动极为真实,以至于连司法部都曾经向我征求过要如何使用Visual Basic创建一个图形用户界面(GUI)来跟踪连环杀手的IP地址。
而我的秘诀是:这不取决于你知道什么,而取决于你展示了什么。
真正的工程师动作既慢,人又无聊,这是因为他们被现实压得喘不过气来。而一位魔术师只会受到他想象力的限制,一位魔术师可以随心所欲地表演最复杂的场景,而且这些场景越夸张越好。公众对黑客的认知是由人们狂欢和吹牛的场景塑造出来的,如果你能够利用公众的误解,让那些不知情的人将你视为他们对黑客的幻想,你就会被誉为英雄。
精彩的表演是需要精心设计的舞台的,因为这样的舞台会吸引走观众的注意力,使他们无法意识到你其实缺乏深度。在电影场景中,软件通常是通过将三维块堆叠在一起,或者通过触摸一些全息图来编写的。当然,这些都只是幻想。在现实生活中,最接近的方法是通过结合使用三种几十年前就被发明的古老技术。
首先,你得有vim,一个高度可配置的文本编辑器,这个文本编辑器使用起来极其困难,无数的开发人员都曾不经意间被它困住,不知道该如何关闭这个该死的东西。你一旦敢于使用vim,就能够提升你在同事中的地位。你看起来像个是彻头彻尾的神话,让人们联想到诸如神圣的编辑战争、或是向着“编辑器教堂”进行十字军东征般的史诗级主题。
其次,还有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。现在掌握了吧。
唯一比不使用终端更糟糕的是不使用键盘。因为使用光标只会表现出你的无能。如果你使用台式机,请拔了那个过于符合人体工程学让人很想触摸它的玩意(即鼠标)的线。如果你使用笔记本电脑,请在触摸板上粘一张砂纸,因为你要把使用触摸板与血液和疼痛联系起来。
现今,想在使用终端的时候只用键盘操作(而不用鼠标)是一件很容易的事情。要在使用浏览器的同时还能继续使用键盘,请使用Vimium(一个Chrome扩展程序),它可以帮助你在不使用鼠标的情况下浏览网页。Vimium通过用键盘上的键位来代表站点上的每个链接,按下对应的键位相当于鼠标单击对应的连接,就可以打开所需的页面。下面这张图就是它的样子:
给你一个专业的提示,请注意我是如何在浏览网页时打开终端的。正如剧作家约翰·海伍德(John Heywood)所说:“半块面包总比没有好。”此外,仔细查看我的Chrome标签页可以发现里面既有arXiv论文(译者注:arXiv是一个收录科学文献预印本的在线数据库)又有关于Stack Overflow的问答帖。这不是意外。这种故意的策略性地编排标签页会向看到标签页的人传达出这样一个讯息:你已经是一个成熟的机器学习工程师了,既涉足理论研究,又关心实践领域的探索。
当你把舞台布置好后,演出就可以开始了。你身上的每样东西都应该对外传递出你压根用不到鼠标的讯息。你可以尝试身体向后靠在椅子上,把腿放在桌子上,再把键盘放在腿上。我自己则是躺在离40英寸显示器10英尺远的一个懒人沙发里晒着太阳。
至于表演本身,请记住要贯彻实施繁复华丽的巴洛克风格,而不是极简主义。你需要用快速的手指动作和复杂的切换窗口来惊艳你的观众。在vim中,你要频繁地从一行跳到另一行,从一个函数跳到另一个函数,速度要快到旁观者来不及看懂其中一行。就在他们的阅读的速度跟上你的切换速度,即将明白你正在胡说八道的时候——毕竟你所写的代码里很少有一行真正包含有效的代码——你只要切换到另一个tmux(译者注:终端复用器)窗格,他们又会来不及看而要重新跟上你的速度。
你的作秀是否精彩主要取决于它引起了观众多大程度上的混乱和沮丧。一场精彩的作秀会令观众恶心,它能把观众恶心得站不住脚,让他们忍不住瘫倒在地,癫痫发作,到处流涎。
也许你认为这样的马基雅维里主义(译者注:该主义主张为达目的可以不择手段)的策略太假、虚伪、浮夸而又轻浮。你宁愿脚踏实地,专注于自身的技术,希望通过努力、诚实的工作表现得到认可。
也许你的辛勤工作会得到回报,但是为什么要浪费你生命中最美好的十年去辛劳工作?为什么不直接把你的脚放在桌子上,马上就表现得像个大人物?我告诉你,做一个冒牌的大人物总比做一个真实的无名小卒好。
原文:https://towardsdatascience.com/how-to-fake-being-a-good-programmer-cbef2c39764c
热 文 推 荐
☞谈谈能带来高薪报酬的软件技术
☞GitHub App终于来了,iPhone用户可尝鲜,「同性交友」更加便捷
☞任天堂、雅达利、索尼, 曾经的王者之争, 如何影响区块链游戏?
点击阅读原文参与开发者大调查,好礼送不停!