漫谈程序员系列:找工作的辟邪剑谱

时间:2023-02-12 10:34:21

漫谈程序员系列:找工作的辟邪剑谱

    我原来面试过一个哥们儿,半年内换了七家公司,我表示膜拜。

    还有一些哥们儿,七年不换工作。这得是多稳定的工作啊,七年之痒都扛过去了,真心不错。

    这都是极端,一般的程序员,可能会一年半载或者三两年换一次工作。在一个公司干上老多年老多年的程序员,不是成了大牛公司离不开,就是成了废柴哪里也去不了。我说得太极端了一些,可能还有到哪儿都无所谓的,能待着就待着这种的吧。

    这次我们要说的是找工作,没错儿,就是找工作。

    去咖啡厅喝个咖啡或者酒吧喝个小酒就把工作搞定的程序员可以洗洗睡了,记住回自己家睡……别 if - else 了,选择太多不是好事儿……

面试时如何展现自己

    其实我这人比较懵懂,一直也没太搞明白如何展现自己的优点,甚至自己有什么优点也不甚明了。还是看一张来自互联网的图片吧:

漫谈程序员系列:找工作的辟邪剑谱

    好像我越来越邪恶了……

    这幅图绝对木有讽刺那谁谁的意思,表误解。它的意思其实是说,面试时你一定要展现出公司希望看到的那一面,不一定是事业线……再说,作为程序员,大多也没这种事业线……

    我发现真是写代码写惯了,总想把一句话写得没歧义,真受不了……其实话一出口就是别人的事儿啦,谁愿意怎么理解就怎么理解,说话的人完全管不了了……

    有人问,我怎么知道公司希望我怎么样呢?

    其实要你自己做功课的,有几点是必须的:

  • 仔细研究职位要求和工作内容,梳理自己与这些要求吻合的那部分能力、经历、知识……
  • 仔细研究公司的产品或者项目,了解公司所在行业的背景知识、市场情况、公司的竞争对手的情况
  • 揣摩这家公司招你过去到底想解决什么问题

目标

    千岩万壑不辞劳,

    远看方知出处高。

    溪涧岂能留得住,

    终归大海作波涛。

    这是唐代的李忱的诗,有另外一首诗刚好与它辉映:

Liberty and love

These two I must have

For love ,I will

sacrifice my life;

For liberty,I will

sacrifice my love

    相信你看到这一篇,已经知道我总是在扯淡,能扯多远扯多远。

    其实这两首诗没别的意思,白水文的解释是酱紫的:人生要有个目标,有所追求。

    OK ,对于程序员来讲,也是一样的,我们也是人么,并非《未来战士》里流体金属造就的变异物种,当然也是有目标的。

    生活的目标是什么?上帝把我们抛到这个尘世上来,除了让我们努力活得好一些之外,真不知道他还赋予了我们什么终极意义?

    生活的目标决定了你工作的目标,So,搞明白这两点其实还是有好处的。

    你希求什么,决定了你要找什么样的工作、什么样的公司。

    几个月前我离职时,我的老板对我说:到了这个年龄,你缺的不是一份工作。

    我深以为然:工作好找,找到能解决你为什么工作的工作难找。

简历

    当你开始更新简历时,大概有两种情况:一种是想好了要去做什么,一种是眼下的事儿实在干不下去了。换句话说,一个是主动去追求,一个是被逼无奈要换个环境。

    不管哪一种,要撰写简历是免不了的。

    我换过七次工作,写过很多次简历。我被别人面试过不下二十次。我看过的简历超过300份,面试过的程序员不下100个。我想我可以从我的角度来谈谈简历里有什么需要注意的事儿,注意,绝不是灵丹妙药,很可能是票房毒药。

  • 为每一个公司的每一个岗位准备一份简历,针对岗位要求来修改你的简历,别怕麻烦,一份简历通吃天下的作法只能说明你是个懒蛋,一点儿都不认真,那种把职位空出来,到哪个公司应聘就填写哪个职位的哥们儿,我看到直接就拒了……
  • 不要超过2页,我看简历一般不超过两分钟……有的人更短,只有30秒不到就下决定了
  • 教育经历要写明,很多公司会用学校和学历筛掉一大批应聘者,因为他们相信,如果你能学能干,考上好学校不是问题,这可能有点儿以偏概全……
  • 与对方要求相关的技能突出描述,放在所有工作经历之前,很多公司招人时打的算盘是“招之即来来则能战战则能胜”,你要不突出你的相关经验,八成没戏……
  • 最近的工作在前,过于久远的工作经历,提一下就是了
  • 项目里说明自己的角色、用到的技术、负责的模块、完成的结果,如果有攻克难关,要表述出来
  • 如果不是漂亮女生,就不要贴照片了……

    其实度娘知道很多简历的事儿,悄悄问问她吧。

    一份好的简历会带给你笔试或面试的机会,值得下功夫去琢磨如何在简历中展现你独特的一面。

