我们公司招聘机器视觉软件工程师,坚持使用C#作为开发语言,我劝公司,不要在一棵树上吊死,应该再考虑下C++和Python,但是,公司始终不同意,最终导致一直招聘不到合适的人,而公司的项目又多,只能靠现有的两个人硬撑着,我想,万一其中有一个机器视觉软件工程师坚持不住,离职了,那么可能会导致另外一个也离职,最后视觉项目就断层了!

打开网易新闻 查看精彩图片

其实,公司现有的两个机器视觉程序员就包括我,另外一个工作经验尚浅,一般都是拿我已经写好的视觉框架改改或者维护我已经写好的项目,而现在项目压力太大了,我不知道我能撑多久,一旦我离职,另外一个就得担当起所有新项目的开发和旧项目的维护,我知道,这个责任他担不起来。

其实我也一样,现在起码还有人给我搭把手,如果另外一个人离职了,所有项目都压到我头上,那也只会加速我离职的时间。

因此,为了公司项目考虑,我向公司提出了建议,在招聘机器视觉软件程序员的时候考虑一下C++和Python技术栈的,死磕C#很容易出现技术断层的情况,虽然我也是C#程序员。

但公司始终不同意,觉得使用一个技术栈,大家都是C#,那么至少在有人离职的时候,其他人可以立马接手项目。

这个考虑是好的,但前提是招人这块的效率得跟上,可是,不仅仅是机器视觉,C#程序员不管是网站开发、应用软件开发、上位机开发还是机器视觉开发,本身就都比较难招,合适的可能一年半载都遇不到一个,再加上我们公司对开发人员技术要求比较高,这就难上加难了。

况且,并不是所有机器视觉项目都适合C#,像那种对检测效率比较高的项目,其实我光用C#也拿不准,毕竟水平有限。

像这种项目,其实C++程序员更适合,我过去的开发经历当中,像那种一秒要检测几十张图片的项目,基本上还得需要C++程序员去写,检测效率才跟得上。

而涉及到深度学习的,这本身就是Python的战场,几大深度学习框架基本上都是围绕Python展开的,不是说C#不能写,但是像Onnx这样的深度学习平台,调用的还是Python生成的训练集,所以,深度学习虽然可以使用C#去调用检测结果,但是训练部分还得靠Python去完成。

当然,深度学习这块我水平有限,若有全栈都是C#的方法,也欢迎懂的告知!

总的来说,如果在机器视觉领域,光招聘C#我觉得是不靠谱的,合理的人员配置应该是C#加C++或者C#加Python,C#用来开发一些对效率要求不高的项目,C++用来开发一些对效率要求比较高的项目,Python用来开发需要深度学习的项目。

结语

至少,我过去的工作经历当中,就没有公司所有视觉开发人员都是C#的,基本上都要配置一些其他编程语言的机器视觉程序员。

而现在能独立承担开发项目的C#机器视觉程序员少之又少,好多还是围绕海康那套视觉框架做开发的,对于我们公司来说又不适合。

我上家公司本来是C#加C++这么配置的,后来我离职以后,因为C#机器视觉程序员实在难招,最后直接就改成纯C++技术栈了!C++程序员工资本来就高,要不是没办法,我上家公司也不会贸然抛弃C#的!

可是,公司管理层不懂技术啊,他只要结果,HR招不到人他觉得是HR的问题,项目急,我们两个人搞不定,他会觉得我们俩不够努力,当你给他提建议的时候,他又不听,所以我也没办法了!