最近一直忙于面试,人事推给了我一份简历,职位是算法工程师,年龄是 46 岁,我揉了揉眼睛后再看看,确实是 46 岁。抱着忐忑的心,我电话面试一番后,还是不觉得他和我们的团队很适合。
人都会有同理心,尤其是这么大岁数的程序员还是为了生计来找工作,心还是会隐隐触痛。
年龄是多数程序员的天敌,之前没有概念因为生活中样本较少,现在来了一个鲜明的例子,并且还需要自己亲手关闭一扇门,总会有一个世道轮回的后怕。
写这篇文章的目的,是以这件事作为一面镜子,让我自己好好思考一下,我自己的前途和出路。
面试细节
学历亮眼
那位先生的学历其实挺好的,很早就研究生毕业,处于隐私保护我就不透漏详细了。
并且毕业后就一直从事视觉方面的工作,每一份工作都呆了 5 年以上,算是很稳定的那类人。
我能想象他年少轻狂,意气风发的状态,只是现在有些境遇大有不同,这是一个变化的世界。
表达能力的缺陷
看简历的时候,我有仔细看过他的简历。
简历的项目经历都没有什么问题。
但是有个细节让我很意外。
错别字。
简历上有很多的错别字,按照道理讲,在职场上打拼这么多年这是不应该的,况且电话面试的时候他说有担任过项目经理的经历。
除了错别字以外,简历上的描述没有重心。
也许是做了太多的项目,很多东西一股脑往上整,关键词都很少,直接对简历而言,很难让人一时搞清楚他究竟擅长什么。
还有一个细节,电话面试的时候,我一直皱眉头竖起耳朵在听,因为他口音极重,说话时轻时重,这让沟通成本变得很高。
与年龄不相符的总结陈述能力
项目经历和我团队现在的业务需求有相关性,但是不是那么强烈,所以我简单搞清楚他做的东西后,重点想关注的是他对这个行业怎么看法。
但结果有些失望。
他做人脸识别很多年了,简历上说对目标检测也颇有研究,但是这么多年过去了,似乎他的认知并没有因此有明显的提高。
他一直说传统的机器视觉不行了,现在要用 AI 的方式,然后又一直说 AI 也不是万能的。
我问他为什么觉得机器视觉传统的方式不行了。
他回答说需要大量的数据训练,模型才能好。
他又说人们都觉得 AI 很厉害,但 AI 不是万能的,因为它需要数据训练,没有数据也不行。
那他说的这些对吗?
他的结论都对,但不深刻,刚毕业的大学生都知道。既然认知和刚毕业的大学生没有差别,那么公司不会支付更多的用人成本,虽然现实,但就是这个理。
然后,我又问了一个问题:
为什么通过数据训练能够进行人脸检测或者识别目标?
他又回答了一堆,他用了什么 MTCNN 模型然后这个那个开源的模型。
其实,我期望的是他能回答类似这样:
从大量的训练数据中,寻找有效特征,从输入空间或者是特征空间得到输入,通过模型回归 landmark 值或者用超平面分离数据等等等等。
我想要那种把技术分拆的很细的观念,不是简单的说用哪个开源模型,我想了解的是为什么而不是怎么做。
我期望得到为什么而不是怎么做的原因是团队成员现在都很年轻,攻克难题需要有人带,薪资不同,面对的压力也不同,责任也就不同。况且,他的经历与团队的领域方向相关性不是那么高。面试的目的是试一试看。
我承认他的经验有,但是他的表达能力吃亏了。
我觉得他应该有高度总结的能力,但这次面试过程没有体现出来。
我讲的高度总结能力指的是对于技术或者是架构比较深的理解,或者是对于业务逻辑有比较清楚的认识。
我唯一的感觉是,这些年来可能他一直执着于比较底层的术,忙忙碌碌,蹉跎了很多岁月。
在我们团队,工龄大的人需要带团队新手的,如果领头人认知不高,下面的成员成长就少,容易起矛盾。
自我反思
面试结束后,我一直在思考一个问题。
我如何才能不在 10 多年后变成这样?
我没有肯定的答案,但仔细思考后,我决定从下面几个方面入手。
业务能力提升
开源代码固然好,但是对于新问题而言,还是需要团队有自己的核心技术。这个核心技术也包括针对性地改造开源代码,让它更适应于自己的业务。
逻辑非常重要。
身经百战同时也不要忘记思考,这个才能带你脱离永远在底层忙碌的困境。
人人都爱能解决问题的人,重复的问题大多数人能搞定,新问题或难题需要高手。
所以,我的认知是高手不会落寞。
学习能力
人是需要自我升级的。
这个自我升级主要是指认知。
所以,保持阅读是非常重要的。
专业论文
行业动态
新技术
作为一个纯粹的技术人,这些不可少。
认知提升
沟通技巧
基本的常识与见解
基本的形态体态礼仪
人是社交动物,能力越大影响就越大,所谓影响就是与更多人的社交或者互动。
而这些都需要学习,并且是长期的学习。
投资能力
如果长期在一个公司,后来终止了。
如果长期在一个行业,后来终止了。
那个时候,用什么养活自己呢?
挣钱并不算耻辱,是基本的生活能力。
我个人而言,我计划这么做。
年轻时多买实物如房子。
薪水再高点时,追求一些高风险的理财产品。
提高业务能力,提高工资收入。
尝试副业,如技术网站上的付费专栏。
最后
需要说明的是,说是面试其实是我个人的反思。面试是双方选择的结果,不代表面试者本人不行。
按照他的履历也许可以找到更理想的职位。但就我个人而言,我并不希望自己 10 多年后变成这个样子,为此我给自己提个醒,告诉自己要干些什么,怎么干,仅此而已。
好了,重申一些概念。
1、并不是因为年龄大的问题,面试是一个双向沟通的问题,电话面试的时候我都是用请教的态度去和他沟通的,不只我一个人和他面试过,另外一个同事面试他后也没有给予考虑。
2、公司团队的发展需要合适的人才,是有个坑位才有个招聘需求,现在团队需要的人是要带新人的,这一点我觉得不合适,所以没有考虑。
3、再谈技术,有些人把夸夸其谈和技术不好联系在一起了。所以如果没有通过面试就要归咎于面试者喜欢吹牛的人。我本身是个技术人,也想招实干的人进团队。但如果你觉得把算法逻辑捋清楚是一种吹牛的能力的话,我无话可说。我作为面试官,这点要求也有错?
4、至于所说的优越感,没有。在面试前领导跟我说:“面试后告诉我一个答案,你不能草率说不行,也不能轻易说行,你思考一下,你给我答案是基于什么。”我只是履行一份差事而已,所以别说我有什么优越感。
5、大概很多人会愤愤不平,为何要这么对待我们程序员。IT 行业是个迭代周期非常短的行业,我自己也时常思考未来的出路。但一码归一码,就我而言,一直学习下去,stay foolish stay hungry,我不会抱怨什么,选择这个快速的行业,我选择了它,我就会尊重它。
6、这文章是我个人反思,你可以说我错了,但我没有攻击任何一个人,我觉得我的未来不要这样,不代表别人不要这样,也不代表别人要这样也不行,只是我不要这样,我知道懂得的人会懂的。
如何从平庸走向理想?
我认为程序员只需分三类:天才的程序员、理想的程序员、平庸的程序员。天才的程序员我只敢说接触过3个,这是天命7分由你是颗精子的时候就已决定,拥有绝佳的数学天赋、冷静致密的逻辑、为解决难题宁愿不眠不休而深以为乐的技术热情;3分来自起步要早早早,恨不得同龄人玩泥巴的时候就得开始玩电脑,大学毕业前就突破一万小时法则,后面的已是游戏人生。
天才的程序员可遇不可求,更不能长有,我看到的90%仍是平庸的程序员。IT时代的膨胀,已让程序员如同文艺复兴时的印刷匠一样的普通,多数投入祖师爷门下的人,仅是为了更大的饭碗、更高的待遇、更好的生计。平庸的程序员编写腐烂的代码,没有规范和一致性,固守旧世界的语言,还好谈论大的架构和性能,说的比做的漂亮。
而毫无例外的,他们认定技术没有出路,做产品、营销和管理的是更高大上的手艺,而他们当中的99%,又会自然流露出自己恰巧具备了那方面的天赋,至于进程为什么会崩溃这样的小问题是不屑于去了解的。
而我最喜欢和理想的程序员相处,恨不得与他们同吃同住,如果允许,我希望我的队伍能插满他们的旗帜。理想的程序员心眼儿不坏(他们从来都不是办公室政治的宠儿,是一群单纯明亮快乐的手艺人),有天真烂漫的好奇心(他们的眼睛里经常闪着「哇,这个是怎么做到的!」),永远精益求精(他们的口头禅是「我再研究一下」),还乐于分享(他们活跃于GitHub、各大问答社区和你的身边,舍得将宝贵时间用于帮助新手)。
是的,他们不需要被管理,只需要给一个大的方向,总能回报以意想不到的结果。
理想的程序员与平庸的程序员只有一墙之隔。两者的差距只有6个一点点,而人与人的差距,正是在这日积月累的一点点中,被永远拉开了。有意思的是,我发现这6个一点点都和意识有关,也就是程序员和其他一切新兴产业的工种一样,只需要意识加上时间的锤炼,人人皆可达到理想的阶段。理想的程序员必然也是一个优秀的problem solver。
专注眼下
思考力与推动力
Never Say No
投资未来
善用工具
管理时间
参考:Web寻梦师 https://www.jianshu.com/p/e99ee8e894f3
frank909 https://blog.csdn.net/briblue/article/details/103609814
本文转自:嵌入式ARM
1.嵌入式就业的那些事~
2.FreeRTOS 10.3.0正式发布,源代码迁到Github!
3.2020年第2期《单片机与嵌入式系统应用》电子刊新鲜出炉!
4.简单快捷又可靠!一起来体验KE系列MCU的电容式触摸方案
5.Arm宣布推出Cortex-M55核心和Ethos-U55 microNPU,瞄准低功耗Edge AI
6.ANSI C、ISO C、Standard 是什么关系?
免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。