开发者调查程序员418%通过自学成才29%至少兼职一

开发者调查程序员418%通过自学成才29%至少兼职一项工作

  济宁任城急招钟点工

  「Stack Overflow 开发者调查」是由全球著名IT技术网站Stack Overflow发起的,专门针对该站注册开发者用户的问卷调查活动。该调查已经持续了三年之久。2015年的调查是近年来规模最大,问题最多,涵盖范围最广的一次。此文章借由2015年调查结果的统计数据,用统计图和文字的方式向读者详细阐述了调查得出的各方面结论。这些结论中,

  可谓是面多维广,细致入微。此次调查的结果特别强调了“远程办公”的优势,并将其放到了未来主流工作方式的地位上,同时也强调了社区和参与的重要性。以下是由伯乐在线黄小非翻译的正文:

  每年我们都会开展这项针对开发者的问卷调查。今年,有更多的开发者加入到此项调查中来。

  有来自157个国家的26,086位用户参与了我们发起的调查问卷(问卷包含45个问题)。其中6800人是全栈开发者,1900人是移动开发者,1200人是前端开发者,2人是农场主,还有12,000名其他行业的用户。

  我们发起这个问卷调查,是为了帮助我们更好地了解社区,同时也为了帮助社区的成员更好地了解自己。在2月初的头两周,我们放出了Stack Overflow的问卷调查广告,将其粘贴在Meta Stack Overflow上。

  这次调查结果的数据是有侧重的。正如我们任何一次的调查一样,数据通过事先选择好的侧重点进行区分:例如侧重于语言,或者其他的一些方面。所以你可以这么认为:这是我们发起过的最全面的一次开发者调查。或者说,这少这是唯一一次向开发者询问你究竟是该用tab还是用空格进行缩进操作的调查。

  都有哪些人是开发者?他们住在哪里?开发者都是程序员,还是说程序员都是开发者?让我们用图表来说话。

  目前全球有超过72亿人口。其中大约3200万每个月会访问stackoverflow,其中超过2500万人是回头客。回头客大约每周访问6次。这些人构成了我们上面图中描述的活动用户。

  本次调查对那些不接受英语调查问卷的开发者来说是有偏差的。这主要指位于中国,巴西和日本,这些不以英语为母语,参与stack overflow又较少的开发者(译者注:其中中国的活动用户是236789人,参与本次问卷调查的是252人。注意到朝鲜的活动用户人数是0,但是仍有3人参与了本次问卷调查。不知道是不是天降伟人金大将军亲自填写的问卷回执呢?)。对于他们,Stack Overflow已经启动了本地化Stack Overflow版本计划。无论你在哪里居住,无论你使用什么语言,我们都希望能够帮助你有效地建立属于自己的开发者社区文化。

  在参与调查的Stack Overflow用户中,大约有25%的是来自于美国(排第一)。印度排第二(12.5%),紧随其后的是英国(5.5%),以及德国(4.2%)。不过,卢森堡在“每千人开发者人数中”独占鳌头,超过了其他任何国家。

  开发者的平均年龄是28.9岁。也就是生于1986年4月的男女同胞们的岁数,这正好是切尔诺贝利核反应堆融化事故发生的年月。

  软件开发者的性别平衡成为了一个问题。我们的内部数据显示,这个行业的性别失衡是非常严重的,调查的结果也印证了这一点。但是,毋庸置疑,这个行业里的从业者应该更加积极地鼓励女性加入到行业中来。

  程序员的领域成长是非常迅速的。在美国,大约有40%的医生拥有10年以上的职业经验。相反,全球只有25%的开发者拥有10年以上的编码经验。大多数能称得上老兵级别的开发者可能工作经验都远少于10年。

  女程序员编程经验少于2年的人数可能是同样男程序员的两倍。我们积极地认为这一点是因为越来越多的女性加入到这个行业中来造成的,这将填补这个行业在性别上的鸿沟。

  学会编程的大路不止一条。48%的调查反馈者表示他们根本就没有计算机科学方面的学位。33%的反馈者表示,他们从来就没有在大学学习过任何计算机科学相关的课程。以系统管理员为职位的反馈者基本上都是自学成才(52%)。部分企业级服务开发者有工业厂商提供的资格认证(13%)。机器学习方面的开发者和数据科学工作者拥有博士学位的比例,要比其他任何种类的开发者拥有博士学位的比例高10倍以上(15%)。

  对很多开发者来说,编程既是工作也是爱好。70%的反馈者表示他们每周大约花多于2小时的时间用于编程爱好,或者开源项目软件。20%的反馈者在工作之外花多于10小时的时间进行编程。开发者每周用于副业项目的编程时间大约是7小时。

  事情越变化,就越可能是在装有Windows系统的机器上使用Notepad++(深色主题)通过书写JavaScript代码而发生的,同时还使用Git进行版本控制,以及使用Tab而不是空格来进行代码缩进。

  JavaScript蝉联了“使用最多编程语言”的桂冠。Node.js和AngularJS则被挤到了靠近榜尾的位置。Java依然是No.1的服务器端语言(也是在Stack Overflow上使用频率最高的tag)。C语言则强势保持原有的地位。

  我们向反馈者提出了“在过去的一年中使用过哪些语言/技术”以及“在过去的一年中哪种语言是你最想用来进行开发的”。根据比较的统计结果,我们可以看到开发者们对现有的编程工具的喜好程度。

  这是我们连续第三年在问卷中向开发者们询问:那种操作系统是你使用最多的?Windows保持了操作系统市场的主打份额,Mac OS在Stack Overflow活动开发者用户中的份额已经超越了Linux。

  Linux在消费者市场上可谓是小众,在整体的桌面操作系统市场上只占有1.5%的份额,单对开发者来说,Linux却是一个简洁明了的操作系统。

  开发者的类型会影响到他们对文本编辑器的选择。例如Emacs就会把开发者转变为“数学专注”的开发者。数据科学工作者和机器学习开发者使用Emacs的数量要三倍于其他类型的开发者数量。

  开发者偏爱在深色主题的IDE下工作。我们做了一点小数据挖掘,然后发现,桌面开发者偏爱浅色主题,前端开发者偏爱深色主题,移动开发者则比较中立,两种都喜欢。

  版本控制软件是业界的标准工具。然后,一个有趣的事实是:大约有10%的开发者从不使用版本控制软件。

  更详细地观察一下数据,规律就立刻浮现出来:随着经验的积累,越来越多的开发者偏向于使用空格进行缩进。Stack Overflow论坛系统中的声望也可以与空格缩进的偏好产生关联:声望在1000以上的用户更偏好于使用空格,而不是tab进行缩进,其对比比例是3比1。

  与大多数上班族一样,开发者也需要咖啡因。开发者们平均每天喝掉2.2杯咖啡,茶,糖,或者其他咖啡因饮品。北欧的开发者喝掉的咖啡因饮品比其他大多数开发者都多。

  优秀的开发者,他们的工作环境总是在不断升级的。随着新的开发者类型的不断涌现。越来越多的开发者会选择远程办公(也会因此获得更好,报酬更高的职位)。开发者比其他行业的从业者更钟爱自己的工作,并且调查显示:基本上每个开发者都会花时间在副业项目上。

  我们给接受调查的用户提供了24种常规的开发者类型,并询问他们哪个类型最能描述他们所从事的工作。这已经是连续第三年,“全栈开发者”成为最常见的类型了。

  在超过22,000位接受调查用户中,有1,900人表示他们是移动开发者。Android开发者与iOS开发者的数量比是4比3。有大约2%的移动开发者表示自己是Windows Phone开发者。还有20%的移动开发者并没有说明自己属于哪个特定的移动平台。

  我们一直以来都通过观察Stack Overflow的用户行为模式,来发现新的开发者类型。拥有统计学和数学背景的,以及机器学习领域的开发者一起组成了这个新的开发者类型(数学开发者类型)。我们比较熟悉的数据科学工作者,是与其相关的一个开发者类型。

  开发者的类型是非常广泛的,通常也很难说清楚不同类型之间的界限。有超过300位调查者参与者标识自己为:DevOps,大约200人标识自己为“商业智能”或“数据仓储”专家,有59人标识为“Growth Hacker”,这是在可多选的开发者类型中所占比例最小的一个。

  “其他”开发者类型让整个调查更加有趣:大约1,600名调查者参与者选择了自己补充一个职位。在所有“补充职位”中,游戏开发者和设计师占了最大的比例。有超过100个填写了补充项的调查者参与者同时选择了多个开发者类型。只有一位调查参与者补充道:他/她从事激光方面的工作。

  来自发达国家的调查参与者,相对于其他的参与者来说,更多在非传统的软件行业领域里工作。

  我们询问了调查参与者关于他们每个月的收入,折合成美元,并包括奖金。我们通过把具体的技术和回报列成二维表,并比较了不同技术的收入,来观察哪种特定的技术得到的回报最高。

  受商业青睐,或新兴的技术回报最高。所以大数据和云计算风光无限。这也反映了相应技术领域在劳动力市场方面的短缺——企业愿意付出更多的代价来雇佣具备尖端科技能力的人才。这也是为什么拥有相应技巧的程序员能够在众多程序员中脱颖而出的原因。

  当我们讨论生活质量的时候,美元,欧元还是日元其实根本不重要,只有巨无霸汉堡才重要。经济学的巨无霸指数是一个衡量同等购买力的指标,用来比较不同经济体中工人收入的真正价值。

  哪个国家的开发者的平均收入能够吃的最多呢(也就意味着生活质量最高)?调查显示:乌克兰,在那里巨无霸只需要花费1.2美元就能买到。

  远程办公也是需要付薪水的。全职远程办公的开发者比从不远程办公的开发者的收入要高出40%。不过这个数据在发展中国家可能不是特别客观。

  我们常说:多上Stack Overflow,有助于你的职业生涯。现在我们就来证明这一点。

  实际上,我们并不知道在Stack Overflow声望和收入回报之间有没有什么必然联系,但是这个数据还是让我们自我感觉不错。如果声望能和钱等同的话,那么假设你的Stack Overflow声望在1-100之间,你的收入就会(在现有基础上)上涨10%。如果你的声望值在200-499之间,那么你收入水平和开发者的平均水平持平。一旦你的声望值超过10,000,那你的收入就会达到开发者平均收入的135%。所以尽情去享受悬赏解答问题的经历吧……

  如果你是一个软件开发者,那么你很可能有一份正式工作。有97.5%的“劳动力调查”参与者表示,他们至少受雇于一份兼职工作。

  此外,即便你是拥有一份全职工作,你也很可能为自己的副业项目编码。全职的开发者平均每周花费6小时的时间在开源项目,副业项目或者感兴趣的项目上。退休的开发者花费在兴趣项目上的编码时间是平均值的3倍。对于大多数开发者来说,编程就是生命,写代码也是一生的追求。

  我们询问了调查参与者,问他们对自己目前从事一项或多项工作的满意度如何,76%的开发者表示他们对他们的工作满意,有36%的开发者表示他们热爱自己的工作。开发者总的来说比其他行业的雇员更愉悦于自己所从事的职业。

  伊朗的开发者比其他任何国家的开发者都更满意于他们的工作。Stack Overflow Careers 可能并未收录关于伊朗的工作机会,不过你仍然可以去那里,并通过申请我们提供的 远程工作的机会。

  当老板的感觉很好。主管人员的满意度(按照假定5分为满分的满意度来评价)比平均水平(3.36)高出16%。产品经理基本上是最不满意他们工作的类型。

  29%的开发者选择了至少一个兼职的远程工作。这比去年的21%有所增长。更多的开发者选择在家工作,更多的公司也在逐渐接受和拥抱这种远程的工作方式(我们Stack Overflow就是其中之一)

  编程正在打破办公室隔间的阻碍。50%的开发者认为远程工作多多少少都算重要。对那些要招人的公司的忠告是:如果你职位列表不包括远程工作的职位,那么你的潜在申请池的人数很可能就会缩减一半。你也很可能就会错过雇佣最适合你的开发者的机会。Stack Overflow用户中拥有5,000以上经验值,针对“可以选择远程工作”持“没有商量余地”的态度的开发者人数,要两倍多余其他经验的开发者。

  离开人的参与,Stack Overflow就只是一堆像素而已。感谢社区中所有的开发者,自2008年第一个问题提出以来,感谢你们,一直回答问题,点赞,编辑帖子,提问,让每个人都能从我们汇集而成的Q&A知识库中获得益处。声望和游戏化仅仅是让Stack Overflow保持运行的一小部分而已。社区才是所有的所有。

  Stack Overflow的用户已经帮助其他开发者伙伴节省了百万小时级的工作时间。我们询问了调查参与者,关于论坛中的回答是否对他们有帮助的问题。86%的参与者表示总能找到有用的答案。

  我们询问了调查参与者,他们都有多少Stack Overflow的声望点数。(我们两次检查了参与者提供的信息和参与者所提供的账户信息——我们的用户都是非常诚实的人。)

  鉴于参与者的声望分布覆盖了100%的参与者,活动用户的分布则仅仅涵盖了约5%的Stack Overflow的登录人数。

  我们询问了参与者关于使用Stack Overflow的动机,我们提供了多个答案选项。超过一半的参与者使用Stack Overflow是为了帮助其他的开发者。大约3/4的开发者来到这里是为工作中遇到的问题的寻求帮助。2/3的开发者表示他们访问的动机是因为对学习新事物的激情。

  60%的调查参与者表示曾经在Stack Overflow上回答过问题。是什么激发了这一行为?除了其他的动机以外,开发者们表示:帮助其他的开发者同伴是件感觉不错的事情。有一半以上的参与者相信他们的回答在以后能够帮助更多的开发者。还有6%的Stack Overflow的回帖者表示回答问题没有什么动机——反正他们就是这么做了。