关于内部推荐

    其实还有一些其它的途径可以让你顺利闯过简历筛选这一关:内部推荐。很多公司信这个,认为自己的员工不会推荐不靠谱的人。我工作过的公司,如果你推荐的人被录用并且成功通过试用期,你会获得一千大洋的伯乐奖金。我媳妇的公司也有类似的机制。所以,如果你能找一个目标公司的员工来推荐你,那你就踏出了成功的一步。

    之所以内部推荐成功率高,是因为简历、笔试、面试这样一个流程,公司和应聘者之间还是不能够真的相互了解,这是因为语言是一种障碍,你说很多话,想要沟通,其实却会阻碍沟通。因为应聘者会不自觉的美化自己,公司也会美化自己,大家看到的都是恋爱前的样子,实际上吃、住、睡在一起了,很可能发现没有原来那种美好,很快就又分道扬镳了。试用期虽然双方自己,但对大家都是巨大的成本。而内部推荐,它潜在的逻辑是:推荐求职者的员工应当对求职者有所了解,同时也对公司的职位要求了解,推荐的是相对match的人;反过来,求职者也会通过推荐者了解公司的情况,消除求职者的盲目性;最终双方能够合拍的概率会大很多。

    当然你不是每次都能找到一个人来推荐你,因为有的公司没有内部推荐这一说,也有的公司里没有你认识的人。但如果可能,还是要尝试这种途径。

    六度空间理论(又名六度分隔理论)说:你至多只要通过六个人就能认识全世界的任意一个人。所以,理论上你可以在任何一个公司找到可以推荐你的人,只看你愿不愿意花心思。不要担心别人不愿意推荐你,多数人在帮助别人时是感到快乐的,不是有个词儿叫作“助人为乐”吗?当然,你可别存着坑人家的心,明明你的目标是要用自己强大的黑暗能力毁掉这家公司,却信誓旦旦地说你要帮助公司飞上青天,那样就太不厚道了。

笔试

漫谈程序员系列:找工作的辟邪剑谱

    有的公司喜欢笔试,通不过笔试你绝不可能成为他们的一员。

    还有的公司喜欢出一些自己的*程序员也答不上来的古怪难题(比如计算某句谣言对某个人造成的心理阴影面积之类的),他们的一大目的(也是部分老鸟程序员的乐趣)就是看着你出一些洋相,让你受一下挫折,打击一下你嚣张的气焰(想想那些*题材的影片里老犯人对新服刑的雏儿的折磨你就明白了),然后他们好自我优越一把。也许是我太邪恶,不惮以最坏的恶意来揣测别人吧。

    当然也有的公司不笔试,只面试。

    还有,有些公司的笔试是针对某一级别的求职者的……也许你现在到哪里都不用笔试喽。

    如果你必须笔试,我没什么好说的(多少年不做卷子了……学生时代的记忆已经模糊,像雾像雨又像风,也像帝国的霾……),只有一点,你还是要研究你应聘的职位要求,然后揣摩笔试的范围,多少会有一些用,比如他找 C++ 的码农,自然不会考你 Java 。

    世面上也有很多类似《C++笔试宝典》之类的书,会总结各类公司常出的笔试题并给出解法, Java 的也有,其它的有木有我不知道,我没看过……

