「为什么招个程序员这么难呢?」,相信这是很多互联网公司 HR 共同的心声。很多互联网公司对技术职位的招聘貌似从来没有停止过。因为市场对技术的需求太旺盛,所以技术跳槽相对来说也是最频繁的,到处都是高薪的诱惑,想不动心都难,所以就导致了很多公司感叹「敲个代码,怎么能要那么多钱呢?」

移动开发精英俱乐部最新一期的讨论,就是围绕「为什么总是招不到程序员?」这个话题展开,我们一起来听听大家的吐槽和心声吧!本文系 ITOM 管理平台OneAPM 整理:

开篇,大吐槽

小熊先生:应该是没有达到条件吧?「钱多,活少,离家近」。

你饿不饿:这不是应该老板问的吗?为什么问程序员?

露露:因为老板不知道程序员的想法,应该是很多方面都不太满意。

Rory He:因为公司加班太严重!

小笨狼:钱是主要问题。

小熊先生:也可能心累了。

露露:加班还好吧?主要操心多。我不主动加班,除非是我的问题。

小熊先生:没有成就感,因为程序员几乎没有不加班的?

Luke:做的不开心,但是什么助长了加班的「气焰」?而且很多程序员即使是给高新也不愿意加班的,他们下班宁愿做点其他的副业。

心灵诊室:是因为很多管理者,尤其是那些不懂技术的 BOSS,觉得程序员职业跟那些搬砖的职业一样,工作时间越长产出就越高。

招不到程序员的原因可能有哪些?

王建星-ios:供求不平衡。

Kiss小绵:应该是招不到合适的。经验不足,还漫天要价。

晓书生:合格的程序员少,假货太多。大学的教育体系,不能培养出合格的程序员也是问题。其他专业人员的培养很成熟,大学毕业就能当初级使用,而程序员就完全不行。

露露:企业想要大牛,但是大牛看不上。

Rory He:主要原因是面试很难考察一个人的技术吧?

Luke:好的技术总监和产品总监很重要,要会识人!

廖锦幸:技术不好的公司看不上,公司看得上的人家又不要你。二八原则,大部分机会都集中在优秀的那波人手里。

伍星-优才学院:好程序员太少!

心灵诊室:我们现在招程序员的方式是不是有 bug? 短短几个小时就能准确判断一个人的能力和值多少钱了吗?面试就确定工资,尤其是转正后的,是不是太过儿戏了? 个人认为,是不是面试时确定一个试用期的时间和薪资,如果非常 OK,再根据表现和能力来定薪资,是不是更科学点?

薛雪峰:招不到人的话,说明公司不够优秀。想要和优秀的人才一起工作,自己也要优秀,其次才是钱。

Noark9:其实行业里面,缺真正非常优秀的程序员。

薛雪峰:优秀的公司也会遇到招人难吗?

肖迪:大公司应该会稍微好一些吧。

Luke:大公司招的都是人才,只要你是高质量的合格的自然有人招你,即使你要求的薪资很高很高。

晓书生:程序员顶级和普通差别太大。

Luke:个人觉得一个好的程序员,薪资不应该放在第一位考虑。

心灵诊室:有些不好的程序员,即使不考虑费用,作用是「负」,你们试过吗?比如说写的代码烂,又不愿意承认,还跟你争吵,还要跟他解释一堆,不仅影响你的工作状态,还浪费时间。优秀顶尖的程序员与差劲的程序员,就像一杯顶级洋酒于一杯化学剂调配出来的果汁?(点评:说的好!)

罗飞:其实,在做编程的路上真的会遇到很多困难,没有一颗强大的内心很难坚持,很多人在程序路上遇到困难就逃避了,就转行了。我见过一大批计算机专业毕业的学生,整个班最终从事计算机事业的人没有几人,坚持做程序员的往往是穷人家的孩子,他们更能吃苦。

