「转」高级程序员装逼指南

作者: rollenholt
链接: 高级程序员装逼指南, 是高级哦!
来源: 云栖社区

前言

最近网上出了一个「程序员装逼指南」,觉得这个东西其实图样图森破,然后在下跟微博上的一些程序大牛讨论了一下如何装逼,深有感触。程序员嘛,外行人看起来已经是不可理解的奇怪生物了,自然也没必要跟他们…

编程语言

千万千万千万千万不要说自己是 Java/C#/C++ 程序员,尽量学一些奇怪的语言,python 已经有烂大街的趋势了,写写还是可以,装逼是用不上了。Lisp 和 Erlang 都是装逼的好语言。当然你要是号称会 Haskell 就更牛逼了,实在不会也没关系,发发跟 Haskell 有关的状态别人也很装了。没事儿还可以在论坛里喷喷 Java/C++ 有哪些缺点,可是,如果对方先发制人说他出了一种奇怪的语言名字怎么办?你可以微笑地说,你可知道天下语言皆出自 Lisp 和 Smalltalk?保准对方愣住 3 秒钟。

操作系统

首先,妥妥儿的不能用 Win,麻瓜才用 Win 呢。Linux 嘛,ubuntu 也差了点儿,现在不少人已经用 Arch 了,懂行儿的人都知道,gentoo 和 LFS 才是真正的装逼利器啊。自己编译神马的,这逼还真不是人人都能装的。再深入的话,你要是用 Lisp Machine 工作,就近乎神了。

编辑器

作为一个 IDE 去死团成员,我承认很大程度上我只是在装逼,纯文本编辑器才是你最终的归宿。Vim是标配,但是只有 Emacs 才能称得上是神器,「伪装成操作系统的编辑器」并非浪得虚名。当然,想要装逼装得好的话,你还需要学习它的配置语言 Emacs Lisp。

博客

在 CSDN/ITeye/cnblogs 这种地方写技术博客确实比在人人上写技术博客好多了,但是你要知道,大牛们都是有自己的个人网站的,而且,一个共同点是,他们的网站都是自己写的 html(没有 css)并且界面十分难看。整个网站散发着一种「我这的文章都很牛所以界面什么的都不重要」的气质。例如这个: http://xahlee.org/index.html

其它

我习惯称不会写代码的人为「麻瓜」,你也可以有你自己的称呼。不要写 Linux/Unix,正确而专业的写法是 *nix。手边不要放技术书籍,即使要摆一两本书也要那种自己打印的全英文的手册,或者用铅笔在纸上写代码也是个不错的选择。还可以养成某种奇特的习惯,例如号称自己是 Lisper 然后各种(括号)。

装逼进阶

