【架构师面试题及答案】架构师眼中的文化:试用期才是真正的考察时间
如果说架构师在技术上的沉淀称为“武”,那么对于文化的感知和影响、对于团队的带动和辅导、以及多角色沟通等可以称为“文”,文武兼备,才是好架构!
来源
技术琐话
作者
王启军
管理风格
团队是由个体组成的,管理风格往往能够显示出团队文化。
下属请假你会拒绝吗
很多公司的制度是:请假一天需要直接主管批准;三天以上需要次级主管批准;十天以上需要部门领导批准。
在一个有几百个人的大公司里,可能部门领导对你的工作没有任何印象,他可能不批准你的假吗?不可能!就算你的直接主管可能不批准吗?也不可能!因为你的请假理由一定会很充分。
那么,为什么还要有这个流程呢?因为要防止有人请假导致工作上有依赖关系的人受到影响。那请假流程也并没有通知这些人啊,最终可能还是通过邮件通知的。
还有可能是防止某些没有团队精神的人偷懒,或者是防止他的直接主管和他一起作弊。如果一个公司有 1 万个人,用这个流程只能约束 100 个人,那么这个流程无疑是失败的。你应该在招聘的时候,或者试用期的时候就把这个人开除。
所以,我曾经工作过的一个公司改变了,所有的请假只要发个邮件或者在 yammer(类似公司内部的微博)上通知相关的人就可以了,无须任何审批流程。取消审批之前有很多人担心会出现各种问题。但是,实施后不但没有遇到任何困难,反而减少了很多麻烦。
为什么你招不到你想要的人
有很多人曾经向我求助,让我推荐合适的技术人选,可惜的是,大多数时候,面试是失败的,原因五花八门,我曾经也长期遭受这个困扰,下面将几个关键点总结如下。
如何吸引顶级人才
实际上,很多人把吸引不到顶尖的人才的主要原因归结为给不了足够多的钱,给不了足够大的成就感,但是事实并非如此。这里我想用两个故事来说明。大家都知道乔布斯被斯卡利赶出了苹果公司,但是并不知道斯卡利实际上在来到苹果公司之前是百事可乐公司的 CEO。
1983 年,百事可乐公司正如日中天,乔布斯用了一句著名的话挖到了斯卡利,这句话就是“你想靠卖糖水来度过余生,还是想要一个机会来改变世界?”而当年蔡崇信放弃了 580 万元的年薪,拿 500 元的月薪加入了阿里巴巴,也让很多人惊讶,当时蔡崇信的收入,用马云开玩笑的话说就是:“蔡崇信可以买下十几个当时的阿里巴巴”。
如何吸引顶级人才呢?首先,你做的事情应该足够有吸引力。其次,你需要通过某种方式吸引到对方。你以为面试只是你在考察别人?面试的过程不只是面试官考察面试者,面试者也会通过面试考察这家公司,考察今后所在的团队,因为往往面试官是面试者入职后的直接领导,面试官决定面试成败。
一定要找团队中最优秀的人去面试,被面试的人可以通过面试官了解到这家公司的技术实力,要让被面试的人感觉到面试官很专业,水平很高,是一路人,这个团队值得加入。此外,招人不能只靠薪资,很多时候薪资并不是决定因素。
为什么要么招不到人,要么招到“凑合的”人
很多公司,特别是大公司,招人只看短期,没有长期规划,突然有几个名额,就要立马到岗,因此把大部分招聘时间都花在了流程上。按照这种方式,很难招到理想的人。招聘是一个长期规划,不是缺人了才招,况且看过《人月神话》的人应该都知道,项目中加人不等于加快进度。
很多公司越是忙了越招人,还得培养人。我认为科学的做法是,招聘不设定名额,长期招聘,遇到符合条件的人就招。因为这个行业的离职率非常高,超编的情况太少见了。要么你长期缺人,要么你招到的人距离要求很远。当然,你可以在人员充足的时候适当提升一下招聘要求,这是一个良性循环。
招聘比你优秀的人
一个才华横溢的队友,对团队的影响力,远远超乎想象。如果找到的只是跟你差不多,或者比你更差的人,那么团队自身提升的速度也会非常慢。和卓越的人合作时,他们会激励身边的同事,团队会迸发出更强的战斗力,远远超越了人数的累加。
在 Google 首席人才官 Laszlo Bock 所著的《重新定义团队》中,详细描述了他们招聘人才的标准——只聘用比自己优秀的人。Google 是如何做到的呢?他们有两个方法,第一个是长期招聘,宁缺毋滥,在人力资源层面,招聘永远都放在第一位;第二个是只聘用在某些特定方面比你优秀的人。
空间、成长
实际上很多面试者最关心的问题并不是薪资,而是成长,如果你现在在国内某家公司工作,让你去 Google 工作两年,不给工资,我相信也能招到很多高手。那是因为他们考虑的是从 Google 出来的时候是什么状态。
当然,这并不等同于必须去一家带光环的大公司,小而美的创业公司也能吸引高手。大的公司也有劣势,凡是在大公司待过的核心技术人员都知道,你大多数时间是在汇报,在说服你的领导,真正留给你做研发的时间寥寥无几。
特别是层级比较深的公司,你可能要给你的领导汇报,给领导的领导汇报,给领导的领导的领导汇报……所以,这一点是我吸引大公司出来的高手的一个制胜法宝,你专心做研发,其他所有的事我尽最大努力帮你解决,不轻易打扰你。
你要找的不是一个完美的人
除非你有最高的薪资、最好的公司、最好的项目、最好的团队,还有最好的运气,否则你要的人不一定能招到,就算你招到了,工作两个月,你发现他也不一定像你想得那么好。招人就像找对象,在你爱他的优点的同时,也要爱他的缺点。决定两人长久相处的往往不是非常欣赏他的某些优点,而是能忍受他的缺点。
跳槽频繁的人不一定就不能要
很多面试官对频繁跳槽这点非常介意。我发现一些跳槽频繁的人不一定是对环境挑剔,有的时候是内向,不善于表达,不好意思问面试官太多问题,导致工作的时候才发现这个职位不是他想要的。实际上,面对这类人,你只要把所有的情况主动跟他说明白了,他不一定会那么快就跳槽。
比如加班问题,绝大多数面试者都非常介意,但是没有几个面试者好意思问的,如果你面试的时候就说明白了,让对方充分考虑清楚,那么因加班而跳槽的情况可能就不会发生了。
不要迷信大公司出来的精英
大公司的背景可以作为参考,但是不能太看重。很多大公司出来的人技术不一定很好,而很多名不见经传的小公司也能培养出能够深入产品、运营、研发、运维各个方面的优秀人才。实际上,大公司也有一堆烂代码,相反一些小公司也有非常优秀的代码。在这个开源的世界,秘密已经越来越少了,不要迷信大公司。很多大公司的架构师已经很多年不写代码了,所谓的能力大多只限于理论,你敢让他带“兵”去“冲锋陷阵”吗?
试用期才是真正的考察时间
大多数公司的试用期形同虚设,而面试过程短短几十分钟,很难看穿一个人,却淘汰了很多人,但是很少有公司试用期淘汰人。难道面试官真能看得那么准,还是出于情面,这是一个非常大的问题。公司完全可以在准备招聘某人的时候说明,试用期间会考察得比较严格。
下面是亚马逊中国在拉勾网上的招聘信息,这是我个人认为比较好的招聘信息。
我们希望你是:
我们提供以下帮助:
我们不想要的人:
得到了所有人的认可,说明你并不是一个好的管理者。
如果好人认为你是好人,你做对了。
如果坏人认为你是坏人,你做对了。
如果好人认为你是坏人,你做错了。
如果坏人认为你是好人,你做错了。
作为一个有追求的管理者,你肯定希望自己得到所有人的认可,我想告诉你的是,如果你让所有人都满意了,那你一定不是一个出色的管理者。让所有人都满意意味着你放弃了一部分优秀成员的利益,那么这个团队是没有追求的。
确定团队成员是管理者的责任,如果你做得不好,那么队员可能就会想方设法自己选择,甚至是换一个公司工作。
尽量避免用自己的权力去做决策
虽然你有权去做决策,当然也有可能你有这个决策的能力,无论成败你都一个人承担,但是如果你这么做了,我认为你不是一个好的管理者,因为一个人的能力是有限的,有可能你有自己非常擅长的领域,但不可能所有的领域你都强于你的下属。这样做的一个后果是,所有的队员在未来需要决策的时候,都失去了思考的原动力,因为他认为自己不是一个决策者,而是一个参谋,参谋的目标通常是和决策者保持一致。
可以说,一个管理者对下属的最大尊重就是聆听,认真听每一句话、每一个观点。如果你没等队员说完,就认为已经理解了对方的意思,只能说明你愚蠢至极。据我观察,在大多数场景下,下属总是能仔细聆听领导的意见,并且详细分析。如果你认可下属的能力,那么你也应该仔细聆听,否则,这个人不应该成为团队中的一员。
管理做到极致就是发挥下属百分之百的价值,而用权力去做决策的时候,实际上只发挥了自己的价值。
一屋不扫也可助你“荡平天下”
作为管理者的你,肯定希望下属都是听话的,对你毕恭毕敬的。你是否能容得下一个特立独行的人?他总是在很多时候跟你唱反调,引得团队成员一阵阵哄堂大笑,他似乎是对你权威的挑衅。你肯定担心长此以往其他听话的人岂不是也要跟着学?但是,一个团队最可怕的不是意见不一,而是出奇的默契。
管理者的任何一个观点所有人都举双手赞成,还得举几个正面案例证明一下。在这样的场景下,你一定认为自己特别聪明,一语道破“那几个笨蛋”多少年都没弄明白的事。团队到了这一步,战斗力就只剩你自己了。敌人变成战友,多半是为了生存。
如何对待个性强的员工是最能体现管理智慧的,剔除是最简单的做法,也是最普遍的做法。但是剔除可能会让你失去一个利用他的特长的机会。以前我曾经有一个下属,特别喜欢迟到,一个月基本上有一半的工作日迟到,但是,若论总工作时长,他比任何人都多。
而我的另一个下属,工作能力特别强,他几乎从不加班,无论工作量多少,每天都正点下班。还有一个下属,他自身能力特别强,对别人的要求也特别高,他会认为,这么简单的问题还要过来问我,这么简单的工作两天不就解决了?所以他经常和其他人产生矛盾。但是这几个人最后都变成了我的左膀右臂。
如果有人过来问我:“为什么他总是迟到还能得高绩效?”我会说:“如果你的总工时超过他,像他一样每天处理各种问题,我也会允许你迟到。”
如果有人过来问我:“为什么他每天都按时下班还能得高绩效?”我会说:“他现在所负责的模块,如果你能承担,而且效率不比他低,我也会同意你每天按时下班,并且得高绩效。”
如果有人过来问我:“为什么他是团队的‘老鼠屎’,影响团队氛围,你还给他高绩效?”我会说:“如果你一年也能完成和他同样多的代码行数,我也允许你对其他同事趾高气扬。”
据说马化腾也是这样容忍张小龙的,张小龙总是以“早上起不来”为借口不参加例会。为了迁就他,马化腾会早上让秘书把他叫醒,派车到楼下去接他。
世界上没有完美的人,每个人可能都会存在这样、那样的缺陷。如果能用好对方的优点,那么即便是一屋不扫,也足以助你“荡平天下”。
但是,这也不意味着可以无限制的纵容下属,但凡涉及人品、用户的时候,我绝对不会心慈手软。假如总是迟到,却找各种理由推脱,自认为自己劳苦功高,因为迟到导致线上的问题没有及时解决,绝不能纵容。
如何留下你想要的人
充分沟通。大部分的人是比较被动的,如果你在会议室说一句,大家有什么问题随时找我沟通,那么往往没有人主动找你沟通。但是如果你找到某个人一对一沟通,则又会发现实际上他们都有很多想法。沟通也是一种发泄的方式,如果沟通顺利,则有可能解决对方的疑问,最好不要让疑问在他的心理发酵。
对于沟通能力比较弱的人,当你安排一个任务的时候,最好在会议结束前,复述一下任务,避免当对方完成任务的时候,才发现双方理解不一致,这是非常打击士气的。
给予尊重。尊重就是仔细聆听对方的讲话,不打断对方,站在对方的角度考虑问题;尊重就是对专业的人员在专业领域知识的肯定,业余的人去羞辱一个专业的人是极其不尊重对方的。特别是汇报的过程中,有可能是在紧张的氛围中,对方的思路没有你敏捷,但是这并不代表你比对方优秀。
如果连你都不尊重对方,那些对你溜须拍马的人会变本加厉,最终导致团队缺乏对专业知识的敬畏之心。受委屈也是离职的一个重要因素。公司内大家只是分工不同而已,没有尊卑,这是绝大多数人的真实想法。尊重不是表面上的,而是发自内心的,如果你从内心就不愿意尊重对方,要么是你太自大,要么是你没有雇佣到合适的人。
肯定工作成绩。既然是你想留下的人,工作结果一般不会太差。无论对方的工作结果有多么糟糕,但是总有闪光的地方,总有值得肯定的地方。更多的通过正向激励而不是惩罚的方式来和下属交流。下属完成了很多工作,最好你要一一列举,否则他会认为你并不知道,觉得自己白干了。
设定合适的岗位。要绝对避免把不合适的人放到不喜欢的岗位。一个高级开发的岗位,如果你安排了一个实习生,则会不断地打击他的自信心,让他觉得胜任不了工作,最终选择离开;如果你安排了一个架构师,则会让他觉得工作没有任何挑战,最终会去寻找更有挑战的工作。
最好在员工入职的时候,就充分沟通未来的发展方向。如果人家想往技术方向发展,就不要安排太多管理工作;如果人家想往管理方向发展,就不要安排太多特别有挑战性的技术问题。
设定更大的挑战。很多有能力的人离开都是因为舞台太小,不能充分展示自己。当你拥有一个能力较强的下属的时候,可能你会成为他的发展瓶颈,此时应该给他更有挑战性的工作。例如交给他某个技术难题去解决,或让他代表团队给更大的领导汇报工作。
简介
本文节选自《持续演进的 Cloud Native:云原生架构下微服务最佳实践》一书,王启军著。电子工业出版社出版。