薪酬最高的软件开发工作有哪些?我如何才能获得这份工作?
让我们谈谈现实世界的工资
实际工资计算
更多考虑
那么什么有效呢?
思想实验来推动这一点
杠杆点
有哪些常见的杠杆点?
到底
保持联系
导航你的软件开发职业通讯
AWS GenAI 直播!
您是否看到过讨论某些软件开发领域薪酬高于其他领域的技术文章?
某些领域(例如机器学习)的薪酬通常比 Web 开发人员等更高。
当然。
但这些文章继续说,如果你想长期赚钱,那么选择机器学习、人工智能、数据科学等专业将为你带来更多回报。
例如,有一篇文章重新概括了其中的一些想法。
这篇文章并不是说为了赚更多钱就应该成为数据科学家。但总的来说,类似的想法和数据在网络上随处可见。
我不同意这种结论。
让我们谈谈现实世界的工资
总工资和净工资是截然不同的。
我每次的工资都只剩下我总收入的55-60%左右。加拿大的税相当高。而且我甚至还不是最高税率的。
我还得缴纳其他费用,比如联邦养老金、就业保险和其他一些不可协商的政府项目。即使我从来不用它们。不过那是另一回事了。
让我们从我引用的文章中获取一些指标,这些指标来自Stack Overflow 的 2017 年开发人员调查,并查看一些更现实的薪资计算。
实际工资计算
2017 年,美国机器学习软件开发人员的平均收入为 108,000 美元。
Web 开发人员赚了 90,000 美元。
每年的差额高达 18,000 美元。听起来不错吧?
让我们以我的一般扣除百分比为例,其较低的实际值约为 40%。
18,000 美元的 40% 是 7,200 美元。
因此,我的净收益约为 10,800 美元(假设我没有进入新的税级)。
听起来不太好,是吗?
在每两周的工资发放期内,每次工资的收益约为 415 美元。所以每月 830 美元。
这是一笔不小的数目,但可能没有你预先估计的那么多。
而且根据您居住的地方,这可能不会抵消太多的生活成本,因为地点也会影响薪资数额。
PS 本文最初来自YourDevCareer.com,您可以在那里查看更多文章和资源,以帮助加速您的职业发展!
更多考虑
现在,让我们将专门从事机器学习与 Web 开发的开销进行比较。
Web 开发
我大学学习编程是两年制课程的一部分。许多网页开发者选择参加快速训练营,几个月内就能完成课程,然后找到一份正规的网页开发者工作。总的来说,这些课程每年要花费几千美元。
一些训练营甚至会让你“以后”付款,即在你找到开发人员工作后从你的未来薪水中扣除一部分。
机器学习
那么机器学习呢?
那么,你需要了解线性代数、应用统计学、大量的数学算法、深度学习和神经网络、自然语言处理等。
我曾经收到过一家软件公司的工作邀请,这家公司在医疗领域做了一些很棒的事情。我以“理由”拒绝了。但他们的工作成果给我留下了深刻的印象。
我对他们的核心系统非常感兴趣,并问了很多问题。
他们创建了一个自然语言处理系统,可以让医疗专业人员和组织向其输入包含药物等信息的文本文件。该系统将使用机器学习来提取和分类文本中包含的各种药物和医疗信息,然后将它们与各自的成分联系起来等。相当复杂的东西。
Web 开发者可以接触这个系统吗?不行。绝对不行。绝对不行。
它是由一位拥有博士学位的科学家建造和维护的。
这就是问题所在。
真正的机器学习系统将服务于医疗、金融等领域,需要超高素质的科学家。
换句话说,你需要接受大量的训练。大量的……
平均年薪净增加 10,800 美元是否值得多年的高强度训练和潜在的数万美元的学生债务?
我同意有些行业不像医疗行业那么重要。这些公司不一定会寻找受过如此多训练的开发人员。但至少,需要一些高强度的数学训练。
那么什么有效呢?
我认为特定行业或技术专长本身并不像成为您所在领域公认的专家那么重要。
我之前谈过这个概念——在你的职业生涯中不断进步,找到能够帮助你脱颖而出的利基市场。
思想实验来推动这一点
让我们做一个小小的思想实验(希望它能按照我想要的方式进行😋)。
想象一下,您正在为制造业一家正在蓬勃发展的初创企业招聘一名网站开发人员。贵公司正在为制造工厂引入一种新的机器管理方式,这种方式每年可以为他们节省大量成本。
您需要一位具有分布式系统经验的后端开发人员。
您的候选人是:
a. 拥有 7 年后端开发经验,其中在同一家公司从事分布式系统专业工作约 5 年。
b. 拥有 4 年后端 Web 开发经验,过去 2 年致力于分布式系统开发。此外,他还撰写过一些知名出版物上的文章,这些出版物以行业专家为特色。他还在一些以采访该领域专家而闻名的播客节目中发表过演讲。他还撰写过一本小册子,帮助开发人员了解分布式系统设计。
你会选谁?
我会选 b。
为什么?
候选人“a”在“专业经验”方面更胜一筹。其分布式系统专业经验是候选人“b”的两倍多。
但就是这样。他们的专业知识都与他们所在的公司无关。
我们如何验证他们确实做得很好?即使候选人“a”成功构建了分布式系统,我们又如何验证它是否高效、安全等等?我们如何真正知道他们是否正在学习任何新的、更好的方法来思考这些系统?
另一方面,候选人“b”将自己展现在公众面前。不仅如此,他们还被当作该领域的专家来宣传。虽然他们的知识水平不一定非常高超,但他们确实很突出。
这个人也写了一本针对该主题的初学者的书,可能不像候选人“a”那样拥有“纸上谈兵”的经验。但我们可以肯定,他们已经通过了整个社区的“测试”。
话虽如此,这个人拥有的两年经验可能被认为相当于更多的整体经验,因为他们参与了社区活动并付出了认真的努力来掌握他们所写和谈论的领域。
并非所有的经历都是平等的。
杠杆点
此外,这位候选人还有更多(我喜欢称之为)优势点。
杠杆点是指各种各样但相关的成就、经验等,你可以用它们来打动潜在的雇主。
总体而言,您拥有的越多,留下的印象就越好。
例如,候选人“a”主要有一个优势点:在私营公司构建分布式系统的专业经验。
然而,候选人“b”有更多:
- 具有分布式系统的专业经验(经验年限约为另一位候选人的一半)
- 刊登于知名出版物 X、Y、Z
- 著名播客 X 曾邀请过 A、B、C 等行业专家
- 撰写了一本关于该主题的书,并获得了社区的积极评价
这些杠杆点有一种“堆栈”,有助于验证此人需要展示的核心技能。
瞧,候选人“b”并不是“专家”,因为他们的经验年限与其他候选人不同。
然而,他们被视为专家,因为他们所知道的知识已经被社区巩固。
我们相信此人是可靠的并且经过了社会审查。
除此之外,当候选人“b”参加面试时,大多数面试官甚至对分布式系统都没有任何实际操作经验。但是,这位候选人指出了这些要点,会给他们留下深刻的印象。
杠杆点在薪资谈判期间也会有所帮助😊。
PS:如果你对薪资谈判感兴趣,我推荐你读一读《永不妥协:像你的生命依赖它一样去谈判》。
最终,这些杠杆点可以帮助你给潜在雇主留下更深刻的印象,让他们相信你是该领域真正的专家。
有哪些常见的杠杆点?
在这篇关于职业自主权的文章结尾处,我列出了几种掌控自己职业的方法。这也可以作为一个很好的起点,帮助你思考自己可以获得哪些优势。
比如,点名就是一个很重要的技巧。如果你能指出你曾被某个知名出版物/品牌报道过,那你的受众一定会印象深刻。
当然,这不是你的专业知识的核心。
这些东西就像锦上添花,可以证明您所说的有关您的技能的内容是真实的。
这就是被人认为“足够好”和被人认为“出类拔萃”之间的区别。或者,用塞斯·戈丁的话来说,是“非凡”。
到底
如果您专注于融入社区并提供真正的价值,那么您的声誉就会提高。
招聘最困难的部分之一是了解候选人是否擅长自己的工作以及我们是否可以信任他们。
当然,如果公众信任他们,那就有力地证明了招聘者也信任他们。因此,他们也更有理由支付更高的薪水,因为他们已经证明了自己值得投资。
保持联系
不要忘记通过以下方式与我联系:
导航你的软件开发职业通讯
一封电子邮件简报,助您提升软件开发职业水平!您是否想过:
✔ 软件开发人员通常经历哪些阶段?
✔ 我如何知道自己处于哪个阶段?如何进入下一个阶段?
✔ 什么是技术领导者?如何成为技术领导者?
✔ 有人愿意陪伴我并解答我的疑问吗?
听起来很有趣?加入社区吧!
文章来源:https://dev.to/jamesmh/what-are-the-highest-paying-software-developer-jobs-how-can-i-land-one-3dj