全球最受欢迎技术社区Stack Overflow收集了超64,000名研发人员数据,本文将将告诉你他们最喜欢的技术,编码习惯、工作偏好,他们如何学习、分享、提升、正在使用哪些工具,以及他们最想要什么。
在调查中,我们了解到一些有趣的新东西,比如对开发人员的一个常见误解:他们从小就一直在编程。
事实上,在专业开发人员中,11.3%的开发者在接触如何编程后,一年内就开始了第一份编程工作;另有36.9%在开始职业生涯之前,也就学习了一到四年的时间。
只有13.1%的开发者正在积极寻找工作。但75.2%的开发者有兴趣了解新的就业机会。
当我们询问受访者在考虑新工作时最重视的事件时,53.3%的受访者表示远程协作是首要考虑因素。63.9%开发者表示,每个月至少有一天,11.1%的人表示他们基本上全职远程。
大多数开发者表示他们的报酬不足,尤其在政府和非营利机构工作的开发人员,感到最不满意,而在金融方面工作的人满意度最高。
人员资料
在受访者角色调查中,大约四分之三都是Web开发者,其次是桌面应用和移动应用。其中,Web开发者的全栈工程师以63.7%的占比居于榜首,移动应用最多的则为Android,占比64.8%。
从地域来看,美国的全栈工程师比例最高,而德国的比例最低。对移动开发者而言,美国和英国的iOS开发人员、以及世界其他地区的Android开发人员都有所增加。
除全职开发的人员之外,也有人只将写代码作为工作的一部分,当下的环境为开发者们提供了更多的职业选择,包括分析师、顾问、数据专家和培训师等等。
工作经验
对开发人员的一个常见误解是,他们从小就一直在编程。事实上,在专业开发人员中,40%的从业人员学习编程不到四年。由于在线课程和编程书记的普及,成年人在没有编程经验的情况下,也可以快速学习转变为将开发者作为自己的职业生涯。
编程经验
其中,Web和移动开发人员的平均经验,比其他技术学科的开发人员(如系统管理和嵌入式编程)要少得多的。在所有的开发者类型中,软件行业是新的人才孵化器,但是在经验丰富的开发人员中所占比例相对较低。例如,软件公司的60%的移动开发人员具有不到五年的专业编码经验,而其他行业的移动开发人员则为45%。
教育水平
在所有受访者中,开发人员的家庭教育水平普遍偏高,本科及以上占比超过一半。
开发者父母教育水平
开发人员自身全球教育水平略高于他们的父母,76.5%的受访者表示获得本科或以上学历。
开发者自身教育水平
在这些高学历开发人员中,有54.2%人员的专业是计算机或软件工程相关专业,24.9%专门从事计算机程序设计、计算机工程或信息技术。其余20.9%的专业为商业、社会科学、自然科学等非计算机专业。
专业分布
就目前的职业发展而言,有32%的受访者表示,是否受学校正规教育并不是很重要,也不是他们职业发展的重要成就。这并不令人惊讶,事实上, 90%的开发人员认为自己多少有点自学成才;学位只是他们教育的一个方面,实际工作取决于他们在个人技术的积累。
然而,计算机科学专业和计算机工程专业的人员却持相反意见。他们中有49.4%的人认为,正规教育对他们而言非常重要。
显然,与计算机科学专业相比,主修理论较少的学科,如IT、网络开发或计算机程序设计等专业的受访者,更有可能认为的正规教育不重要。
从受访结果来看,开发人员大多热爱学习。90%的人表示,他们至少有一部分技能是自学的。在职业发展规划中,有55.9%表示已经在线上学习,53.4%表示已接受在职培训。
提升方式
有人想学代码,但不知道从哪开始吗?受访的开发者们纷纷表示,你应该选取任何一种方法,进行在线课程,然后通过一本书进行练习。
开发人员推荐的学习方法
技术
连续第五年,JavaScript被选为最常用的编程语言。再次,SQL占第二位,Java第三。值得一提的是,Python的使用在五年内首次超过了PHP。
最受欢迎的编程语言
在框架类技术中,Node.js和AngularJS仍然是这一类中最常用的技术。就数据库技术而言,MySQL和SQL Server最常用。
最受欢迎的数据库技术
Windows Desktop是开发人员最常用的平台,其次是Linux桌面。
开发人员常用平台
在五年中,从收集到的开发者调查来看, Python和Node.js等语言在普及,而C#和C语言的使用却在缩小。
技术趋势
最喜欢、最讨厌以及最想要的平台
事实上,技术常常被集成到几个不同的“生态系统”中,这些“生态系统”往往被同一个开发人员使用。
在下面图表的左边,我们可以看到一个代表Web开发的大型集群(在中心使用JavaScript),另一个用于Microsoft技术(以C#和Visual Studio为中心)。
在右边,我们看到一个连接Java,Android和iOS的星座。其他较小的相关集群包括C / C ++ / Assembly,Raspberry Pi与Arduino,语言如Python和R以及语言特定的IDE。
技术生态
大多数开发商都是全职工作的,另外还有10.2%的独立承包商,自由职业者或个体经营者。
就业状况
从行业细分来看,更多的开发人员为软件和互联网/网络公司工作。但开发人员也受雇于整个经济圈的不同行业。除软件外,不同行业的开发人员部分因地区而异:例如,在美国,医疗卫生和政府的开发商比例高于平均水平。
行业细分
公司规模
开发人员往往对自己的职业生涯感到满意,且职业满意度并不会随着行业的变化而显著变化。但是,在金融,零售/批发和物流方面的开发人员,目前对工作满意度明显降低。有超过4年的经验者平均职业满意度略高。
开发者职业满意度
在开发人员求职者中,机器学习专家和数据科学家的比例相对较高。
求职者占比
从方式上来看,开发人员最常见的求职方式是通过朋友,家人或前同事介绍。其次是通过公司招聘。
求职途径
开发人员如何评估新工作呢?一般来说,他们会优先考虑专业发展机会,以及团队整体水平;开发者们希望在公司帮助下,能保持技术领先地位。其中软件是历史上发展最快的行业之一,一定程度上与开发者们保持了技能的领先性不无关系。
开发者求职时注重的条件
薪水
就薪水而言,在全球范围内,DevOps和机器学习专家获得最多的薪水。
薪资水平排行
毫不意外,薪水与多年的工作经验相关。
开发人员类型的工资和经验
从程序语言来看,使用Go,Rust和Clojure等下图图表中蓝色线条列出语言的开发人员,由于拥有较多经验,所以薪水较高;使用像PHP这样的蓝色线条下的语言的开发人员,在多年的经验下收入相对较低。此图表的圆圈大小代表与其他开发人员相比使用该语言的开发人员数量。
工资和语言经验
那么,评估开发人员的最佳方式是什么呢?据受访者介绍,最有可能的是代码行或小时行。开发人员普遍支持客户满意度,按时进行预算,是评估其他开发人员绩效的最佳方式。
开发人员性能评估指标
雇主在审查求职者时要寻找什么?受访者表示,沟通技巧和完成工作的记录是最重要的。
关键词: