>

背景

作为区块链技术面试官,面试了不少人,对于怎么挑选到合适岗位的区块链人才,深感不是一件容易的事,有一次正巧看到一篇《像谈恋爱那样去招人》,感触颇深。因此,这篇文章打做一个总结,阐述如何成为一个合格的技术面试官以便能挑选到想要的区块链技术人才。

想要找到适合恋爱的区块链工程师,来看看我们需要做哪些准备吧。

一、准备

就像谈恋爱一样,你得先清楚你喜欢什么样的人,有的人喜欢萝莉,有的人喜欢御姐,有的喜欢热情奔放,有的人喜欢孤傲冷艳,但最重要的是你得知道喜欢什么样的。用人部门也一样,如果你在面试之前都不清楚自己想要的人是什么样的,那么后续的过程不可能顺利,面试过程会变得很没目的。撒网式招人的结果只能是抓来小鱼小虾,很难捕到大鱼大牛。也就是说,你每个女生/男生都去勾搭一遍,最后发现你只能吸引到胖女孩和丑男。所以,如果不明确自己想招什么人就把人拉来面试一通,那么本身就跟我这篇文章的主旨不符,请出门左转。

所以,在决定要什么样的区块链工程师之前,先问自己几个问题:

1、是否做底层链开发?(想谈恋爱还是结婚)

是否做底层链开发这很关键,因为这决定了他对区块链底层技术的专注度,是否对技术有倾心的热爱。另外一层含义就是你对技术的追求,因为这方面的要求都相对会更高。它还包括了你包含对技术之路坎坷的认识,过程中的欣喜与痛苦,你都能恰到好处的平衡。说白了,你是在找一个适合结婚的人。

如果你并不需要一个底层链开发工程师,那就没必要这样要求你的候选人。因为你只是想要开发一个应用级别的产品,你出于对这个想法的热爱,你一定要跟这个应用来一场恋爱,不管结果如何,那么你的选择余地就大了很多,很多候选人都符合这个特征,他们出于对某个行业,某个领域或者某种技术的热爱而选择了这个行业,有的人喜欢比特币的纯粹,有的人喜欢以太坊的包容万象,有的人喜欢区块链游戏,那么,按照这些要求去寻找你的候选人吧,他们就是你要恋爱的对象。

2、需要掌握哪些开发技术?(C++,Java,Go, Nodejs, etc)

取决于团队正在使用何种技术,这里说的技术不仅是指语言上的,还包括领域上的,比如网络开发和桌面开发显然差别很大,做大数据的和做工程开发的共同点也不是很多。另一方面,虽然语言只是工具,但是学习一门新的语言达到熟练运用的程度还是需要一定的学习成本的,而如果候选人本身就已经熟练使用某门开发语言,那么学习成本将大大降低,即插即用的候选人是每个团队都非常渴望的。

所以,如果你团队是使用 Java的,那么尽量不要去招 C++ 的并劝他们转型,不仅学习成本高收益小,而且对方转型之后也优势尽失,大概率是双输的局面。跟谈恋爱一样,不要试图改变对方,而是突出对方的优势,然后包容其那些不影响大局的缺陷。

3、需要多少经验?(谈过几个男/女朋友)

经验这个东西非常珍贵,尤其是区块链行业,有经验的人不多,有丰富经验的人更少。虽然恋爱经验多变渣男渣女的概率大,但是也不能否认恋爱经验可以帮助你在后来的感情问题处理上更加成熟。因此,如何衡量经验在区块链研发过程中的作用和权重就显得非常重要。在我看来,区块链的工程研发最重要的还是实战经验,如果只是看看书本介绍,或者短期参与过一些外围项目,讨论会,演讲会等,都很难比得上实战(hands on)经验。很多候选人过来面试的时候声称看过以太坊或比特币的源码,手动部署过节点,甚至基于这些源码研发过一些项目,这可以说是比较珍贵的了,但是可惜的是,由于平台的缺乏,他们大多数依然还是对其中许多概念模糊不清,没有一定时间跨度的积累,在开发正式项目的时候依然会显得茫然。其实我最看重的还是思考和总结,如果没有停下来思考的习惯,不仅说明候选人的学习能力不强,而且你会担心他以后的成长空间。

简而言之,要寻找一个合格的区块链工程师,经验不是最重要的,但是不能没有。过来参加面试的候选人或多或少都会至少看过源码,动手改过或开发过相关的工程,最重要的是要考核他们在这个过程中的收获,如果发现候选人没有思考和总结的能力,请出门左转。

二、面试

到这个阶段时,通常是面试官和候选人已经被彼此吸引了。面试官看到合适候选人的简历时心情通常是小鹿乱撞,满怀期望,毕竟有区块链背景的候选人在市场上可是香饽饽啊。所以,这时候就需要进入试探期。

