StackOverflow 2019 程序员调查

我们可以看到,

Javascript/HTML/CSS是很多人都会用到的,后面的是SQL,这个也没什么问题,无论前后端的人,或多或少都会要用到的,这些技术感觉已经成为了基础必会的技术了,就像数中的加减乘除一样。

Python/Java/Shell是后端开发主流语言的前三强,Python在今年超过了Java。

这里让我比较好奇的是居然还有很多人用Shell,这估计跟运维有关,所以,Python的热可能也是通过运维和大数据相关。

流行语言后,第二梯队的是C#/PHP/C++/TypeScript/C,接下来的是:Ruby/Go/Swift/Kotlin/WebAssembly/Rust。

但在最被程序员喜欢的编程语言中:Rust/Python/TypeScript/Koltin/WebAssembly/Swift/Go都是排在前几名的。

程序语言每隔一段时间就会整出一些新的语言来,我们一定要明白新出来的东西主要是为了解决什么样的问题,不然很容易迷失。

在后面还有一个编程语言的薪资图,我们可以看到,在上面被提过的这些个编程语言中,Go语言的薪资是最高的(这可能是因为Go语言写关键的系统级的中件间——因为Go语言正在成为云计算的第一编程语言),然后是Scala、Ruby、WebAssembly、Rust、Erlang、Shell、Python、Typescript……

通过这些个信息,我们可以看出主流技术、有潜力的技术,传统过气技术,以及相关薪资,对我们在选择编程语言上有一定的启示。

在后面,我们可以看到:

在Web开发框架上,主流使用还是jQuery,React。

js,Angular。

js为最前面的三个前端开发框架。

而被程序员所喜欢的则是React。

js,Vue。

js,Express,Spring,程序员非常不喜欢Drupal,jQuery,RubyonRails和Angular。

js……

在其它开发框架/库/工具上,主流是Node。

js、。

NET、Pandas、Unity3D、Tensorflow、Ansible、Cordova、Xamarin……而程序员比较喜欢的是。

NET、Torch/PyTorch、Flutter、Pandas、Tensorflow、Node。

js

在操作系统上,主流使用Linux、Windows、Docker、Android、AWS……,而程序员最喜欢的是Linux、Docker、Kubernetes、RaspberryPi、AWS、MacOS、iOS……

在数据库上,MySQL、PostgreSQL、MSSQL、SQLite、MongoDB、Redis、Elasticsearch是比较主流的,而程序员非常喜欢的是,Redis、PostgreSQL、Elasticsearch、Firebase、MongoDB……,程序员比较讨厌的是Couchbase、Oracle、Cassandra、MySQL。

从这些个图表中,我们可以看到主流和有潜力的技术是什么,我们可以看到Windows的技术并没有过时,感觉似乎都有可能会卷土重来,但是,开源的技术来势凶凶,正在吞食整个软件业,不容小觑,Docker/Kubernetes无论是在主流应用上还是被程序员的喜好上都是非常猛的,而云平台的AWS开始成为标准平台技术……

接下来的开发工具中,我们可以看到:

VisualStudioCode成为了最流行的开发工具。

让我没有想到的是跟在后面的是Notepad++(好久没用这个工具了,我得找回来用用了),而IntelliJ、Vim、SublimeText排以后面。

Eclipse和Atom动力不足,Emacs开始变得小众了。

程序员主要的开发平台还是Windows占了近1/2,MacOS和Linux随后,各占1/4。

有38%的人使用容器技术做开发,30%的人使用容器做测试,在生产线上使用容器的有26%

看样子编程开发工具还是VisualStudio和IntelliJ的天下,MacOS/Linux正在抢Windows的开发市场

接下来,StackOverflow给了一个技术圈的图

从上面这个图中,我们可以看以技术的几圈子:

Microsoft圈Windows、。

NET、ASP。

NET、C#、Azure、SQLServer

Java圈Java、Spring

手机圈Android、iOS、Kotlin、Swift、Firebase

前端圈Javascript、React。

js、Angular。

js、PHP

大数据圈Python、TensorFlow、Torch/PyTorch

基础平台圈Linux、Shell、Vim、Docker、Kubernetes、Elasticsearch、Redis……

其它圈子C/C++/汇编圈子、Ruby圈子、Hadoop/Spark圈子、……

看到谁的圈子大了吧,圈子大的并不代表技术实力强或是有前途,不过可以代表在那个圈子相关的关联技术,一方面,可以给你一些相关的参考,另一方面,整体可以让你看到全部的目前比较主流的技术。

第三部份工作

在第三部份工作中,我们可以看到如下的一些数据:

有3/4的程序员是全职的,10%左右的程序员是自由职业,6%左右的程序员是失业的,这个比例在北美、印度和欧洲都差不多。

有1/3的人在过去一年内换过工作,1/4的人在过去1-2年间换过工作,1/3的人在2-4年换过工作。

程序员找工作时,影响程序员的几个主要因素是:技术(编程语言、框架和使用的技术)、办公环境和公司文化、灵活的时间和安排、更专业的机会、远程工作……

影响程序员工作的几大因素是:有干扰的工作环境、开会、要干一些和开发无关的事、人手不够、管理不够、工具不够、通勤时间……

对于工程质量,有近70%的人有CodeReview,而30%的则没有;有60%多的人有UnitTest,而不到40%的没有……

从工作中我们可以看到,程序员还是比较关心技术和公司文化的,换工作也是这个职业很正常的特性,他们并不喜欢被打扰,希望有足够的时间,而对于工程质量还是很有追求的。

最后用一张程序员的“每周工作时间”来结束本文!

祝大家快乐!

(全文完)

关注CoolShell微信公众账号和微信小程序

(转载本站文章请注明作者和出处酷壳CoolShell,请勿用于任何商业用途)

——===访问酷壳404页面寻找遗失儿童。

===——

相关文章

关于高可用的系统

技术人员的发展之路

什么是工程师文化?

Leetcode编程训练

这多年来我一直在钻研的技术