最近老是收到“新手,求帮助”的邮件,很多人很有礼貌,但是实话说,我总觉得这些新手邮件的想法有问题。今天不妨开诚布公的说一下我对新手的态度。

很多人总是很客气的发邮件“新手,求帮助”,里面提出一些很傻的问题——这不奇怪,无论多强的人都有傻傻的时候。这些邮件写的也很客气,一切没有什么不对。除了一点——其中某些邮件中总是充斥着一股说不出的“不劳而获”或者“傲娇”的情绪。说的更直白点,就是“我们是新手,所以说的简单点,但是又要说明白”,”XXX的最好途径是什么?适用于新手哦“,或者更过分的“我的作业马上要截稿了”,“我女朋友要我做题”。

实话说,我对一个人是不是新手并没有太多兴趣。新手对我的区别只有——你没有关于XXX的相关背景知识,所以,也许你要先看OOO书,有一个大致概念,然后再看XXX文档,详细了解一下,然后你看XX书,就能够解答你的疑惑了。这是知识依赖的关系,你没有相关知识,自然看不明白。作为声明新手的结论,我会帮你指出你所需要的知识在哪里能够找到,免除你自己去google,还有可能找不到的困扰。差不多这就是我能为新手做的所有事情了。

至于那些说,为什么不把相关知识截取下来发出来,为什么不详细解答疑惑的人,我没什么好多说的。如果新手的行为就一定是可原谅的,我们每个人都会在路上横冲直撞。我们总会在某个领域成为新手——哪怕有10年经验的程序员,也会是一个新手驾驶员,或者新手厨师。作为新手驾驶员,我们有责任通知别人——躲我们远点。并不是因为我们是可原谅的,而是因为我们不能自制的作出不可原谅的事情。作为厨师,尤其是程序员厨师,这点更加明显。程序界有句行话叫做——吃自己的狗粮(eat your dog food),意思是自己做的程序一定要自己用一下才有体会。同样,厨师自己做的菜一定要自己先吃,自己都不敢吃的东西是不好意思端出来的——哪怕我们都知道你是新手。

没人应当对你的无知负责,你自己无需负责,你父母无需负责,我也无需负责。人总是新手,但这不代表老手要无偿的呕心沥血教会你——哪怕他是个教师。新手没什么了不起,或者值得无限原谅的地方。你到底是我的老板呢?还是我的衣食父母呢?我需要为你把所有的材料看一遍,摘出合适的部分,讲给你听,并且还保证你能够学会。我想即使是老师,也不会帮你做这些事情的。不要和我说论文马上就要截稿,或者你们老板多黑心,你女朋友和人跑了,或者你这课挂了,就白花了四年的时间和无数的钱——这些钱和时间都是你自己浪费出去的,我帮你解决问题并不能节约下来这些时间和钱,这样只会浪费我的时间。何况如果我用最快的方法教会你,你出来后不是就直接和我竞争了。你看,我不但包教包会,而且成功后还要降低自己的工资——我要多么的脑子进水,才会干这种损己损到家的傻事呢?

而且,作为一个要辛辛苦苦从学校招一些靠谱的学生的程序员。我无比的痛恨出题太简单的老师——虽然我在学生的时候痛恨的是出题太难的。题目可以抄,出题太简单,找人代写,改头换面,和老师搞好关系。这一切我们在学生时期耍的小聪明,到了工作中都会结结实实的还给我们自己,除非你不从事技术相关行业。如果你从事的是销售行业,这些小聪明,手腕和技巧,也许是有帮助的。但是作为技术行业,这一切是我们深恶痛绝的根源。新毕业出来的学生中,大概只有不到一成的人理解为什么java不能使用双重检查成例——哪怕你详细的给他们讲解原理,他们仍旧一头雾水。因为从一开始,最基础的,理解关于锁定和单例的相关技巧,就没被认真的学起来过。大多数的人都可以熟练的作出B+树的实现,或者排序算法——因为这是考试时需要的东西。但是你在和他们谈论实践技巧的时候,会非常伤心的发现,他们所谓的实践技巧,就是在某个特定的框架上,如何用教科书上的方法搭建出一个网站,或者是应用程序。如此我大概就知道,为什么我们全国一年有将近200W的计算机系毕业生,但是全国程序员总数才150W上下——这是07年的数据吧。

其中有一些比较靠谱的人,是真心想学好计算机的——我姑且不论理由是爱好,还是因为程序员工资比较高。但是这些人的信件里面,也有说不清的傲娇情绪。我为什么要对你负责,把具体过程实现给你?因为你说的比较好听?抱歉,就算是MM,我也已经结婚了,所以对你没兴趣。如我上文所说,我最多告诉你,从理论上这样可行。至于我是不是有能力实现,或者为什么不实现给你,这个和你没有关系。如果你自己不高兴去翻那厚厚的一叠文档,那就保持不会好了,我在招人的时候会轻松很多,而且你也会少很多伤心往事。我知道不少公司招人的时候,往往会出一道题。然后有那么几个学生,题目解答的异常完美。这个故事的结局往往两级分化,一种是这个公司把所有的优秀解答凑一凑,直接取消了这个职位。另一是这几个学生进公司后,一塌糊涂一头雾水,结果连试用期的三分之一时间都没过去就被一脚踢出大门——仔细看看你们的合同,试用期辞退是不是不用赔偿?

工作不是考试,只要技巧过关,一次通过,没人能找你麻烦。工作,尤其是技术工作,是一个长达数周乃至数年的过程。没有足够功底的人会在几天内被戳穿,然后扔出去。我知道你们会怎么做,你们会在简历中添加这家公司,然后向下家编造一个公司不靠谱的理由——阶级斗争啦,项目做完啦,或者如我上文所说的,凑凑答案取消职位啦——看看他们会不会买你的帐。如果他们做了背景调查,你没有机会。如果他们没做,你的简历上就会又添加一笔资历。三五次后,你就成为在多个公司供职的高手,月薪一次比一次写的高。大多数的HR不是傻瓜,如果真有这种高手,他们绝对不会投出简历然后乖乖的前来面试。通常这种人的手机上有N个猎头的未接来电,想要跳槽的消息传出去后,简历还没开始动笔已经有人开出了天价的薪水。如果有那么个冤大头愿意相信你,我得说,你的传销技巧做的很好。不过大部分这样做的学生,最后都去了销售职位。至于他们的结局,我就没有关心过了。

所以,干脆让我们省掉这些无聊的功夫吧。您不如直接去销售职位,我就去安安心心的挑一些不是那么无药可救的学生。看看他们能不能安下心来看这些文档,在一个个不能成眠的夜晚悔不当初,为什么不在别人指出这些资料后就去老老实实的看一遍。那些看了的学生?他们在被猎头围追堵截中,我就不凑热闹了。