有些讲究的公司会先进行一轮电话面试,避免出现男/女神也会拉屎这种幻想破灭的情形。电话面试的主要目的还是进一步筛选,尤其是这种新型行业,很多人号称有区块链技术背景,但实际上他只是在网上看过几篇介绍文章。所以,这个过程可以帮助我们排除一些简历上的明显的水分。另外,还可以借此确认一下候选人目前的状态,跳槽的意愿等等。不过,由于过程都是在电话中进行的,就像在 QQ 或微信中网恋,可以对对方有一个模糊的印象,但是网恋肯定是生不出孩子的,所以我们还是需要约定一个正式面试的时间,并且把重心放在正式面试,也就是现场面试上。

现场面试就是面试官和候选人的第一次正式约会了,时间地点的选择都不能太过随意,站在面试官的角度,在一个相对空闲的时间段参加面试不会显得仓促,也能更全面的对候选人进行考察。

当然,时间地点在整个面试过程中仅仅是第一步,要进行一场有收获的面试,面试官还需要做到下面几点:

1、专业性 Professional

专业性是我最强调的一个原则。我们是来招专业区块链人才的,因为我们首先就必须专业,否则要被人耻笑。这个道理就好比你去一家餐馆吃饭,他们给你上了菜却没有及时提供餐具,或者菜单上有的菜但是点的时候却没有,你会觉得他们不专业。又或者一个房产中介给你推销房子,但是你问起周边配套,比如学校,医院等信息,对方却不能说清一二,你也会觉得不够专业。

作为招聘方,我们要在面试过程中体现我们的专业性。这里的专业性不仅仅是指技能上的,还包括礼仪和流程上的,往往后者更加重要。把面试想象成是一场约会的话,那么约会的整个过程都应该提前规划好(时间,地点,流程安排,话题准备等等)。而且,由于双方目的明确(打着招区块链工程师的幌子,却招其他工种在这里是不存在的),所以通常会很容易进入话题。这个时候,我们才进入技能专业的话题上,我们可能需要聊聊比特币或者以太坊的技术细节,如果我们聊到炒币的话题上去,显然我们就进入了一个误区。

总的来说,专业性体现在很多方面,每个人看法也不一样。在我看来,一方面用人部门需要做好充分准备工作,另一方面就是要掌握面试过程中的一些技巧,我大致列举了下面几个需要特别强调的点:

1)是否了解过候选人?

如果连正式面试前,连简历都没看过,从选人从何而来,将去何方,有何优势,是否适应区块链开发,等等信息。有了这些信息,你才不用查户口,而是可以有针对性的答疑解惑。这个过程可比相亲简单多了,相亲的时候你通常对对方一无所知,很多时候很难避免查户口式沟通,但是现在候选人简历摆在你面前,了解简历再进行面试是做到专业性最基本的要求。所以这里其实是考察你面试前的准备工作。

2)聊什么话题?

技术面试就是技术面试,尽量少扯一些有的没的,比如你去过哪玩,你喜不喜欢打篮球,玩 LOL。虽然这些问题有助于提高沟通平滑度,但还是把他们留给 HR 吧。技术面试官则一定要把握主旨,那就是要让候选人体会到我们是在招区块链工程师,你需要懂区块链,你得懂共识算法是怎么回事。

我遇到过几个候选人没展现专业性的,比如我看到有的候选人面试的是区块链工程师岗位,但是我看到简历上竟然把计算机二级证书列上了,我当时就善意地提醒了一下候选人,我们是来面试区块链开发,如果你是在寻求一个财务或市场职位,我觉得列举这个算是一个加分项,但是如果作为专业的开发人员,看到这个东西,我会觉得你很不专业。还有一个例子就是,让一个候选人描述线程进程的区别,他用了网页 Tab 和 QQ 窗口做例子,我想说虽然这个描述没错,但是更像是一个不专业的人在用他能理解的方式去描述一个专业的事情。专业知识上的沟通,在我看来,就是在一个语境下,两个人能用同一种语言在进行灵魂的对话。

3)流程和礼仪是否令人愉悦?

前面讲了,专业不仅体现在知识和技能上,还体现在各项流程和礼仪上。我这里举几个例子,比如,不再核查候选人资格,通过初筛后进入面试流程的人,其硬性条件已经合格,如果再以这个理由拒绝候选人,那么就显得业余。还有一些明显非常业余的行为也应该尽量避免,比如面试官迟到,候选人来到公司长时间都没人接待,一面跟二面问大量同样的问题,面试过程中打电话,无故离开,借口领导不在,HR 不在,没时间改期再约等等。
专业,需要我们平时多多观察和体会这个词的内涵。

2、氛围

面试气氛的营造很是面试顺利的重要因素,这要求我们掌握基本的沟通技巧和面试礼仪。轻松愉快的气氛更容易引导候选人展示其优势。我遇到过有的候选人是对比特币情有独钟的,对方仔细研究过部分比特币源码,所以我会尽量把话题引向他熟悉的领域,而不是问一些他了解甚少的以太坊。

所以面试官尤其要注意一些宗旨:面试官和候选人是平等的,虽然存在一定的考核场景,但是面试终究是一个双方选择的过程。面试官切不可盛气凌人。好的面试官应该通过适当的引导,淡化面试过程中紧张的气氛。

