揭开程序员装13行为的面具
程序员一直都是很善良的 IT 工种,勤勤恳恳不辞辛苦的工作,不过今天的文章不是为了宣扬程序员的伟大。尽管在互联网的发展中,他们贡献了无数的代码,用自己的技术推进了互联网的进 程。我们还是要扒一下程序员的装 13 行为,可能会有很多程序员看了本文会十分的愤慨,但考虑到你们很忙,我也就不客气了。
程序员你还说没有装 13
写代码离不开各种编程工具,有众多工具供选择便有花样的喜好,对装 13 的程序员来说,是坚决要抵制 IDE 的,IDE 臃肿缓慢,一定是要用 vim 加编译器的组合。vim 和 emacs 就代表高端,用 IDE 就是 low 。我不否认很多大牛使用 vim,但也有不少写不出好的程序还要用 vim 装的,很多明明用起来很吃力,操作不熟练,好像非要用 vim 才能写出优秀代码一样。
用 vim 配合各种快捷键、扩展觉得顺手,加上 vimer 本身优越感,其他的编辑器一如 emacs 和 notepad++ 之流就是渣,深爱一种编辑器便唾弃其他的,即便是口上不说,在黑客马拉松上看到别人在用什么 UltraEdit 写代码,内心也会鄙夷一番,顿生自己很牛 X 的幻觉。
还有自认为 Mac 写出来的代码比 Windows 写出来的优秀,去咖啡馆看一看,拿 Mac 的就两种人,不疼不痒的文艺小青年和自以为是乔布斯的码农。
听说写代码很牛的工程师都用 Happy Hacking Keyboard,在好不容易挣了点钱之后,狠下心花了 2k 多买了个 HHKB 键盘,还必须得是无刻字版。看着清一色没有任何字母的键盘,一想到也用上了这么高端的键盘,好像技术能力也飙升了一样。技能不怎么样,装备是不能落下的。
鼠标的发明让用户使用电脑的门槛降低了很多,图形化的界面加上自由移动的鼠标点击方便了操作。在程序员眼里并不是这样的,鼠标对他们来说就是累赘,它是效率的杀手。一定要用各种指令,所有的操作都在键盘上狂敲,这样才能体现出技术水准。
对于某些崇尚开源文化的程序员来说,只有开源的软件才能让他们兴奋,不开源的软件都是受到异样的眼神看待。甚至在他们眼中,是不能理解为什么会 有人写出这么烂的 Windows 。他们恨不得所有的软件都是开源的,这样就可以更多的复制那些优秀的代码,而那些自己写的程序则是不希望让外人看到源代码,大多是因为自己代码写的太烂。
不加班的程序员不是好程序员,他们经常以自己在深夜编程为荣,甚至宣称在深夜开发才有灵感。最好还要在半夜发条状态:每天看着星光回家感受特别充实之类的。实际上的原因很简单:碌碌无为的白天引发的愧疚心。
某些自身的需求,比如在豆瓣租房小组里找房,一般人浏览一下小组内容,就可以获得自己需要的信息。程序员们一定要用高大上的方法,要写个脚本,抓一下数据,然后再根据自己的需求关键字检索一下,否则不足以凸显程序员的独特技能。
对于产品的升级,增加新的功能,程序员们会以工程难度大、很难实现为理由,抵触做一些改进,如优化之类的。已经做好的工作不想改动,那么背后真 实的原因是什么呢?往往是之前写的代码太烂了,不愿意回首再读,设计之初没有考虑扩展性。他们甚至宁愿重新写,也不愿再改动代码。
在一些上司不太懂技术的公司里,一个项目分配下来之后,程序员会用各种专业的技术语言来跟上司沟通,用上司听不懂的重构、迭代等术语来“阻止”这个项目,实际上不就是为了给自己多争取点项目时间。
程序员的世界里,是恨不得所有的电脑都和他的一样。用最后一点耐心完成某个项目的代码后,提心吊胆的在自己的电脑上运行没有问题了,提交上去之 后,服务器怎么就跑不动了。在我这运行没有问题的程序,为什么在你这边就出现问题了,一定是你的电脑配置有问题。反复问清楚你的情况之后,确定这不是你的 问题,才承认是自己程序的 bug。
本来能 10 行能解决的程序,一些程序员一定要把它拆开,一层一层的用设计模式去做,不断的面向对象的包装,包装的一层一层又一层,码出来 100 多行代码,这样他们才感到高兴。虽然不会太影响执行效果,但代码让人无法看,于是下面每一个读代码的程序员都会觉得上一个写代码的是傻X。
说的就是蒙蔽自己的程序员
互联网技术的发展中,程序员的功劳毋庸置疑,他们用一行行的代码打造了很多产品,丰富了我们的各种体验。他们有着心怀用技术改变世界的梦想,但 种种对技术的偏执也产生了很多装 13 的行为。上文列了这么多的症状,程序员这么一善良的物种未能幸免。我们来看一看程序员装 13 行为背后的动机。
在电脑发展初期,还没有图形界面的时候,一提到黑客、程序员,我们都会自行脑补他们面对着黑压压的屏幕,敲着各种字符。vim 和 emacs 纯文本的工作环境也让他们沉浸在写代码的快感中,久而久之 vim 就代表着老练,以至于后来有些程序员崇尚 vim ,以为用 vim 就代表技术能力强。使用通用编辑器并不是问题,但熟练编辑器的使用和技术能力强是两码事, 当你所常用项目中有某个 IDE 拥有十分吸引你的特色功能时,尝试使用它。何苦逼着自己很吃力的用 vim ,跟自个过不去。
程序员喜欢用自己的技术来解决一些问题,这本不是装 13 的行为,可以说是值得鼓励的,很多伟大的互联网产品都是从最初一个不经意的意外尝试开始的。这并不是意味着遇到问题就首先想到用代码解决,花一大段时间来 解决一些技术难度不大的问题,没有实质性的意义。非要用技术来解决这个问题,凸显自己好像技术很强的样子,就是装。
也不知从什么时候开始,加班成为程序员的习惯。在各种传奇的创业团队经历多少个日日夜夜开发的故事鼓舞下,以为半夜开发就能写出很牛 X 的代码,就能有更多的灵感。不断的这种事迹,让他们逐渐在潜意识中植入白天写不出好代码的概念,于是白天的工作效率也就很低下,而这种靠深夜开发获得成就 感的行为,实在是可悲。
装 13 的本质就是不愿意承认事实,用一种假象来蒙蔽别人。对程序员来说,不愿意做一些改动,优化工作,不能理解为什么在自己电脑上运行没有问题在服务器上就跑不 了,这种情况就好解释了。他们找出各种理由来搪塞,试图掩盖事实。真相大多是因为之前的代码写的太烂,可读性不高。而当自己与其他人合作的时候,看到别人 写的代码,心里也会默默的鄙视一番,实际上你写的也好不哪去。
大家都知道了,你装 13 给谁看
程序员是需要不断的学习的,在还没有写出牛 X 的产品的时候,好好打怪升级。切合自己的实际需求,来选择合适的工具,技术不怎么样的非要硬逼着自己装出很牛 X 的感觉,也就骗骗自己,技能不够用再好的装备也发挥不出来水平,相信玩过游戏的都有过经验。也别非遇到什么问题都想着写个程序来解决,对这样的程序员们, 我有一个问题,你现在有女友吗?
一个简单的问题,好像必须复杂化才能凸显自己的能力似的,于是想方设法的用各种代码设计,码完了自己看着是开心了。等回头需要改动的时候,代码写的一团糟,自己都不忍心回首,就别找理由来忽悠别人了。