面试

    笔试之后就是面试了,也许你一个小时候后就会接到面试邀约,也许你等到花儿也谢了也没有音讯,反正大多数公司只会通知通过的那些求职者,对于被涮掉的,潜规则是无视。So,这一切其实不那么美好,也许你觉得自己题目答的不错,没100分也有99,那你就是抓破头皮也想不明白为什么不通知你面试了——其实有时候答的太好了是一种错,他们可能怀疑你利用智能手机在线求助,或者认为你熟读各种笔试宝典,或者认为你来公司笔试前踩了*(要知道现在无证养狗的人很多,随地大小便的狗狗的数量呈指数级增长,已经快赶上随地大小便的人了),或者批阅试卷的人会认为你太优秀将来会对他们不利……总之各种可能吧,也可能是 HR 或者前台觉得一一回复应聘者过于麻烦……

    未知会导致焦虑,所以先贤们总是强调格物致知。焦虑是一种煎熬,如果你正巧背负各种金钱压力,缸中之米仅够三两日用,那你的焦虑就又会指数级增长,多一天你就会受不了……很多人在这种时候会对突然到来的机会有特别的好感,虽然不会像范进中举一样疯掉,却也会盲目的认为这家公司一定适合自己,不管怎样都希望能够快点到这家公司去,于是后来就又可能产生悲剧——干不了几天就一言不合一拍两散。

    程序员有一个问题,就是沟通障碍。这是双方的,是面试官和求职者都存在的问题:一面通常都是来自技术线的优秀程序员。如果你和面试官投缘,一见钟情,那恭喜你,你一张嘴他就知道你想说什么,你一撅屁股他就知道你拉什么屎,你99%可以通过面试。如果你和面试官不登对,一见面就气场不合,大眼瞪小眼,表面彬彬有礼,暗地里已经刀枪剑戟了,那你99%会被咔掉。更多的时候,你和面试官对对方都没什么感觉,既不来电也不来厌,你们需要用语言来沟通,在一问一答中表现自己。

    因为面试者和求职者地位上的不平等,会对面试过程产生一些微妙的影响。这里建议你站在公司的角度来考虑一下,其实他们也是有求于人,并不是你热脸要去贴冷屁股。多数公司愿意走面试环节,都是因为真的需要人,不然劳民伤财为哪般呢。如果你想明白这一点,就无需紧张,也无需仰视那些或牛X或装B或让人膜拜的面试官了,你可以放平心态,侃侃而谈。如果你不善言辞,也可以自然地展现你的实力,就用你以前工作的方式来展现你自己。

    很多自认为能力不错的程序员往往在面试时折戟沉沙,我也是这样。这里面的一大原因是我们不知道如何展现自己的能力,是滔滔不绝雄辩天下,还是一问一答诚实木讷?这是大问题,语言本身就是迷雾,会给沟通带来很多障碍,你心里想的是这样,说出来就带了起码20%的误差,而听的人又有自己的过滤器,他们只会听出自己想听的那部分忽略你想说的那部分,所以要想彼此理解,是天大的困难。“听话听音”这个词儿就是描述使用语言沟通的困境的。

    那么语言究竟能不能表达出程序员的能力来?答案是不能!

    因为软件开发的特性,程序员做得多说得少,久而久之更善于用简单直接的逻辑来表达想法,不善于琢磨话语背后的意思。而面试却恰恰需要琢磨话外音:到底面试官问这个问题的意图是什么?他希望考察应聘者哪一方面的技能和见解?他某一句话对我是肯定还是鄙视还是无所谓我还要不要继续展开来说?所有这些不确定,会让求职者产生焦虑和惶惑,原本可以表现十分的,只能表现六分。当然也有一些人很牛,语言能力很强,心脏上的窟窿特别多,眼睛也很毒,脑子又比较灵,兼之略懂读心术,能够看透面试官转笔筒或者跷二郎腿背后的意思,也能够理解面试官语气的变化代表的心思转折。这样的人是人才,可以通过大部分的面试。

    生活在零壹世界里,我很容易采用二分法。其实程序员有两种,一种是茶壶里煮饺子,有才说不出;一种是说得比做得多,一分的才可以展现出十分来。到底哪种好,看站在谁的角度上看了,反正这两种类型的人大多相互看不起。而对于公司来讲,其实两种人都需要。

    既然对话不能了解一个程序员真正的实力,那为什么还要走这一套程序呢?答案是:没有更可行的方案。

    现代人在生活中已经比较开放了,没结婚就可以耍流氓了,觉得不合适还可以换个对象继续耍。而招聘与求职这么重要的事情上,却保守得紧,不肯采用更合适的方式方法,比如让一个程序员到公司干上几天试试双方是否合适。其实这种方式好处非常多,和试婚差不多,因为只有近距离接触我们才能看得更细致,避免那种远距离的看上去很美带来的悲剧。

    那么,究竟面试时,程序员该如何展现自己呢?

    崔健的《从头再来》里有一句词儿:“我越来越会沉默我越来越会胡说”。这也是我的状态。下面的话也是胡说:

  • 知道你擅长什么
  • 知道公司需要什么
  • 不要争辩、争执,哪怕对方误解了你
  • 知道面试官的身份,比如是 HR ,是程序员,是项目经理,部门经理,还是技术副总,这很重要,不同角色不同Level的人,听话的方式是不一样的,你需要根据这个来调整你说话的方式,以便对方可以听进去。下面就是switch-case语句了:
    • 程序员:把他当作你的同事,以讨论技术问题的方式交流,表现出你解决问题的能力
    • 一线技术管理者:多听,理解问题,知之为知之不知为不知,多数时候不要表现得比他们还聪明;表现出你团队协作的一面
    • 技术高层:表现出你自己的想法、看法,表现出你对公司技术方向、产品方向的了解与见解,当然也要表现你的技术能力,无须担心你太强吓住人家
    • HR:友善地和他们谈话,放下你程序员技术高于一切天下惟独我屌的想法,说人话别说黑话,别看不起不懂技术的人

    “别人说的话,随便听一听,自己做决定”。这是黄小琥的歌《没那么简单》里的词儿,也是你对上面的话应该采取的态度。

    面试可能有好几轮,有时一天就完了,当场就拿到 Offer 。有时会拖几个月甚至半年以上……此时你要有足够的耐心,相信好事多磨,要是等不了,就也没别的办法,可以签别的公司……