Luke:不合格的,在面试时就不应该放进来不是么?开头不好,会给未来带来很多麻烦。

心灵诊室:但是有些人你在面试时无法判断是否合格。

三军统蟀:特别典型的问题员工,不主动学习,拿工作年数说能力;自以为是,但代码写的很烂;挑拨团队和睦,不懂沟通,遇事大吵大闹的;盯着公司的一点蝇头小利,想方设法不惜频频说谎占便宜的;有一点消息就四处打听,感觉风声鹤唳,草木皆兵,到处扩散制造人心恐慌的。

面试程序员的技巧,都有哪些?

心灵诊室:因为以前没有面试别人的经验,可谓吃尽了苦头,大家面试人有什么实用的技巧吗?比如,我之前看过一篇不错的文章提到过,询问对方看过的最好的技术书籍,和推荐书籍等等。

王建星:如果是毕业生的话,主要看学习能力。

露露:我更看重人品吧!大家能分享下带团队的经验吗?

心灵诊室:人品当然是很重要的,人品就像你选酒喝时,最好喝。但是如果会损害健康甚至有毒,那也不能要吧!

Rory He:共同成长,给成员独立承担责任的机会;做好技术预案,做好备选方案,能够随时准备收拾残局。

Luigi:拥有两三年工作经验的最好,除了技术之外,对一些问题还是要有一些自己见解。

心灵诊室:个人比较向往像 Instagram、WhatsApp 这种团队,他们始终都只有四五个人,在这种小而精的团队中,一个优秀的工程师真的可以顶10个。还有像 Google、Microsoft、Apple 在开始组建时不都是只有2个人吗? 阿里巴巴组建时召集了18个人,这都是比较罕见的案例吧?

三军统蟀:选对人,看对事,确定培养对象,形成团队骨干!

肖迪:现在太多的程序员,不是真正喜欢编程,而是看重这行的薪水。

心灵诊室:我现在觉得,好的优秀的团队,真是有点可遇而不可求了,我们主动刻意去朝寻伙伴,是不是一个错误的方向?不过对于那些有好的 idea 又不懂技术的人来说,也没有办法。如果我们程序员(尤其是全栈的)有好的想法,是不是应该自己先做着(虽然慢点),然后也留意身边有没有认可自己想法合拍的伙伴,这样会更好点?

而且,就像大家说的,现在我们最主要的问题是,大多程序员都是为了混饭吃而做程序员的,不是真正热爱开发的。

清风:不热爱编程的程序员很可悲。

Rory he:简历浮夸不考虑,面试时基础不好不考虑。还有培训班出来的,基础背的再好,了解编译原理吗?数据结构和一些平台机制真的了解吗?

三军统蟀:现在,创业公司遍地起,人才还是供需不平衡。加上很多培训班的出来就可以干活了,就算这样,还是供不应求。

Leo王小宁:我一听基础背的滚瓜烂熟,而且都是标准答案,就直接过滤了。

Noark9:程序员自己要想办法提升,团队永远不会像自己想要的,也要慢慢的去想办法影响团队,其实要是能到一线城市工作肯定是最好的锻炼了。

心灵诊室:大家有没有遇到过那些工作比较久的,面试的时候说 「语言都不是问题,编程都是想通的」,说他对公司用的那门语言自己用得少没关系,结果写得代码烂的要命?

王建星:那就问思想,聊框架,谈具体的项目。

RoryHe:招摇撞骗吧!工作久了还停留在一个基础的级别,就要考虑一下这个人的学习能力,个人思想问题了。

小笨狼:语言是相通的,但是不熟悉语言也是一件比较棘手的问题。

Noark9:其实我觉得这种的写个小程序来看看最好判断了,可能会出很多坑,让他给你讲思路。

露露:让他们讲实现的原理。

Noark9:架构不一定所有人都能说得清,但是实际问题的思路一定会有。

宫廷:一定要上机操作,不光看编程能力,还得看手速,不能盲打键盘的就不要了。