老是装逼也不成,所以我一直在寻找一种秒杀一切程序员的装逼之法。说实话,程序员的世界里有三种人。大部分是不会写代码的麻瓜,然后是程序员这个群体本身,他们认为唯一比程序员牛逼的,就是搞数学的人了。所以嘛,你要真想装个牛逼,就去学好傅立叶变换吧。另,发明 Lisp 和 Python 的人都是数学家,高得纳大神也是数学教授。


  • 大家都出来各自上车了这叫切断电源
  • 你们这桌交错敬酒,敬我一杯,敬你一杯,叫全相连。
  • 你们这桌有人提议咱们男士敬女士们一杯,叫组相连。
  • BOSS 自己提了一瓶过来说兄弟们再把这个解决了这叫 alpha 测试。
  • BOSS 让服务生端了二瓶过来,隔着桌子喊,你们这桌再把这个解决了,这叫 beta 测试。
  • 经理过来要敬大家,你们都说不行了,经理指着酒量最大的人说 ××× 你代表大家把这杯干了,这叫白盒测试。
  • 经理过来要敬大家,你们都说不行了,经理说我不管,出个人把这杯干了,这叫黑盒测试。
  • 又有人醉醺醺地过来要敬大家,一看不认识不是你们公司的这叫地址错误。
  • 你拍拍这人肩膀说兄弟你是对面厅的吧这叫重定向。
  • 你一人自斟自饮喝闷酒这叫 PC
  • 你们这桌相互敬酒这叫 LAN
  • 你们和别桌流动敬酒这叫 WAN
  • 你们一哥们醉了上二楼别的公司的庆祝宴上去敬酒这叫 INTERNET
  • 你一人到领导那桌说张总我敬你一个王总我敬你一个。….这叫 PPP
  • 你们一群人到领导那桌说张总我们敬你一个王总我们敬你一个……这叫 ADSL
  • BOSS 举起一杯说我代表公司向你们项目组的成功表示祝贺这叫 B2B
  • 项目经理举起一杯说我代表项目组向张工的付出表示感谢这叫 B2C
  • 你也举杯说张哥我对你的景仰如指令流水滔滔不绝这叫 C2C
  • 你一哥们不行了喝点水也吐这叫插入异常
  • 你也觉得不行了上洗手间想解决一下可怎么也吐不出来这叫删除异常
  • 你们这桌子萧是头儿他一喝大家跟着喝这叫 Primary Key
  • 你们这桌坐了俩头儿,别桌的都过来敬酒这叫 Foreign Key
  • 叶子菊说不行我不喝酒的,经理说不行今天都得喝点这叫 NOT NULL
  • 经理从别桌转回来了问小李喝了吗喝了多少,这叫 Check
  • Boss 说在座的各位今儿个都得尽兴这叫 Assertion全局约束
  • 乔大饼是海量偏不多喝这叫资源闲置
  • 阿甘不行了还要喝这叫超频
  • 小牛过来跟你碰杯这叫过程
  • 小吴过来跟你碰杯完了还要谈感受这叫函数
  • 你们这桌喝没了,这叫缺页中断
  • 让小姐拿两瓶过来这叫请求分页
  • 让她把酒放下把空瓶收拾收拾这叫页面置换
  • 一群人来给你敬酒你说等一下慢慢来这叫 P 操作
  • 你喝得豪气冲天放下杯说下一个我喝谁的这叫 V 操作
  • 你正在喝着有人来跟你碰杯你说等一下这叫阻塞
  • 那人看你放下杯给你满上这叫就绪
  • 稍歇了一下那人说该咱俩喝了这叫运行
  • 你刚喝了半口手机响了这叫中断
  • 你说不好意思哥们等一下这叫挂起
  • 你接完电话挂机了那人说咱俩继续这叫激活
  • 你来这杯终于喝完了那人回他们桌子上去了这叫终止
  • 又一哥们过来说你喝我就喝这叫同步
  • 一激动他把自个儿杯子打了这成了互斥
  • 你把这杯推给他说你先喝他又推回来说你先喝这叫死锁
  • 你说那咱们都不喝了这叫撤销
  • 贝贝喝了 1.44ml 就醉了退出来了这叫软盘
  • 达兰木坐那儿不动光猛喝这叫硬盘
  • 曹无名光看不喝这叫光盘
  • anetople 上这桌喝又上那桌喝这叫 U 盘
  • 大家你一杯我一杯地喝这叫聊天室
  • 一个人猛喝其他人跟着喝这叫论坛
  • 你站起来猛灌别人都看你喝这叫博客
  • 曹无名暗恋何有名拉她上沙发那边喝这叫 QQ
  • 要敬你的人太多了他们一人一杯都放在你面前这叫 SPOOLING
  • 你实在不行了钻桌子底下去了这叫作业中止
  • 来不及上洗手间就吐了这叫 ERROR
  • 脸色煞白起不来了这叫 FATE ERROR
  • 经理紧张了说你没事吧这叫询问
  • 你说不出话了这叫丢失应答
  • 一哥们开始拨 120 了这叫紧急修复
  • Boss 也急了说你们先撤大家也都散了吧这叫解除
  • 120 来了这叫 GAME OVER
  • 120 先走了这叫关机

这个是原版

一. 准备工作

工欲善其事必先利其器。

  1. 电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。 一个用来查资料,一个用来写代码。总之要显得信息量很大,效率很高。
  2. 椅子不一定要舒服,但是一定要可以半躺着。
  3. 大量的便签,各种的颜色的,用来记录每天要完成的事务,多多益善。 沿着电脑屏幕的边框,尽量贴满,显出有很多事情的样子。
  4. 工具书,orelly 的,机械工业,电子工业什么的都可以,能英文就英文, 不行影印版的也可以,反正越厚越好,而且千万不要放在书架上,一定要堆在桌上,半打开状。

