初级程序员找到工作就该“感恩戴德”?
初级程序员能找到工作就应该“感恩戴德”?这种说法简直太无耻了。
只不过是一份工作——初级程序员的工作也是工作。不要再根据你心中的评判,而随意地与他们划清界限。推特上的这条“初级程序员”的消息让我感触很深,所以我觉得有必要展开讨论。
我不止一次地听见有人说“能找到工作就应当感恩”。
很多时候,麦当劳的收银或者亚马逊的体力劳动者等工资很低的劳动者要求涨工资,以求不依赖政府或社区的补助也能养家糊口的时候,就会有人用这样的言论攻击他们。说这些低收入的人应该“感谢”他们得到的一切,然而说这话的人往往没有体验过这类的工作,或者在很久以前就走出了这个圈子。他们认为自己在经验或经济条件上与低收入的人不同,然而论及自身时,他们又会说应该根据提供的服务来衡量那些专横的高管获得的报酬。“雇主不需要雇佣这样的人。”“这些人的工作太小儿科了。”这种话我们听过太多了。
在软件开发者等知识密集型的劳动者中,“感恩”通常更像一种被动的攻击,经验丰富的开发者(后面统称“高级”开发者)对初级开发者的施压。
他们贬低初级开发者的价值,对他们说能得到这份工作完全是出自公司的仁慈,或者罔顾事实说初级开发者不胜任这个职位。这与低收入劳动者的情况非常相似,这句话被当作武器,是因为“感恩”能带来道德上的优越感,这些人利用这样的言辞与处于其他职业生涯阶段的人划清界限。这种界限让高级开发者对那些敌视初级开发者的行为视而不见,例如压低工资、霸凌,或者干脆不雇佣初级开发者——这种按照“能否胜任”工作来划分劳动者的形式,实际上方便了某些人肆意评判他人而不用承担被扣工资的风险。
毕竟,没人会质疑高级开发者是否胜任工作,也没人要求他们“感恩”。他们的邮箱早就被猎头的邮件狂轰乱炸,甚至觉得猎头很烦。他们从来不用担心自己辞职后能否找到工作,他们辞职的原因不外乎是对现状不满或者只是无聊。他们会竭力让你相信,这种界限是有原因的,初级和高级开发者之间存在一些本质上的差异,高级开发者更加胜任工作是因为他们夸大了初级开发者应得的报酬。
实际上并没有。我们都是劳动者,而软件开发并不需要那么多精英,因为我们占据了一块“利润丰厚”且“并非万分艰难”的风水宝地。
感知与待遇上的这种差异造成了同情心的严重匮乏,因为高级开发者的经验会不断强化资历的价值,从根本上对初级开发者造成持续的负面压力,他们因为工龄短就被当成犯罪。这种同情心的问题在那些对自己在等级制度中的地位不满的人群中普遍存在,而且也暴露出这群人就是这种言论的鼓吹者。他们告诉初级开发者,外面的世界更加有爱,或者他们会找到更好的工作,因为他们的技能在市场上十分短缺紧俏。当然他们是出自善意,但也有误导性,请看这篇文章《我们并不缺乏软件开发人员》(https://blog.hackerrank.com/unlocking-trapped-engineers/)。
这是开发人员资历的短缺,而且是自己造成的。招聘过程中有一个强大的过滤器:将初级开发人员排除在外,即便是不需要领导力或设计敏锐的职位,实际上初级开发者可以在与更有经验的开发者一起工作的过程中获取高级技能。这个过滤器是“入门级”职位提出的多年开发经验的要求。该过滤器是一个技术清单,尽管对于这个职位来说上面的有些技术可能会用到,而有些技术一般都不会用到。只有你为一个公司工作,该过滤器才会将这些经验算在内,比如我用Python编程已经差不多7年了,但是我曾遇到一个非常粗鲁的招聘经理在电话里对着我大喊:“哪家公司?”这种虚构的短缺不会因为高级开发人员利用他们的工作年限凌驾于初级开发者之上而长久不衰,也不会因为领导信任初级开发者有能力做有风险的工作,并坚定地站稳脚跟而恶化。告诉初级开发者他们可以承担高级开发者能够担任的风险,因为资历高的人的特权就是让初级开发者失败。
不公平的现实是:大家心目中的初级程序员会“临阵脱逃”或普遍没有价值,因此那些有风险的工作一般不可能给初级程序员。
除此之外,那些为初级开发者说话的人通常都会过分地自我鼓吹,富有同情心,或者眼都不眨地说他们“丢尽了脸”才获得了第一份工作。但他们建议的行为不是他们在初级开发者时被雇佣的原因,也不是将他们培养成高级开发者的原因,在有了经验以后他们突然变得好心也没关系了,因为他们可以在简历上写“4年经验”。我同意为软件开发的未来而努力的理想主义,但是如果你本身没有这样的经历,那么做出此等建议无疑是修正主义和高度的不诚实。我知道说出来很残忍:成为一名成功的软件开发人员所需的只是一份良好的态度,坚持不懈地学习,但是当你面对一群低效的工作人员负责招聘初级开发人员时,这些优点与你拿下第一份工作一毛钱关系都没有,你还不如坚持说你可以“在工作中学习”。
如果你在找这篇文章的中心思想,那么就让这句话成为一句口头禅:“我的工作也是工作。”软件开发是一种专业,软件开发人员想在这个专业内建立职业生涯,而从事这种工作的人就是软件开发人员。或许我们在不同的职业生涯阶段,但是彼此的工作并没有特别之处或魅力,例如做销售还是向一个项目贡献你的体力,高级人员和初级人员都在做的工作。抵制诱惑,不要根据你心中的评判,而随意地与他们划清界限。
事实上,一名初级开发人员“应该”像高级开发人员一样工作;,每个高级开发人员都是从低级开发人员开始的。另外,请参照这篇文章《如果一家公司不雇佣任何初级开发人员,那么它也不配雇佣高级开发人员》(http://isaaclyman.com/blog/posts/junior-developers/)。如果你们公司不雇佣初级开发人员,那么号召“每个人都应该编程”,却给年轻一代克服等级差别的错误希望是不合情和,应该受到道义上的谴责。在美国这种情况尤其如此,我来自美国,每当有人说你应该“感谢拥有一份工作”的时候,感觉就像在说“感谢拥有健康保险和独立生活的保障”。
高级开发人员是软件开发人员,初级开发人员也是软件开发人员——你是一位当之无愧的软件开发人员。
原文:https://dev.to/lethargilistic/you-deserve-to-be-a-software-developer-14l8
作者:Mike Overby,技术播客whiletruefm的联合主持人,Programming Discussions的版主。
译者:弯月,责编:郭芮
2018 AI开发者大会
◆只讲技术,拒绝空谈◆
2018 AI开发者大会首轮重磅嘉宾及深度议题现已火热出炉,扫码抢“鲜”看。国庆特惠,购票立享 5 折优惠!