心灵诊室:例如 Node.js 那些人说 JS 他肯定熟悉(写过前端),但是用的 express 框架 midware 的思想一点都不懂,大量重复代码,郁闷得要死。

Noark9:这种情况要在面试的时候问的,如果实现、技术细节等什么的都不知道,那就不符合需求了,大公司一般喜欢手写代码。他们面试人的时候,就问有没有看过哪些好的技术书籍,某某书看过没有?类似于这样的问题。

Rory he:如果觉着候选人各方面都不错,基本上后面的面试,更像和候选人交流技术和思想。

心灵诊室:是的,我面试时经常是以一种探讨和疑问的语气,而不是拷问那样。

Leo王小宁:我觉得现在经验多的程序员也分几种,比如对技术有热情的(技术宅),比如应用型技术,还有一种混子型。

为什么还是找不到程序员?

Noark9:感觉还是不懂技术的老板不重视技术,因为程序并不像是土建之类的工作,土建搬砖是看得见摸得着的,所以老板们觉得不容易做,而程序太虚幻了,很多老板觉得,只需要几个大学生,几台电脑,动动脑筋就好了,显然这是不行的。

罗飞:我认为,首先是市场需求变大了,现在传统企业都「互联网+」 ,传统企业都需要程序员, 还有大众创新万众创业,各个创业团队又需要程序员, 互联网就像以前的电灯一样, 正在加入家家户户,即使是农村也迟早会接入电灯,但是市面上没有这么多「接电员」。

但是有个奇怪的现象,那就是企业天天喊招不到程序员,而刚毕业的计算机应届毕业生或者刚从培训机构出来的程序员又喊找不到工作, 这是为什么呢?

心灵诊室:宁缺毋滥,这个道理企业也懂。

罗飞:我们发现不是缺程序员,或许是缺好程序员,很多企业要找有工作经验的,三年工作经验以上的,不要初级程序员。难道市面上就没有初级程序员能干的事情吗?

你饿不饿:很多刚毕业大学生,要求很高,但企业给的并不高。

伍星-优才学院:不是市场不要初级程序员,而是初级程序员很多都是不是合格的程序员,或者企业能够带他们的工程师也很少。

罗飞:我觉得,就技术行业而言是标准化不够,导致做技术的要了解各种东西才能把技术做好,不能只了解一点东西就能做事。不像其他行业,有的行业标准化已经更高了,生产汽车的工人,不用懂整台汽车的运作原理,只要能生成自己那个小零件就行,不用技术很高的人就能做。

而技术想要细化分工,就要标准化,需要前后端分离。但如果前后端分离后,因为没有标准化东西,反而沟通成本变得更高,效率也变得低,那么企业宁愿不前后端分离,这就需要全栈工程师。越是这样,初级程序员越找不到工作,而且全栈明显不是解决问题的最终途径, 我认为,标准化才是。

个人看来,全栈工程师是最近几年市场迫切需要的, 这只是没有解决方案的解决方案, 我觉得大家更要在标准化层面寻找解决途径。

晓书生:程序如果标准化了,机器就直接做了,大部分程序员反而就失业了。

金豪:现在万众创业,而且大家都在拼速度。创业团队通常在初期不会找初级程序员,需要的是能独当一面或几面的程序员。 那么初级程序员只会到那些愿意花时间精力培养他们的公司。可是通常培养出来到了收割的时候,他们成了能独当一面的程序员,有可能经不起各种有活而离开培养他们的公司去创业。这样就打击了那些愿意投入来培养初级人才公司的积极性,从而导致愿意招收初级程序员的公司减少。

这样大家就越来越喜欢招那些能拿来就用的程序员了。 但这样会造成一个供给关系的变化。所有人都需要拿来就用的程序员。但成长为「拿来就能用的程序员」的供给又跟不上,所以就越来越缺少可以独当一面的程序员,这就导致很难招到程序员。