面试的目是让应试人展现自己的知识、能力和性格。而不是体现面试官有多厉害,故意刁难面试者,有些面试官自身没有经过一定的培训,也缺乏这方面的意识,容易造成角色定位上的偏差。

所以,谦虚和开放的心态非常重要,每个人的背景和经历都不尽相同,很可能候选人的知识广度超过面试官,或者在某个领域的专业技能也超过面试官。因此,一个优秀的面试官必须保持非常开放的心态,保持谦虚能够更好的利用这种场景,发掘候选人更多的亮点。当然,面试官需要一点控场能力,不能让候选人偏离岗位主题过远。

3、考察与发掘

很多候选人都善于夸大简历中的经历,除了虚构一些自己并不掌握的技术,还有一个普遍的现象就是把别人的经历拿来作为自己的。因此,对简历上列举的技能和经历进行核查,在我看来是非常重要的一环,这个不仅涉及到技能水平的问题,还涉及到候选人的道德品质问题。当然,要区别包装和造假的区别,对于适当的美化,只要不是造成质变的造假,都不应过分追究。

想要确定简历上的水分有多少,一定要与他聊简历上的项目,很多候选人把别人的经历写成自己的,这种情况我们需要深入的去了解具体项目中的细节,甚至可以具体到代码实现,逻辑结构,机制原理。如果候选人倾向于泛泛而谈,那么我们就可以对他有一个基本的认识。

对于不同职业阶段的候选人,或多或少都曾经历过一些亮点或者闪光点,如果候选人不善于表达,或许就不容易被发现。因此,作为面试官,更多的像是一个“伯乐”的过程,要善于发现候选人的闪光点,当然,这里的闪光点不仅限于岗位要求,它包括很多很多方面(比如沟通能力,诚信,逻辑思维,兴趣动力等等),这些闪光点的发现能更加有助于评估候选人对于岗位的适应性。就比如我前面说到的,如果候选人对某个区块链项目熟悉,那么我们就应该顺藤摸瓜,挖掘他的掌握程度,这样,即使他所做的项目跟我们的项目不一样,我们也可以知道他的创造力和学习能力。

另外,对于技术上的亮点,我们通常还可以让候选人自己阐述一下项目中遇到过什么坑,怎么解决的,以往的经历中有没有觉得自豪的部分之类的。然后根据对方的描述来进一步深入讨论。

4、非技术因素

除了纯技术上的评估,面试官还应该关注下列这些特质:
• 1)这个人是否追求卓越,是否有主人翁精神,是否有探险/创新/接受新事物的精神,是否愿意承担责任等等。
• 2)沟通力,幽默,气氛。文化适应性,适应能力。
• 3)职业规划

总结起来,这些特质会影响他可能会为公司创造的价值,以及你是否愿意和这人一起工作。

当然,我们不应对这些特质吹毛求疵,我们需要知道,很多伟大的人都是性格怪异的,有些性格并不是他创造价值的障碍,最重要的是要明确我们需要的重点是什么。如果爱她/他,那就包容她/他吧,毕竟区块链的人才真的很宝贵。

5、结束面试

面试的时间根据面试官自身的把握应该要有一个控制,在我看来,一个完整的面试我一般会进行 1.5 小时至 2 小时。因为,区块链工程师面试通常需要涉及到画一些示意图(共识流程,数据结构,程序架构等),还少不了现场编编码解决问题等,需要一定的时间才能对对方有一个相对合理的了解。但是有时候,需要提前终止面试,比如面试过程中发现候选人明显不符合岗位的要求,以至于面试官觉得接下去已经是浪费时间,那么可以及时终止面试以节约双方的时间。

我就遇到过,候选人上来就各种巴拉巴拉一顿吹一个月就看完了以太坊的全部源码,而他在这之前甚至连 Go 语言都没用过。遇到这种情况,我一般都会让对面把逼先装完,然后问一下他的薪资期望,然后送他到楼梯口说声再见。还有一种情况是,候选人有口臭,我遇到过,当时我试图保持镇定,但是由于我位于正对面,气味比较浓烈,我最终还是觉得无法接受这种形象的人作为同事而提前结束了面试。

这里提前结束面试的时候,一定要注意礼貌,不能让对面感觉是被冒犯了,我觉得不冒犯别人也是一种素养,所以我尽力做到对即使不满足岗位要求的人也做到礼貌的拒绝。

结语

完美的面试可能过于理想化,也没有统一的标准的来定义,但是一场好的面试是有迹可循的,对于面试官和候选人来说都是一次挑战,尤其是技术面试,面试官和候选人都需要投入脑力和综合素质上的交互才有可能达成一个好的结果。期待每个面试官都能在实践中完善自己的面试方法论,也期待大家遇到更好的区块链工程师候选人。


如果你对我的文章感兴趣,欢迎留言或者关注我的专栏。

微信公众号:“知辉”

搜索“deliverit”或

扫描二维码