虽然薪水不一定是您职业生涯早期阶段最重要的因素,但它是您获得的回报,反映了雇主对某些技能的重视/认可程度。
作者| 法希姆·哈克
译者| 风车云马,编辑| 刘静
制作| CSDN(ID:CSDNnews)
译文如下。
作为一名软件开发人员,无论您是经验丰富的专业人士还是刚刚起步,您都不可避免地需要学习新语言、新框架和新工具。如果您想在就业市场上保持竞争力并获得丰厚的薪水,这一点非常重要。
在本文中,我们将讨论一些最流行的技术以及学习它们如何影响您的薪水。我知道薪水不一定是您职业生涯早期最重要的因素,但薪水是您获得的回报,反映了您的雇主对您的特定技能的重视/认可程度。Masu。通过本文,您将了解技术发展的一些趋势,这将对您未来的职业生涯有所帮助。
本文中的薪资数据基于在中小型公司(101 至500 名员工)工作过0 至2 年经验的开发人员。所有数据的地理分布均在西雅图-华盛顿地区内。
各个行业的薪资都很稳定,可以作为未来薪资的基本指标,但当然这并不是准确的预测。薪资根据行业、地区、公司规模、您自己的经验水平、面试熟练程度、谈判技巧和许多其他因素而有所不同。
我应该先学习哪种编程语言?
虽然这当然是有争议的,但初学者应该关注一些主要语言,包括Python、Java、C++ 和JavaScript。主要考虑以下原因:
• 这些语言的开发人员需求量很大,所以不用担心找不到工作。
• 相对容易学习。
• 帮助您像开发人员一样思考,并为编程逻辑和语法打下坚实的基础。
• 他们有无数的资源可供学习。
在做出决定之前,你应该问自己以下问题:“你想从事编程的哪个领域?”你对前端开发、后端开发还是两者都感兴趣?这将指导你选择.马苏.第一语言。
下图显示了上面列出的语言的开发人员的平均工资。
Python
Python 开发人员的薪酬最为丰厚,平均工资约为95,706 美元。随着Python 在游戏/网络开发、数据科学和机器学习等应用领域的快速增长,Python 开发人员的需求量很大。
Python 几乎可以处理任何用例,灵活、强大且易于学习。它是一种高级语言,代码易于阅读,没有复杂的语法。
无论你想做什么,Python 都是一项极其有价值的技能,在任何职业中都非常有用。
爪哇
由于其简单性和广泛的适用性,Java 通常是雇主最喜欢的语言之一。专门从事Java 的开发人员毫无问题地找到一份体面的薪水,平均薪水为88,483 美元。
虽然Java 历来被许多公司认为是最受欢迎的技能,但Python 正在取代Java 来解决更广泛的用例。然而,与Python相比,Java的学习曲线更长,因此仍然被认为是更简单的语言之一。
Java 开发人员喜欢许多不同领域的应用程序。 —— Java 软件可以在任何地方运行,从电话到游戏机再到数据中心。这引起了Java 开发人员的极大兴趣,因为Java 语言在不断发展,使我们有机会走在新技术的最前沿。
如果你真的想成为一名专业开发人员,拥有一些Java 经验也没什么坏处。
C++
如果您想与众不同,请尝试C++。 C++ 开发人员的平均起薪约为88,190 美元,但还有很大的晋升空间。为什么C++ 得益于自动驾驶汽车和物联网等领域的应用而获得了“第二次生命”。
此外,C++ 是一门相当难学的语言,随着越来越多的开发人员转向其他通用语言,对有能力的C++ 开发人员的需求只会增加。如果你继续这样做,我想回报将会是巨大的。
刚开始学习C++ 可能会很困难,但它将帮助您成为一名更好的开发人员,了解计算机、编译器和语言的工作原理,并最终了解您的程序如何影响系统。它将帮助您了解要付出什么。 C++ 距离汇编代码仅几步之遥,并且提供了对编程结构的更深入的理解。
如果您确实想了解编程的本质,C++ 是最好的入门语言。
JavaScript
如果你做前端或全栈开发,JavaScript 是你需要了解的语言。刚开始工作时的平均工资约为87,903 美元。
JS 的伟大之处在于它是一种易于学习的语言。 Facebook 等公司创建了有用的库和框架(如React),使JS 开发变得更容易、更快。
现在是成为JavaScript 开发人员的好时机,因为JavaScript 的多功能性和稳健性有了许多改进。
接下来我应该学习哪种编程语言?
一旦您选择了前端或后端并用您的母语建立了坚实的编程基础,就该考虑其他事情了。下表显示了按编程语言划分的开发人员的平均工资。
当您开始做出选择时,最好找到挑战您现有思维过程的语言。例如,如果您始终使用函数式编程原理,请尝试使用基于面向对象原理的语言。反之亦然。这将拓宽您的技能范围,让您更轻松地融入不同的团队。这对于早期开发人员尤其重要。
重要的是要记住,某些编程语言更适合解决某些类型的问题,因此您应该考虑每种语言的用例、优点和缺点。
考虑到这一点,除了第1 部分中提到的四种语言(Python、Java、C++ 和JavaScript)之外,还有其他几种语言值得考虑。
对于Java 开发人员来说,Scala 是一门非常具有挑战性的语言。它将函数式编程和面向对象编程封装到包中,使您可以自由地以不同的风格进行编程。
Python 开发人员可能想看看C++。 C++ 是一种适合您整个职业生涯学习的优秀语言,因为您可以开始真正理解编程以及计算机的工作原理,而无需像Python 等高级语言那样隐藏许多基本操作。
如果您是C++ 开发人员,您应该考虑学习Rust 或Go。 C++ 的一个常见缺点是难以处理内存管理和并发性。 Rust 和Go 这样的语言使用不同的内存管理模型,使得编写安全的并发程序变得更加容易。
为什么Scala 和Go 的平均工资如此之高随着Scala 的不断改进,越来越多的公司开始注意到它,迅速采用它,并构建可根据需要扩展的程序。 Scala也常用于企业环境,这就是平均起薪如此高的原因。
至于Go,它是一种相对较新的语言,具有一些很棒的功能,但很少有开发人员精通它。对于企业来说,需求尤其巨大。非常适合使用微服务架构的现代开发和程序。对Go开发者的需求正在迅速增加,这也是他们赚这么多钱的原因之一。
如果您是JavaScript 开发人员,则需要学习HTML 和CSS,并花时间学习可用的库和框架(React.js、Angular.js、Node.js、Vue.js)。
无论您接下来选择学习哪种语言,了解您的职业道路都很重要。例如,对于C++ 开发人员来说,学习HTML 等内容不一定有益,因为它具有完全不同的目的。
前端开发:JavaScript之后要学什么探索这些框架和库
如果没有框架和库,JS 就不会是今天的样子。下图显示了专门从事该技术的开发人员的平均工资。可以看到他们都是JS开发人员,但是使用这些不同的框架和库时开发却有很大不同。
StackOverflow 上的《2019年开发者调查》 显示JQuery、React.js 和Angular.js 是最流行的库和框架。虽然它们在行业内被广泛使用并且有一些相似之处,但它们本质上是不同的,并且经常用于解决不同的问题。 JQuery 可能是开发者社区中最受欢迎的,但它在现代前端开发中的相关性越来越低。
有趣的是,数据显示,随着你的JQuery 技能提高,你的薪水实际上会“下降”。这有点夸张(不一定是工资低),但它表明了一个事实: 公司对JQuery —— 并不真正感兴趣。至少那些支付高薪的公司不是。
如果您对全栈开发感兴趣,您应该将时间投入到非常流行的Node.js 上。上述库和框架用于客户端,Node.js用于服务器端。 Node.js 与一个好的框架相结合正是构建Web 应用程序的前端和后端所需要的。
最终,您应该选择您最熟悉并且能够满足您需要解决的问题的框架或库。
如果您了解JS,我们建议您花时间学习这些技术。这将导致职业发展并增加你的薪水。
磨练你的技能
有许多库、框架和工具,但并非所有工具都适合所有开发人员,因此请明智地投入时间。
以下是您可以研究的一些非常酷的技术以及每一项技术如何影响您的薪水。
有趣的是,添加Ansible 和.net 作为技能会“降低”你的薪水。虽然它实际上可能不会降低工资,但它可能说明了这样一个事实:支付更高工资的公司并没有追求这些技术。
Kubernetes 和Docker 正在席卷全球,开发人员了解这些工具的需求将继续显着增长。如果您想学习新工具,请尝试这些技巧。
如果您是Python 开发人员并且对机器学习感兴趣,请查看TensorFlow 和pandas。
找到适合您的数据库系统
有许多数据库可供选择,包括基于SQL、基于NoSQL 以及两者,因此我们建议花时间学习这两种数据库。然而,Redis 和MongoDB 等NoSQL 数据库是开发人员首选的DBMS。
如果您只想专注于一个方向,则必须首先决定如何组织数据。关系型还是非关系型?基于此,最好了解每个DBMS的优点和缺点。许多开发人员更喜欢使用MongoDB,因为它采用类似json 的文档存储方法。
除此之外,我们还看到对Redis 开发人员的巨大需求。
如果您不确定选择哪个数据库,请查看此图表,其中简要解释了SQL 和NoSQL 数据库。
云平台
支持云计算是现代开发人员的一项关键任务。必须熟悉在云平台上构建和部署软件。在选择基础开发的云平台时,数据显示目前AWS的需求略高。
谷歌云平台(GCP)呢?我们将其排除在报告之外,因为数据太有限,无法得出有意义的结论。
移动操作系统: Android 和iOS
你想为Android和iOS开发应用程序吗?对于Android来说,最常用的语言是Java,而对于iOS来说,最常用的语言是Objective-C。下面的细分显示,iOS 开发者的收入通常会高一些,但Android 正在迅速成为开发者选择的操作系统。
StackOverflow 《2019年开发者调查》 指出Android 是最常用的移动操作系统。
结论是
再次强调,对于开发人员来说,最重要的不是薪水,而是个人兴趣和愿望才是主要考虑因素。当您投入时间学习某些东西时,了解您得到的回报也很重要。
无论您处于职业生涯的哪个阶段,或者您目前是否计划学习新技能,研究和了解哪些技术正在朝哪个方向发展总是有用的。
原文链接:https://dev.to/eduative/what-software-technologies-will-earn-you-the-highest-pay-3fc3
本文为CSDN翻译,转载时请注明出处。