为什么我会被 PASS 掉

    有时你还没到谈薪水的时候就石沉大海了……

    为什么?

    你很想知道答案,可是没人告诉你,你只能瞎琢磨。

    其实这是求职者和公司之间地位不对等的问题,公司觉得拒绝一个人可以不需要理由,就像你的女神不屌你一样。但对于求职者,如果能知道被拒的理由,会是非常好的一件事情。

    有几个常见的原因:

  • 面试官觉得你能力不行
  • 面试官觉得你能力太强
  • 面试官觉得你不稳定
  • 面试官觉得你个性太强
  • 面试官听不懂你说什么
  • 面试官觉得你听不懂他在说什么
  • 你工资要求太高,超过 HR 拿到的上线太多

    我这也是胡说,姑妄听之吧。

谈薪水

    虽然我不善于谈这个,但我还是写了另一篇文章专门来谈这个问题……因为我是程序员,要覆盖得全面一些……

    这里就跳过去吧。

骑驴找马

    裸辞是需要勇气的,几个月的空档期很多人承受不了。所以,相当一部分人是找着了下家才离职。那么,一边工作一边找下家,究竟有什么影响呢?

    招人,Android、Java、iOS,西安的,at me。

    有个词儿叫“心猿意马”,还有个俗语叫“身在曹营心在汉”,用在这种情况下都挺合适的。

漫谈程序员系列:找工作的辟邪剑谱

    当你决定找工作时,对现在的工作就会产生懈怠,这是毋庸置疑的,别说你多有职业精神,都是空话,懈怠是必然的,即便你努力表现得和平常一样,但是一旦你想到不久就要离开,对很多事情就没那么尽心了:可能会把有些事儿推给别的同事;可能不再愿意为工作而加班;可能对手上的问题睁一只眼闭一只眼;可能会下意识地让自己空忙;可能难以集中心思来解决复杂的问题;对BOSS也没那么在意了……凡此种种,都会有外在的表现,发出各种信号,明眼人会看出来你已经动摇已经心思不属。真的,别以为神不知鬼不觉,人在做,天在看,你又不是演员,瞒得过谁呢?所以说,当你决定骑驴找马时,效率会下降,对公司的产出肯定会减少。

    那么对自己呢?其实也是一种煎熬,人都有站队的思维定势,希望在某一个集体中获取认同,不想像蝙蝠那样长久骑在墙上。你会担心现在公司的人看出你的马脚,会尽力掩饰蛛丝马迹,这会让你很累。你还会因为迟迟没找到马而焦虑:已经决定要走了,却找不到下家,这种情况会让你对自己的能力产生怀疑,让你有时沮丧有时疯狂有时黯然神伤……有时你还会觉得对不住现在的公司……你内心中有两个小人会经常打架搞得你疲惫不堪……当然也有强人,对这一切都不在乎,因为他认为到更好的公司单位更好的职位是天经地义的,绝不会像我们这种小工蜂一样拿忠字舞来束缚自己。

    不管怎么样,骑驴找马是一种常见的存在,你、我、他,可能每个人都曾经这样做,也相信别人会这么做, BOSS 们也常为此焦虑,但是,该发生的发生了,不改发生的也发生了,就这么着吧,不扯淡了,我唯一的建议是,无论怎样,还是要站好最后一班岗。