潘卫杰:不喜欢招初级尤其刚毕业的,因为他们大多浮躁,他们还想体验下传说中的跳槽。虽然我们也是这么过来的.....而且新人懂得感恩的也不多,不值得太花费心血培养,又不是自己的公司,还得忙自己的事情。

怎么才能找到合适的程序员?

金豪:如果有合理的晋升制度和晋升空间的话。不跳槽也可以涨工资,不过跳槽的这个选择通常涨的快些,就看能不能坚持了。

罗小希:我是HR,先说说我的看法:一个初级程序员的成本(时间成本、沟通成本、培养成本、薪酬成本 )需要和成熟度对比。另外,初级程序员目前大部分浮躁,要挑个踏实的、好学的,需要的周期也比较长。那么就简单的方式就是提高要求,招聘一些中高级的程序员, 虽然显著成本上来,但是隐形成本下去了,此外,试错成本也下降很多。

心灵诊室:人是有妒忌心的,一个公司一般不太乐意给一个员工加太多的薪水,因为上个月你只需要15K,这个月开始要给你22或25K,即使你的能力真的值得,公司也还是不太能接受。因为公司会很妒忌上一个月的自己!这是妒忌心在作怪吗!?

但是新来的一个人,可能能力跟你一样,要25K ,你可能又可以接受。因为没有亲近的可以对比,就没有妒忌,就好像你会妒忌你身边的朋友比你过得好一些,而不会妒忌马云。

肖迪:真的做的好的程序员,也都是靠自己努力和真正爱好的。

罗飞:怎么招到合适的?

阿尘:太强的可能不需要,也很难留下来。

心灵诊室:合适,就是能做到你想要做的东西和产品出来。

罗小希:企业不同状况,招聘的需求也不一样。 比如刚开始肯定要强些。 这样考虑周全,未来更改也方便。维护阶段,好用就够。还要从水平、个人未来发展、兴趣等多方面考虑。不可能找到100%合适的。

阿尘:程序员和公司都开心,才可以说双赢。

潘卫杰:特殊事件可以「唯才是举」,钱够就能吸引有能力的人,最终还是靠自己的品行去吸引人品更好的人,人品好,踏实做事,能力差不了。

煎饼: 程序员要存在感,公司要盈利。盈利靠的是运营和商务人员,所以最后程序员都被淡化了。

Jack:看预算多少吧?预算和匹配度成正比。

煎饼:HR同学,我问个问题,招人首要考虑的是为公司节省成本,还是招到一个合适的员工?

罗小希:合适。成本除了工资成本,还有时间成本和机会成本。

心灵诊室: 请问个问题,如果你们一个程序员工资15K,但是觉得他的能力不错,值20K甚至更高。例如说他想要离职,如果有一个能力跟他一样的人需求20K,你们肯定会满足。那你们会主动去给这个程序员加薪吗?

罗小希:原则上,半年要对小伙伴做一次技术评估。

Leo王小宁:个人认为,涨薪这个事儿,一个看市场,一个看公司文化。除非你足够好,公司为了留你,会主动涨薪。

:加薪之后他选择留下了,是不是就算拉黑了?下次的绩效考核或是公司要裁员会不会优先考虑呢?

Leo王小宁:那这种公司,还呆在这里做什么呢?

馍馍帝:涨薪是正常需求啊,技术差的才担心找不到下家。所以跳槽时跟新公司大部分事情都谈好。

Jack:我觉得表现好的话还是主动给加,也是对人家的认可,被提出来还是很被动的,花了钱也不讨好,视而不见结果还可能还会导致人员流失,走的往往都是自己满意的。

张宜彬:一般来说一年两次涨薪机会算正常吧,看自己争取了。我的猎头朋友,他推的大多数人,现在已经很多是总监级、副总裁级别的了,猎头还是很看眼光的!所以要和靠谱猎头保持良好关系。 为什么总是招不到程序员? 技术分享