二. 从进门开始

  1. 着装!着装!不管你是去实验室,或者去公司的大楼,在或者是小公司的民宅,或是自己创业的黑作坊;无论是春夏秋冬白天晚上刮风下雨电闪雷鸣台风龙卷风,一个装 B 的程序员都要十分在意自己着装! 这里只提出参考建议。
    初级装:衬衣+牛仔裤+休闲鞋。
    中级装:T 恤+宽松短裤+拖鞋。
    高级装:背心+宽松大花裤衩+人字拖。
  2. 得体的举止。在走廊以及任何形式的过道里,一定要双手插兜,走得像个痞子, 至少要看起来有点反社会,如若不行,可走文弱天才型 geek 路线。
  3. 如果有女性在你背后指指点点,小声嘀咕说这一定是一个技术男的时候,应该先低头, 然后保持低头状态,缓缓回头,坏坏地蔑笑但是不要出声,然后快步前行。
  4. 进门后,一定不要跟任何人打招呼,笔直走向自己的位置,最多路过打一杯咖啡,千万不要有多余的动作,显示出自己的专注与心无旁骛。

三. 坐下就不要再动了

  1. 坐下以后。姿势需要略微后仰。能翘着二郎腿最好了。然后在后仰的情况下低着头。 以便看到屏幕。然后千万就不要再动了。
  2. 粗暴地把电脑前的大堆书推开一个口。然后摘下电脑上的一个便签。看一眼。不过3秒。可以开始 coding 了。
  3. 能不用 IDE 就不要用。实在装不了。无论 IDE 是什么。一定要调成 DOS 那种黑色背景的。
  4. 如果写前台界面。就不停地调试后台代码;如果写 java。就在里面混编 C;如果写 C。 就在里面混编汇编。不光要 coding。还要时不时的翻出一本什么英文的书翻一翻。看不懂就看看插图。然后扔到面前假装懂了继续 coding。
  5. 什么看起来高端就用什么。不要管实用不实用。例如对 C++:switch 统统重构成多态;如果有指针。统统改成智能的;C++ 一定要自己写 template;数字是全部要替换成宏的名字能起多长就起多长;struct就不要出现了。如果出现。也一定要用 __attriburte__修饰一下;运算都是位操作的;操作符都是重载的;网络都是并发缓冲线程池的;int 只用 int32_t 声明的;继承不用普通的。什么多继承虚继承啊;helloworld 也要写捕获异常的; 后人一看代码。中间一堆关键字 externasmautoXXXXX_castvolatileexplicitregistertemplate。让一般总在敲 intifelsefor 的小程序员顿时心生崇拜。
  6. 注释?算了吧。只有两个路线可以选: 一. 变量名起得巨长无比。看代码就和读英文文章一样顺畅,根本不需要加注释。
    二. 代码无比晦涩,加不加注释根本无影响。
  7. 千万不要用 IM 工具交流。千万不要问同事问题。显得自己没有水平。都是自己上网或者查书。
  8. 无论是同事间开玩笑或者发生任何群体性时间。不要抬头。更不要东张西望。 即使地震火灾。也一定要先提交代码再行离开。

四. 潇洒地离开

  1. 人走,主机是千万千万不能关的,至少要跑个 daily build,实在不行正在 svn 提交也勉强算过关。
  2. 书应该已经又堆到屏幕前了,千万不要整理,明天再来推开。
  3. 不强求最后一个走,但一定要所有的非程序员,什么市场啊前台啊 pm 啊都走光了,才可以走。
  4. 走得时候一定要率性,千万不要收拾任何东西,站起来,出门,好的,就这样。
  5. 如果今天一定要说句话的话,找到那个最苦逼的程序员,跟他说,你进度太慢了啊,不要老让我等你。

在那山的这边海的那边有一群程序员,他们老实又胹腆,他们聪明又没钱。他们一天到晚坐在那里熬夜写软件,饿了就咬一口方便面 ~~ 哦苦命的程序员,哦苦逼的程序员,只要一改需求他们就要重新搞一遍,但是期限只剩下两天。