关键要点
摘录自John Sonmez的《软件开发人员职业指南》。获取完整电子书,请访问此处。
每周我都会收到软件开发人员(其中一些经验丰富)的邮件或YouTube视频评论,他们似乎找不到工作。
我听过各种各样的借口或理由解释为什么他们找不到工作。一些开发人员抱怨资深开发人员让年轻开发人员很难有机会——我们占据了所有好工作。与此同时,一些开发人员抱怨没有人想雇佣资深开发人员,每个人都有年龄歧视。其他人抱怨这与他们的种族、宗教或政治信仰有关。还有一些人抱怨他们的技能毫无用处,没有人想雇佣一个没有使用最新技术的开发人员。
虽然其中一些说法可能是真的——是的,歧视确实存在——但根本原因是这些软件开发人员不知道如何找到工作。在我撰写这篇文章时,对软件开发人员的需求量很大。许多职位都空缺着。然而,许多软件开发人员抱怨找不到工作。
怎么会这样?为什么我们行业有这么多空缺职位,但开发人员经常告诉我,他们已经申请了数百份工作,却被全部拒绝了?
问题在于不知道寻找编程工作的正确方法,我认为这是一个很容易解决的问题。在这篇文章中,我将分享我学到的帮助软件开发人员找到工作的最佳技巧和窍门。
首先,让我们看看寻找工作的传统方法,我称之为“千篇一律的方法”。
千篇一律的方法
在这方面,我将坦率地告诉你:我真的很不喜欢寻找工作的常规方法,因为它需要浪费很多精力,而且很少能带来最佳结果。
然而,与其直接跳到我喜欢的找工作方式,我将介绍一下创建简历、填写在线申请和提交简历的标准方法,大多数软件开发人员——以及大多数专业人士——都是这么做的。
我之所以要从这里开始,是因为很多软件开发人员做得非常糟糕。
我听过无数开发人员的故事,他们一天内向Monster.com上找到的每一个职位发布都发送数百份简历,却想知道为什么他们没有得到任何结果。
如果你要采取标准的、千篇一律的方法,你至少应该把它做好。我将向你展示如何去做。
数字游戏
首先,你必须明白,大多数人盲目申请工作,这个过程纯粹是一个数字游戏。这就像销售一样。事实上,你真的应该把它当成一个销售过程来对待。
创建一个销售渠道,甚至可以使用许多销售组织使用的CRM系统来跟踪你的潜在客户在渠道中的进展。你会看到这样的情况:
申请的职位 > 收到的回复 > 电话筛选 > 面试 > 录用
在渠道的每个阶段,你都应该预期只有少量潜在客户能够进入下一阶段。
例如,假设你申请了100份工作。也许你会收到30个以某种方式与你联系的回复。在这30个中,也许有7个会要求你进行电话筛选。在这7个中,也许有2到3个会要求你亲自去面试。也许你会从所有这些工作中得到一份录用通知。
如果你想要更多的录用通知,你基本上可以做两件事:
换句话说,你可以申请1000份工作,然后得到10份录用通知,或者你可以申请相同的100份工作,并在每个步骤中做得更好,你也可以从中获得10份录用通知。
总而言之,要么是渠道中更多的潜在客户,要么是渠道中更好的流动性。就是这样。
如果你想要最好的结果,那就两者兼顾。
那么,为什么这么多开发人员告诉我,他们已经申请了数百份甚至数千份工作,仍然没有收到任何录用通知呢?好吧,其中有一些运气成分,但最有可能的是以下两种情况之一:
最有可能的是两者兼而有之。但别害怕。我将向你展示如何有效地提高两者。
拥有优秀的简历
首先,如果你要玩数字游戏,你希望尽可能多地让潜在客户进入管道的下一阶段。做到这一点的最佳方法之一就是拥有一份非常优秀的简历。
如果你的简历很糟糕,而且在第一步就被过滤掉了,那么你将浪费大量时间,你的整体管道效率将极其低下。
是的,一份非常糟糕的简历最终可能会让你找到工作,但是你的简历越糟糕,为了让数字游戏奏效,你就必须申请的工作就越多。我不知道你怎么样,但我宁愿申请50份工作,也不愿申请5000份工作。
你应该做的第一件事就是让你的简历尽可能地完善和有效。我知道有些人仍然不同意我的观点,但我百分之百确信,做到这一点的最佳方法是聘请一位专门从事科技行业简历撰写的专业简历撰写人。
是的,专业的简历撰写服务可能要花费你500美元或更多,但最终,这将是你获得的好处的一笔小投资。
提高简历有效性的最佳方法之一是让经验丰富的简历撰写人专业地撰写和排版,他们知道如何为软件开发人员撰写简历。
设定每日申请目标
接下来,让我们来解决数字问题。我喜欢使用配额来确保持续取得进展。
我现在正在写一本新书。我将按时完成这本书,因为我每天至少要写1000字,每天要花50分钟来写这本书。
当你积极寻找工作时,你应该为每天要申请的工作数量设定一个配额。
这个数字取决于就业市场以及你有哪些工作机会,但是如果你目前失业并且需要找工作,它至少应该是每天5份工作。
每天尝试申请10份工作也并非不合理。
假设你申请每份工作大约需要一个小时。什么?点击“申请”需要一个小时?不,需要一个小时是因为你不仅仅是点击申请。你将通过撰写定制的求职信和修改你的简历以更好地匹配每份工作来专门申请每份工作。
这是一项大量的工作吗?当然是的!它有效吗?当然有效!
记住,我们不仅要增加管道中的潜在客户数量,还要增加每个潜在客户从一个阶段到下一个阶段的机会。
因此,如果你只在Monster或其他求职网站上点击“申请”,你将能够非常快速地申请大量工作,但是你会牺牲大量的效率。
此外,还要考虑就业市场的规模,这主要取决于你的地理位置。
如果每月有50个新的工作机会,你可以在一天内草率地申请所有50个工作,但是接下来的一两周你该怎么办?
坐在那里祈祷你能获得面试?
难道每天申请5份工作,但在每个申请上花费一两个小时,从而大大提高成功率不是更好吗?
如何申请工作
当你申请工作时,你的目标应该是让你的简历和求职信尽可能地与职位描述和你所能收集到的关于公司的任何其他信息相匹配。
其想法是,当招聘经理或审核工作申请的人查看你提交的内容时,他们会对你有多么完美地匹配感到震惊。
这并不意味着你撒谎或编造东西来放在你的简历或求职信中。相反,你应该尝试利用你现有的经验,突出与职位描述最相关的部分,删除不相关的部分(或将其最小化),并使用职位描述中使用的一些词语或措辞。
在这里要小心;你不想只是鹦鹉学舌地重复职位描述中的所有内容,因为那样的话,很明显你只是让你的所有提交内容都与他们的要求完全一致。话虽如此,你应该尽可能地匹配,而不要显得过于明显。
仔细阅读职位描述,了解工作中寻找的最重要的技能和特质是什么。
修改简历的顺序和重点,以反映这些要点,并尽可能地展现自己最好的一面。
对公司也做一些研究,并撰写一封求职信,向招聘经理推销你为什么是这份工作的最佳申请人。提及一些只有真正对公司做过研究的人才会知道的事情。
在求职信中,你应该在工作所需的技能和你如何利用你的经验来表明你与之相关并使你成为完美的匹配之间建立明确的联系。
是的,这是一项额外的大量工作。这需要额外的努力。你将不得不拥有几个版本的简历,而你申请的每份工作都将是这些变体的进一步变体。但是……如果你真的想认真找工作,并且想脱颖而出,你就必须这样做。
点击一个按钮并用相同的简历和求职信申请500份工作很容易——这是偷懒的做法。
衡量结果
当你以这种方式申请工作时,你想要做的一件事就是衡量你的结果。
你应该跟踪你申请了多少工作;你申请的日期;你是否得到了任何回应;你使用了哪个版本的简历;以及任何其他可能与你的求职相关的因素。
你想要做的是拥有可靠的数据,这样你就可以看到什么有效,什么无效。
将求职视为广告宣传活动。你必须测试各种广告,看看哪些广告能获得最佳回应。
我经常让那些我正在指导的开发人员跟踪他们原始简历的结果,然后跟踪他们使用专业撰写的简历后获得的结果。
通常情况下,他们会看到使用新简历后,他们从工作申请中获得的回复率提高了300%或更多。
你需要拥有这种数据,以便你可以改变你的计划。
改变你的计划
如果不采取行动,衡量事情是没有意义的。
当你获得关于你当前版本的简历的有效性、你撰写求职信的方式或任何其他相关因素的数据时,你应该使用这些数据来改变你的计划并尝试新的方法。
测试你的简历的新版本。也许测试不同的布局或格式。也许尝试使用时间顺序简历而不是功能性简历,反之亦然。
许多试图找到工作的软件开发人员向我抱怨说,他们已经申请了数百份工作,在申请了50份工作后就知道他们没有得到任何结果,但他们仍然对接下来申请的100份工作使用了完全相同的简历和求职信。
在我看来,这简直是疯狂的。你怎么能一遍又一遍地做同样的事情,却期望得到不同的结果呢?这毫无道理。
因此,从你的所作所为中获得反馈,并改变你的计划,直到你开始看到结果。
也许坚持同一个计划一个星期,然后在一个星期的结束时,回顾你拥有的所有数据,然后决定下个星期你要尝试什么不同的方法。如果你采取这种方法,你几乎可以肯定最终会找到工作。
问题是,大多数软件开发人员不想付出所有这些努力。他们只想抱怨,说没有人会雇用他们。
不要让自己成为那样的人。
与招聘人员直接合作
你可以采取的另一种更传统的方法来寻找工作是直接与一个或多个招聘人员合作。
招聘行业当然有其怪癖,但就申请工作而言,招聘人员可以提供很大的帮助——尤其是在你拥有有市场价值的技能的情况下。
如果你能找到一位与多家公司有联系的好招聘人员,他们可以帮助你修改简历以匹配他们正在招聘的工作,而且他们通常可以帮助你获得其中一个客户的面试机会。
然而,关于大多数招聘人员,要记住的是:招聘人员永远不想在客户面前丢脸。与招聘人员合作时,你需要让他们相信你不会因为完全搞砸面试或表现出自己没有技术能力或撒谎而让他们难堪。
尽你所能展现出尽可能多的自信,招聘人员就更有可能让你被他们的好客户录用。
试着从他们的角度考虑一下。你的表现,好坏,都反映在他们身上,并可能影响他们自己的职业利益。如果你没有胜任地表现自己,招聘人员不太可能冒险雇用你。
跳出思维定式
好的,到目前为止,我们讨论的所有内容都是寻找工作的传统、千篇一律的方法,如果你做对了,它可以奏效,但这并不是获得工作或获得高薪好工作的最佳方法。
大多数工作——尤其是好工作——都没有公开招聘。
不相信我?看看这篇《华尔街日报》的文章,文章指出多达80%的工作没有公开招聘。
你如何获得这些工作?你必须跳出思维定式。
你必须停止认为获得工作的唯一方法是寻找职位发布并申请它。是的,就像我说的那样,这种方法可以让你找到工作,但是可能有数千种其他方法可以找到工作。
不要害怕有创意。太多人认为标准方法和“最佳实践”是做事的唯一方法,但事实并非如此。
没有规则。只有指导方针。
由你决定如何最好地完成你设定的任何任务,包括找工作。下面,我将给你一些关于如何在求职方面“跳出思维定式”的想法,但这绝不是一个详尽的清单。
跳出思维定式的整个想法是你做一些非正统的事情,而不是别人告诉你做的事情。
因此,如果你勇敢并且愿意付出一切努力,请继续阅读。
建立人脉
获得未公开招聘工作的最有效方法之一就是认识某个认识某个正在寻找职位的人。在你的人脉中拥有良好的声誉,这样一来,只要有人听说你在找工作,他们就会争先恐后地试图把你拉到他们的团队中。
只有当你愿意投入时间和资源来建立强大的人脉网络时,这种情况才会发生。
建立强大的人脉网络有两个步骤:
大多数人试图以错误的方式建立人脉网络。他们等到需要工作或其他东西时,才开始“结识人”。一旦他们遇到某人,他们就开始滔滔不绝地谈论自己以及他们正在寻找工作。
没有人关心你想要什么。我会再说一遍。没有人关心你想要什么。人们只关心他们想要什么。
当你试图通过告诉人们你想要什么来建立人脉时,你是在做与让人喜欢你相反的事情。你是在教他们避免你。
相反,你需要做的是在你需要任何东西之前结识很多人,当你遇到他们时,找出你能最好地为他们服务的方法。
你能为他们做什么?你如何帮助或为他们做出贡献并为他们提供价值?
如果你这样做,你将建立强大的人脉网络,并且你将再也不用“寻找”工作了——我保证。
但这需要时间。那么你从哪里开始呢?好吧,作为一个软件开发人员,我会尝试参加尽可能多的聚会和软件开发小组。
在任何地理区域,都有很多你可以参加的每周或每月的团体。你将遇到开发人员、招聘人员和经理,并在这些地方建立许多其他伟大的联系。
作为额外奖励,主动提出向小组做演示。如果你向整个小组提供有价值的演示,你将能够快速建立大量的信誉。
记住,这是一个缓慢的过程,首先要专注于为他人提供价值。你通过投资来建立人脉网络。你必须播种才能收获。
如果你有耐心并参加你所在社区的大量活动,你最终将建立强大的人脉网络。
专门针对公司
你可以用来找工作的另一个主要策略是专门针对你想要工作的公司,而不是申请公司发布的工作。
不同之处在于,你做一些研究,找到你想要工作的公司,或者也许是几家公司,然后你将所有资源和精力都投入到找到进入该公司的途径。
当我真正寻找远程开发人员工作时——而且那时并没有那么多——我成功地应用了这个策略。我找到了一家我知道拥有完全远程开发人员团队的特定公司。我了解了这家公司。我了解了为这家公司工作的人。我开始关注为这家公司工作的开发人员的博客。我开始评论他们的博客并与这些开发人员建立关系。
下次他们寻找开发人员时,猜猜谁被这家公司的多位开发人员推荐?猜猜谁得到了这份工作?有很多方法可以应用这种策略。这是一个非常通用的策略。
事实上,我将在下面给你一些具体的应用。基本思想是你选择公司而不是工作,然后你找到进入该公司的途径。
这可能是通过找到你认识的为该公司工作的人或与该公司工作的人建立新的联系。这可能是通过为该公司提供一些有价值的东西。这可能是通过坚持不懈,让该公司的招聘经理了解你的名字,并且你不会放弃。
我妻子的一个同事热切地想为爱达荷州博伊西的一家名为Healthwise的公司工作。两年来,她申请了他们开出的几乎每一份工作。她与已经在该公司工作的员工交朋友。她坚持不懈地跟进,直到他们让步并最终雇用她。
她还在那里工作。
创造有用的东西
专门针对公司的一个好方法是为他们创造一些有用的东西,并以此来引起他们的注意。
我认识几位工程师,因为他们创建了一些使用该公司构建的软件的工具,或者他们专门创建了一个他们知道该公司可以使用该工具来更好地完成工作的工具,而被公司直接雇用。
我听说过设计师因为他们免费重新设计了公司的网站并将新设计发送给他们而被雇用。
想象一下,如果你使用了某种流行的软件,创建了一个新功能或以某种方式对其进行了改进以使其更好,然后将你所做的事情展示给构建该软件的公司。
现在,你必须增加一些实际价值,你不能只是炫耀,但是如果你免费为他们创造了真正的价值,你不认为他们会想雇用你吗?
很多人发现流行网站存在问题,然后告诉公司他们将如何改进它,但很少有人实际构建一个模型,他们在其中实际实施了解决方案以改进它。
从上层开始
这是一个来自销售的技巧:从上层开始。
当大多数开发人员联系公司以提供他们的服务并试图获得工作时,他们通常最终会从底层开始。
他们可能会联系人力资源部门、开发经理甚至个体软件开发人员,所有这些人对做出招聘决定可能几乎没有发言权——尤其是在没有职位需求的情况下。
与其从底层开始,不如尝试从上层开始。
看看你是否能找到一种方法与公司的首席执行官甚至首席技术官或工程总监取得联系。
一种方法是拨打公司的已发布号码,然后简单地要求与该人通话。
不要说你是一个正在寻找工作的求职者。相反,说你有一个独特的机遇想向他或她介绍,或者说你有一笔生意要谈。
如果你确实与这些“高层人士”中的一个进行了交谈,请保持自信并做好宣传。不要只是向他们求职。想出一些你可以为他们和他们的公司提供的有价值的东西。
询问他们是否可以把你介绍给其他人,以便你可以进一步讨论你可以为他们的公司做些什么。
这听起来荒谬吗?也许很疯狂?你可能会认为这永远不会奏效,对吧?好吧,这就是跳出思维定式的重点。很多人认为他们必须从底层开始或从前门进入。
没有理由你不能与公司的首席执行官或首席技术官会面,并让他们把你推荐给招聘经理,说:“我想要这个人。你有没有可以让他加入的地方?”
成功的企业销售人员一直都在使用这种技术。没有理由你不能也这样做。
利用入站营销
这可能是我最擅长敲打的鼓。
我已经发布了一个关于如何将自己推销为软件开发人员的完整课程,该课程基本上教你如何利用入站营销来让你获得工作,而不是你去寻找工作。
我自己也成功地使用了这种技术。事实上,你阅读这篇文章的全部原因是我在我的职业生涯中使用这种技术取得的成功。
无数的机会都向我涌来。我已经收到了数百份工作邀请,在世界各地的活动中发表演讲,并且由于入站营销而极大地改变了我的人生轨迹。
那么,入站营销到底是什么呢?
很简单。它只是创建内容或其他一些价值,让人们来找你,而不是你去寻找他们。
作为一名软件开发人员,你可以建立博客、制作视频教程、撰写书籍、撰写文章、出现在播客中以及许多其他事情来建立声誉,让你的名字广为人知,并让人们——以及机会——来找你。
有些人可能会称之为“成名”的方法,但你不必成名才能让它为你工作。
你只需要在一个特定的软件开发领域中闻名即可。
关键是选择软件开发中的一些非常专业的领域,并成为该领域的专家。该领域越小,你成为第一名的可能性就越大,这应该是你的目标。一旦你建立了这个专业领域,工作就会来找你。我保证。
采访面试官
这是一种通过后门进入并直接通过守门人的方法。
获得机会的一个好方法是在当时可能没有空缺职位的情况下,就是采访面试官。
使用此技术,你将与你想要在其中获得工作的公司中的联系人交谈,这可能是开发经理、首席技术官、技术总监或其他具有某种招聘决策能力的人。
你将告诉这个人你正在为撰写的一篇文章研究信息,或者你希望采访他们以创建播客。
你甚至可以说你最近才进入这个领域,并且你想询问一位经验丰富的人关于这个行业的问题。
其想法是找到某种方法进入办公室并与这个人进行交谈。
大多数人都很乐意抓住免费宣传的机会,或者有机会帮助有抱负的软件开发人员更多地了解这个领域。
你是否最终发表了采访并不那么重要——尽管我认为你没有理由不这样做,因为其他人正在为你提供你可以发布的免费、有价值的内容。
在这一点上,你只是在播种。
现在,你与你想要工作的公司中有人认识你,并且可能喜欢你,因为人们往往喜欢对他们最喜欢的主题感兴趣的人:他们自己。
几周、几个月后,或者当该公司碰巧有空缺职位时,你可以跟进。
如果你在你的博客或播客上发布他们的采访,你也可以跟进。
事实上,如果你要应用此技术,为什么不采访你所在地区所有顶级科技公司的首席技术官呢?
然后,你可以制作所有采访的综述文章,将其发布在你的博客上,并从一些入站营销中受益。
坚持不懈
太多人太快就放弃了,因为他们不理解或不相信坚持的力量。
是的,通过过于坚持和烦人可能会烧毁桥梁。但是,你必须比你想象的更进一步才能达到这一点,即使那样,如果你无论如何都得不到这份工作,你也没有什么可损失的。
别误会我的意思。我不是说要过于咄咄逼人,你不能以蛮横的方式获得工作。你应该做的是不断跟进,改变你的策略,并且如果你真的想获得生活中最好的机会,就尽可能地努力前进。
门不会总是为你打开。有时你必须用撬棍撬开门。在你尝试了所有这些技术之后——不止一次——不要放弃。
下一步行动
通过我在本文中介绍的技术,你比我在这个行业17年中遇到的大多数软件开发人员都更有准备获得有益且高薪的工作。
然而,我仅仅触及了你作为开发人员进一步发展职业生涯的步骤的表面。
事实上,我已经为那些想要在职业生涯中成长并获得更多收入,同时从事他们热爱的工作的开发人员编写了一整本书。
它被称为《完整的软件开发人员职业指南》。有关更多信息(以及免费访问),请点击此处。
关于软件开发工作的常见问题解答(FAQ)
软件开发人员工作需要的主要技能包括熟练掌握Java、Python、C 等编程语言。此外,对数据结构、算法和软件设计原则有良好的理解至关重要。开发人员还应该具备解决问题的能力、分析思维能力以及理解用户需求的能力。熟悉Git等版本控制系统和敏捷等开发方法也很有益。
为了提高获得软件开发人员工作的几率,专注于构建一个强大的作品集,展示你的编码技能和项目。参加编码挑战并为开源项目做出贡献。人脉也很重要,因此要参加行业活动并加入在线社区。持续学习并掌握最新技术也可以让你更有优势。
软件开发人员在团队中的角色包括设计、编码、测试和调试软件应用程序。他们与其他团队成员合作,了解用户需求,提供技术解决方案,并确保软件的功能和性能。他们还参与代码审查并为提高团队的技术知识和效率做出贡献。
可以在Upwork、Toptal和Developers For Hire等各种在线求职门户网站上找到远程软件开发人员的工作。这些平台将企业与全球的自由软件开发人员联系起来。你可以创建一个个人资料,展示你的技能和作品集,并申请与你的专业知识相符的工作。
软件开发人员的招聘流程通常包括筛选电话、技术评估和一次或多次面试。技术评估可能包括编码挑战、解决问题任务或审查你过去的项目。面试评估你的技术知识、解决问题的能力以及与公司的文化契合度。
为了准备软件开发人员的面试,请查看职位描述并了解所需的技能和技术。复习你的编码技能,并准备好当场解决问题。研究公司、其产品及其文化。在面试中,展示你的解决问题的能力、技术知识和对软件开发的热情。
软件开发人员有各种职业发展机会。他们可以晋升为高级开发人员职位、首席开发人员职位或架构师职位。他们也可以转向项目管理、产品管理,甚至自己创办软件开发公司。持续学习并在不同的项目和技术中积累经验可以帮助职业发展。
可以通过关注行业博客、参加网络研讨会和会议、参与在线社区以及参加在线课程来掌握最新的软件开发技术。定期练习编码和从事个人项目也可以帮助你学习和适应新技术。
软件开发人员面临各种挑战,例如理解复杂的业务需求、掌握快速发展的技术、调试和修复代码问题以及有效地管理时间以满足项目截止日期。他们还需要与团队成员和利益相关者有效合作,这在远程或分布式团队中可能具有挑战性。
提高你的编码技能包括定期练习、向他人学习以及从事现实世界的项目。在CodeSubmit等平台上参加编码挑战以磨练你的技能。阅读和审查他人的代码也可以提供宝贵的见解。此外,为开源项目做出贡献可以让你体验大型代码库和协作开发实践。
以上是软件开发人员获得工作指南的详细内容。更多信息请关注PHP中文网其他相关文章!