当前位置: 首页 > news >正文

如何伪装成一个彻头彻尾的程序员?

“我骗过商人,使他们让我担任技术联合创始人;我愚弄过工程师,让他们向我咨询通用人工智能......而我的秘诀是:这不取决于你知道什么,而取决于你展示了什么。”本文的作者声称自己是位深谙此道的资深“伪装者”,并表示:做一个冒牌的大人物总比做一个真实的无名小卒好。

作者 | Sten Sootla
译者 | 苏本如,责编 | 郭芮
出品 | CSDN(ID:CSDNnews)

以下为译文:

程序员们实际上都是巫师——一群要把咖啡变成代码的、可怜又衣衫褴褛的角色。但我不会巫术,我仅仅只是一个魔术师,我的工作是伪装得一个比真正的程序员更像程序员。

我是一个彻头彻尾的骗子,而且相当精于此道。我骗过商人,使他们让我担任技术联合创始人。我愚弄过工程师,让他们向我咨询通用人工智能。我的一举一动极为真实,以至于连司法部都曾经向我征求过要如何使用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

精彩回顾

♡ 程序员究竟能干多少年?

♡ 互联网公司各岗位真实工作内容起底

♡ 一次尴尬的采访和程序员的传奇脑洞!

♡ 天一冷,程序员都穿上格子衫

♡ 史上最真实的行业鄙视链曝光

♡ IT公司老板落水,各部门员工怎么救

♡ 宿命之战:程序员VS产品经理

♡ 作为一个前端,可以如何机智地弄坏一台电脑?

♡ 程序员跟产品经理打起来了,这是一个需求引发的血案...

♡ 后端说,你个前端不会用 headers吧,我怒了!

♡ 有个厉害的程序员女朋友是什么体验?

♡ 多年来,程序员经常加班的真相终于揭开了…

相关文章:

  • 程序员,被代码耽误的段子手
  • 你的代码要被存在北极1000年!GitHub启动代码永久存储计划!
  • 国企程序员是一种怎样的体验
  • 全球IPv4地址正式耗尽
  • 史上最烂的用户体验
  • 七个开源的 Spring Boot 前后端分离项目,一定要收藏!
  • 编程语言之父
  • C语言的解释,绝了
  • Windows突然的软件更新
  • 何谓SQL注入,这个漫画告诉你!
  • 我们不知道这是什么,但如果删除它应用程序会崩溃
  • Linux服务器为什么被黑?
  • 惊恐,还真有大神把地府后台管理系统做出来了,“阎王爷”疯狂点
  • 扎心了,程序员的2017 ←→2019
  • 中国爬虫违法违规案例汇总!
  • 2019.2.20 c++ 知识梳理
  • CODING 缺陷管理功能正式开始公测
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • github从入门到放弃(1)
  • golang 发送GET和POST示例
  • Java 多线程编程之:notify 和 wait 用法
  • js中forEach回调同异步问题
  • leetcode讲解--894. All Possible Full Binary Trees
  • mockjs让前端开发独立于后端
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • PAT A1017 优先队列
  • Python3爬取英雄联盟英雄皮肤大图
  • storm drpc实例
  • Web Storage相关
  • Zsh 开发指南(第十四篇 文件读写)
  • 从零开始学习部署
  • 从伪并行的 Python 多线程说起
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 物联网链路协议
  • 写给高年级小学生看的《Bash 指南》
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 用Python写一份独特的元宵节祝福
  • 在Unity中实现一个简单的消息管理器
  • 白色的风信子
  • (javascript)再说document.body.scrollTop的使用问题
  • (Matlab)使用竞争神经网络实现数据聚类
  • (pytorch进阶之路)扩散概率模型
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)php投票系统 毕业设计 121500
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .gitignore文件_Git:.gitignore
  • .htaccess配置常用技巧
  • .NET 分布式技术比较
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net分布式压力测试工具(Beetle.DT)
  • /etc/fstab 只读无法修改的解决办法
  • @Autowired和@Resource的区别
  • @RequestMapping处理请求异常
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析