转载提示:这是一篇旧文
最近一直忙于面试,人事推给了我一份简历,职位是算法工程师,年龄是 46 岁,我揉了揉眼睛后再看看,确实是 46 岁。抱着忐忑的心,我电话面试一番后,还是不觉得他和我们的团队很适合。
人都会有同理心,尤其是这么大岁数的程序员还是为了生计来找工作,心还是会隐隐触痛。
年龄是多数程序员的天敌,之前没有概念因为生活中样本较少,现在来了一个鲜明的例子,并且还需要自己亲手关闭一扇门,总会有一个世道轮回的后怕。
写这篇文章的目的,是以这件事作为一面镜子,让我自己好好思考一下,我自己的前途和出路。
面试细节
学历亮眼
那位先生的学历其实挺好的,很早就研究生毕业,处于隐私保护我就不透漏详细了。并且毕业后就一直从事视觉方面的工作,每一份工作都呆了 5 年以上,算是很稳定的那类人。
我能想象他年少轻狂,意气风发的状态,只是现在有些境遇大有不同,这是一个变化的世界。
表达能力的缺陷
看简历的时候,我有仔细看过他的简历。
简历的项目经历都没有什么问题。
但是有个细节让我很意外。
错别字
简历上有很多的错别字,按照道理讲,在职场上打拼这么多年这是不应该的,况且电话面试的时候他说有担任过项目经理的经历。
除了错别字以外,简历上的描述没有重心。
也许是做了太多的项目,很多东西一股脑往上整,关键词都很少,直接对简历而言,很难让人一时搞清楚他究竟擅长什么。
还有一个细节,电话面试的时候,我一直皱眉头竖起耳朵在听,因为他口音极重,说话时轻时重,这让沟通成本变得很高。
与年龄不相符的总结陈述能力
项目经历和我团队现在的业务需求有相关性,但是不是那么强烈,所以我简单搞清楚他做的东西后,重点想关注的是他对这个行业怎么看法。
但结果有些失望。
他做人脸识别很多年了,简历上说对目标检测也颇有研究,但是这么多年过去了,似乎他的认知并没有因此有明显的提高。
他一直说传统的机器视觉不行了,现在要用 AI 的方式,然后又一直说 AI 也不是万能的。
我问他为什么觉得机器视觉传统的方式不行了。他回答说需要大量的数据训练,模型才能好。他又说人们都觉得 AI 很厉害,但 AI 不是万能的,因为它需要数据训练,没有数据也不行。
那他说的这些对吗?
他的结论都对,但不深刻,刚毕业的大学生都知道。既然认知和刚毕业的大学生没有差别,那么公司不会支付更多的用人成本,虽然现实,但就是这个理。
然后,我又问了一个问题:
为什么通过数据训练能够进行人脸检测或者识别目标?
他又回答了一堆,他用了什么 MTCNN 模型,然后这个那个开源的模型。
其实,我期望的是他能回答类似这样:
从大量的训练数据中,寻找有效特征,从输入空间或者是特征空间得到输入,通过模型回归 landmark 值或者用超平面分离数据等等等等。
我想要那种把技术分拆的很细的观念,不是简单的说用哪个开源模型,我想了解的是为什么而不是怎么做。
我期望得到为什么,而不是怎么做的原因,团队成员现在都很年轻,攻克难题需要有人带,薪资不同,面对的压力也不同,责任也就不同。况且,他的经历与团队的领域方向相关性不是那么高。面试的目的是试一试看。
我承认他的经验有,但是他的表达能力吃亏了。我觉得他应该有高度总结的能力,但这次面试过程没有体现出来。
我讲的高度总结能力,指的是对于技术或者是架构比较深的理解,或者是对于业务逻辑有比较清楚的认识。
我唯一的感觉是,这些年来可能他一直执着于比较底层的术,忙忙碌碌,蹉跎了很多岁月。
在我们团队,工龄大的人需要带团队新手的,如果领头人认知不高,下面的成员成长就少,容易起矛盾。
自我反思
面试结束后,我一直在思考一个问题。我如何才能不在 10 多年后变成这样?
我没有肯定的答案,但仔细思考后,我决定从下面几个方面入手。
业务能力提升
开源代码固然好,但是对于新问题而言,还是需要团队有自己的核心技术。这个核心技术也包括针对性地改造开源代码,让它更适应于自己的业务。
逻辑非常重要
身经百战同时也不要忘记思考,这个才能带你脱离永远在底层忙碌的困境。人人都爱能解决问题的人,重复的问题大多数人能搞定,新问题或难题需要高手。所以,我的认知是高手不会落寞。
学习能力
人是需要自我升级的。这个自我升级主要是指认知。
所以,保持阅读是非常重要的。
-
专业论文
-
行业动态
-
新技术
作为一个纯粹的技术人,这些不可少。
-
认知提升
-
沟通技巧
-
基本的常识与见解
-
基本的形态体态礼仪
人是社交动物,能力越大影响就越大,所谓影响就是与更多人的社交或者互动。
而这些都需要学习,并且是长期的学习。
投资能力
如果长期在一个公司,后来终止了。
如果长期在一个行业,后来终止了。
那个时候,用什么养活自己呢?
挣钱并不算耻辱,是基本的生活能力。
我个人而言,我计划这么做。
-
年轻时多买实物(如房子)。
-
薪水再高点时,追求一些高风险的理财产品。
-
提高业务能力,提高工资收入。
-
尝试副业,如技术网站上的付费专栏。
最后
需要说明的是,说是面试,其实是我个人的反思。面试是双方选择的结果,不代表面试者本人不行。
按照他的履历也许可以找到更理想的职位。但就我个人而言,我并不希望自己 10 多年后变成这个样子,为此我给自己提个醒,告诉自己要干些什么,怎么干,仅此而已。
好了,重申一些观点。
1、并不是因为年龄大的问题,面试是一个双向沟通的问题,电话面试的时候我都是用请教的态度去和他沟通的,不只我一个人和他面试过,另外一个同事面试他后也没有给予考虑。
2、公司团队的发展需要合适的人才,是有个坑位才有个招聘需求,现在团队需要的人是要带新人的,这一点我觉得不合适,所以没有考虑。
3、再谈技术,有些人把夸夸其谈和技术不好联系在一起了。所以如果没有通过面试就要归咎于面试者喜欢吹牛的人。我本身是个技术人,也想招实干的人进团队。但如果你觉得把算法逻辑捋清楚是一种吹牛的能力的话,我无话可说。我作为面试官,这点要求也有错?
4、至于所说的优越感,没有。在面试前领导跟我说:“面试后告诉我一个答案,你不能草率说不行,也不能轻易说行,你思考一下,你给我答案是基于什么。”我只是履行一份差事而已,所以别说我有什么优越感。
5、大概很多人会愤愤不平,为何要这么对待我们程序员。IT 行业是个迭代周期非常短的行业,我自己也时常思考未来的出路。但一码归一码,就我而言,一直学习下去,stay foolish stay hungry,我不会抱怨什么,选择这个快速的行业,我选择了它,我就会尊重它。
6、这文章是我个人反思,你可以说我错了,但我没有攻击任何一个人,我觉得我的未来不要这样,不代表别人不要这样,也不代表别人要这样也不行,只是我不要这样,我知道懂得的人会懂的。
▌趣图:编程的 50% 是在敲代码,剩下的 90% 是在调试