2011中国软件开发者年度调查

标签: CTO视点 调查 | 发表时间:2011-07-28 09:34 | 作者:baiyuzhong Angus
出处:http://www.programmer.com.cn

记者 / 常政

由CSDN和《程序员》杂志举办的“中国软件开发者年度调查”,已经历时7个年头。这段时间内,世界在变、产业在变,开发者也在变,而我们的调查无论是调研方式、数据采集渠道,还是样本处理方法等也顺应时代和技术发展,进行了相应革新。本次年度调查广泛涉及开发者社区、技术、工具、厂商等各个层面,除了延续以往的规范化、全面深入的特性,今年最大的特性是根据2010~2011年的技术趋势和热点,以及厂商新推出的产品技术,对调查项进行了调整和增补,力求准确及时地反应中国软件市场的最新变化。由于篇幅所限,本文仅管仲窥豹,捡其要点,以飨诸位读者。

不同从业时长的软件开发者性别分布

不同从业时长的软件开发者性别分布

不同从业时长的软件开发者的创业计划分布

不同从业时长的软件开发者的创业计划分布

中国软件开发者所在公司行业分布

中国软件开发者所在公司行业分布

中国软件开发者主要开发的软件类型分布

中国软件开发者主要开发的软件类型分布

软件开发者:孤独而稳定的群体

从性别比例看,开发者真的是孤独的群体,从事1年以上的开发者当中,男性开发者均占据90%以上,而且从业时间越长,女性比例越低。看来目前的中国软件,不具备让女性开发者茁壮成长的肥沃土壤。从学历分布看,各个从业时长的开发者基本50%以上都是本科毕业。近年来,随着外包软件基地在国内的纷纷创建,以及软件职业技术教育的繁荣,我们可以看到从业时长较短的开发者中,专科/本科学历的比例在扩大,高中/中专学历的开发者的比例也在提高。然而随着时间的延长,低学历的开发者比例陡然降低。看来软件开发本质是一项智力创造,要想持续发展,一定程度的教育是必需的。软件开发总体来说是一项稳定的职业,和我们预料的一样,收入和职位高低与从业时间呈正比例相关,一般3年以上都能超过月薪5000元。大多数开发者并没有创业打算,说明总得来说,其收入水准并没有给他们的生活带来太大困扰。而对于开发者创业,最显著的槛是3~5年,这段时间内创业比例陡然上升,以后趋于平缓。看来“5年”是很多开发者确定事业定位的时间。

中国软件:产业格局潜流暗涌

对于中国软件开发者所在的企业,29.0%的软件开发者所在企业是软件开发行业,其次是互联网和制造业,分别占9.7%和8.7%。这样的数据和往年调查情况类似,说明中国软件业的产业链基本格局没有太大变化。

在开发者主要开发的软件类型中,比例最高的是互联网开发,前、后端累计28%。曾长期占主导地位的桌面客户端应用(含C/S架构)退居第二,为20.3%。异军突起的是嵌入式应用/工业控制系统,比例为16.3%,在物联网时代到来的大背景下,它的增长势必会逐年持续。移动应用的比例也引人关注是9.7%。企业级应用是14.4%,这个比例不高,看来在时代新潮流的冲击下,传统软件开发的领地正逐渐缩减。

总的来说,中国软件的整体产业链格局,尽管和往年比并没有太大变动,但是潜流暗涌,各个领地的力量对比正在悄悄发生变化——中国软件正走在一条全新的转型之路上。样本量 N=2,962 数据来源:2011年中国软件开发者年度调查不同从业时长的软件

编程语言:Java和 C/C++各领风骚

本次调查发现,不同从业时长的开发者使用的第一编程语言存在差异,从变化来看,使用Java、C语言的开发者在新开发者中比例比老开发者更高,而C++和C#的使用率在从业时长较久的开发者那里使用率更高。尽管如今层出不穷的编程语言/平台颇有一番“乱花渐欲迷人眼”之势,但Java和C/C++这类经典的编程语言,凭借累年的工业积累和社群支持,如同一坛老酒,历久弥新,新手们选择这些语言切入IT 行业不失明智之举。PHP等Web动态语言的使用比例普遍比Java和C/C++低,不能因此断言它们的衰弱,因为在中国软件业内,Web 开发领域毕竟整体从业人数仅10%左右,远低传统软件开发领域。

中国软件开发者使用的第一编程语言分布

中国软件开发者使用的第一编程语言分布

中国软件开发者目前开发的项目所应用的操作系统分布

中国软件开发者目前开发的项目所应用的操作系统分布

在所有的脚本语言中,JavaScript一枝独秀,在10年内的各个从业时长的开发者中均占据了20%以上。JavaScript刚出道时,是作为给非程序员用的脚本语言来推广的,但随着Web2.0、RIA的迅速普及,JavaScript逐渐在开发者们心中占据越来越重要的位置,而像jQuery、MooTools、Prototype等JavaScript框架和类库的出现,更是令它如虎添翼。

再来看操作系统,没有意外的是,开发者在项目中使用Windows Server和Windows Client所占比例最高,分别为36.0%和26.9%,其次是Linux和移动平台,分别为23.5%和6.5%。Linux 尽管近两年拥有了移动平台这个可共同抗衡微软的同盟军,但Windows 系列占据开发者们所选系统半壁江山的局面还是很难改变。

数据库方面,中国软件开发者主要使用的数据库中,SQLServer、Oracle、MySQL呈三足鼎立之势,比例分别为23.0%、29.5%和28.3%。这三款数据库在易用性、安全与性能、价格上各有千秋,对应不同类型的用户。目前开发的数据库应用里,大多数是规模小于10万条记录的,其开发者比例在57.4%,而10万~100万条记录的比例在22.3%,100万~1000万条记录的开发者比例为12.5%,大于1000万的比例是7.7%。结合使用的数据库品牌和应用对数据记录的实际需求两个指标综合考虑,可以发现开发者相对更注重数据库的性能。随着Web 2.0、SNS的兴起,我们发现非关系型数据库NoSQL也越来越受到到开发者们的关注,据调查MongoDB、Cassandra是最受大家热捧的NoSQL,分别占26.1%、20.1%。

中国软件开发者软件开发过程统计

中国软件开发者软件开发过程统计

软件工程:XP 一枝独秀

在软件工程里,绝大多数开发者都采用敏捷模式,两种方法论:XP(29.7%)、Scrum(7.2%)累计占据了37%的比例。XP和Scrum,都体现了快速反馈,强调交流,强调人的主观能动性等敏捷基本原则,区别在于XP更注重强有力的工程实践约束,而Scrum则突出Self-Orgnization(管理),目前看来XP在开发者中应用更加广泛。此外,23.9%的开发者所在公司自己定制过程,而使用CMMI的开发者比例为9.9%。总体来说,接近70%的开发者们按照定制的过程进行开发,从中可一窥中国软件工程规范化、标准化水准的现状。在研发管理工具方面,大多数开发者使用公司自行开发的工具,占据35.8%,而应用最多的两个品牌产品是Microsoft VSTS和IBM Rational,比例分别为占23.8%和21.9%。

移动应用:方兴未艾

中国软件开发者移动应用开发遇到的最大问题分布

中国软件开发者移动应用开发遇到的最大问题分布

中国软件开发者未来一年计划开发的应用类型分布

中国软件开发者未来一年计划开发的应用类型分布

移动应用尽管在中国软件生态链格局里占据并不多的份额,但绝对在开发者心目中占据重要位置,它不仅预示产业和技术的未来潮流,而且随着几年前苹果的App Store 模式的推出,使得开发者的创业梦想成为无穷可能,凭一款应用而日掘千金已经被证明不是神话。据本次调查显示,在中国的开发者中,约有20.5%从事过移动开发,这其中65.4%从事这个行业不足一年,同时高达93%的开发者都是在三年以内。业界常把2007年iOS/Android的问世、2008年苹果App Store的推出,看做移动互联网发展的里程碑事件,现在看来并不为过。从团队规模看,目前中国的移动开发基本以个人和小团队为主,个人开发者占了近3成,2~5人的开发者为33.2%,6~10人的开发者占17.3%。表面看移动应用似乎成为个人或者小团队创业的福音,但从进一步的数据看,情况并不乐观,目前52.4%的移动开发者没有收入,仅有8.9%的人对盈利状况感到满意。

中国软件开发者过去一年移动应用所针对的平台分布

中国软件开发者过去一年移动应用所针对的平台分布

中国软件开发者未来一年移动应用所针对的平台分布

中国软件开发者未来一年移动应用所针对的平台分布

当然就移动开发者群体的主观感受而言,收入匮乏并不是最值得担心的,毕竟现在刚刚进入移动互联网时代,大量潜力还没有得到充分挖掘,所以一段时间内的清贫都是可以承受,目前开发者们最关心的还是如何“多、快、好、省”地做出满足用户需要的产品,因此最困扰大家的难题是“应用开发平台的功能限制”,占据51.2%,排第二位的是“开发工具和语言复杂”,有35.6%。
就移动应用的具体内容来看,中国移动开发者过去一年开发过的移动应用主要是手机单机游戏和手机小工具,比例分别为48.8%和30.8%,其次是手机网络游戏和社会化应用,比例分别为18.6%和11.0%。而在未来一年的开发计划里,手机单机游戏、手机小工具的开发比例下降,分别为34.0%和25.4%,企业/行业应用、社会化应用等应用的开发比例明显上升,反映出开发者对这些应用正寄予厚望。

对于移动创业者,如何在五花八门的移动平台里选择合适的切入,是必须面对的抉择。从调查看,Android显得众望所归,71.9%的开发者将在下一年选择它开发应用程序,排名第二的iOS则占据26.7%的比例。

云计算:亟待进一步落地

云计算,和移动开发、物联网一样,也是业界公认的未来重要发展趋势之一。近两年来,业界上下对于云计算的炒作不遗余力,各大城市的云基地也纷纷破土而出,颇有一幅“大风起兮云飞扬”般的兴盛气象。然而根据我们这次调查,发现云计算离真正落地中国还有一段距离,目前48.6%的开发者还没有使用过任何虚拟化产品。

中国软件开发者使用过的虚拟化产品分布

中国软件开发者使用过的虚拟化产品分布

中国软件开发者使用过的云计算平台分布

中国软件开发者使用过的云计算平台分布

在云计算平台使用状况的调查中,从没有使用的开发者占62.1%,而平台使用率最高的是新浪和谷歌Apps Engine,分别为12.4%和9.6%。尽管云计算产品和技术使用率不高,但开发者们还是给予了极大的关注,在“开发者最关注的技术方向”调查中,云计算以38.9%高居第二位(第一是移动开发,占48%)。和移动开发不同,云计算无论是技术门槛,还是创业成本都很高,再加上牵扯一系列法律监管问题,目前只有少数能调动各方面资源的IT巨头或者资本权贵才玩得起,大多数开发者驻足观望也不足为奇,云计算在中国的进一步落地,还需要些时间。

结束语

看完“2011中国软件开发者年度调查”的各种数据,我最想说的一句话是“青草正在悄悄生长”。从整个产业格局,从定性的层面,中国软件以及开发者群体的生存状态,没有太大的变动,但微观到具体的应用领域,在产业大趋势(移动、云计算等)的冲击下,你会发现各种力量(产品、技术、市场)对比正此消彼长,新的产业链正逐渐形成——中国软件正踏步在转型的大道上,而对于希望进一步提升自己的开发者来说,正迎来了未雨绸缪、蓄势待发的关键时机。本文引用的数据,仅是“2011中国软件开发者年度调查”的极小一部分,如欲看完整的调查报告,请注意关注CSDN网站。

本文选自《程序员》杂志2011年08期,更多精彩内容敬请关注08期杂志

相关 [中国 软件开发] 推荐:

2011中国软件开发者年度调查

- Angus - 技术改变世界 创新驱动中国 - 《程序员》官网
由CSDN和《程序员》杂志举办的“中国软件开发者年度调查”,已经历时7个年头. 这段时间内,世界在变、产业在变,开发者也在变,而我们的调查无论是调研方式、数据采集渠道,还是样本处理方法等也顺应时代和技术发展,进行了相应革新. 本次年度调查广泛涉及开发者社区、技术、工具、厂商等各个层面,除了延续以往的规范化、全面深入的特性,今年最大的特性是根据2010~2011年的技术趋势和热点,以及厂商新推出的产品技术,对调查项进行了调整和增补,力求准确及时地反应中国软件市场的最新变化.

软件开发的核心

- - 博客园_知识库
  「我们一直这样做开发,时间做久了,便忘了当初的本意.   有关软件系统开发,我们谈些什么.   我们谈过程,编码规范、开发流程、同行评审、结对编程、持续集成,从瀑布到敏捷再到极限编程.   我们谈架构,企业级、J2EE、容器化、SOA(面向服务架构)、Microservices(微服务化).   我们谈规模,大容量、高并发、大数据.

软件开发的“三重门”

- - 酷壳 - CoolShell.cn
自从上次写了“ 程序员技术练级攻略” 以来,就觉得似乎还有很多东西没有谈到,但当时没有继续思考了. 而春节前有人问我,是做底层技术,还是做业务. 这问题让我思考了很多,不由自主地回顾了一 下我这十多年的软件开发经历,并顺着整理分类了一下自己解决过的若干问题,还发散想了很多,经过了一个春节假期的发酵,产生了下面这篇文章.

软件开发的人文关怀

- - 博客园_知识库
  几年前,我从温伯格的《技术领导之路》中学到一点:技术人员往往更喜欢和机器打交道,因为他们“认为”自己更适合和机器打交道;但是,优秀的技术人员必须(也必然)具备好的沟通能力. 所以,温伯格鼓励各位技术人员多加练习和其他人打交道的能力. 温伯格的这个观点我是非常赞成的,好的技术人员一定需要“勇敢”面对他人,不能被“自实现的预言”局限在机器的世界里.

软件吞噬软件开发

- - PingWest中文网
软件蚕食世界,自互联网特别是移动互联网连接线上线下服务后,已成为不可逆的趋势. 每一项实用的服务可以由小团队来完成. 以WhatsApp为例,这款被高调收购的IM应用,拥有4.5亿月活跃用户,70%的日活跃率,至今还保持每天新增用户1000万的速度. 但这些服务居然由32名工程师支撑下来了,所以有了业界八卦“每位员工价值20亿”的说法.

软件开发中的两种态度

- - 外刊IT评论网
一种态度认为,应该对程序员在软件开发中的行为进行约束( DirectingAttitude). 持这种态度的人认为大部分的程序员水平都不高(谣传说有50%的人低于平均水平),所以应该对他们所做的事情进行管教约束. 要防止他们做一些可能会给他们正在开发的系统带来危害的事情. 通常,这种态度体现在一些系统设计和工具中时,你会发现它们会试图阻止程序员去做某些事情,限制程序员的一些做法,以此避免他们陷入过于复杂的境况.

软件开发的人文关怀

- - 极客公园-GeekPark
我是极客公园黑板报认证值日生. [核心提示]软件可以没有活力,而软件开发却不能没有活力;程序可以像机器一样,程序员却不能像机器一样. 要改变这种状态,就应当增添更多的人文关怀,把开发人员当成活生生的人,而不是视为程序或者工具. 编辑注记:本文来自余晟的博客 乱象,印记. 作者从自己的经验出发,提出了一些给软件开发人员提供人文关怀的可行措施.

软件开发模型综述

- - CSDN博客推荐文章
                     软件开发模型概述. 最早出现的软件开发模型是1970年W·Royce提出的瀑布模型. 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架. 软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段.

防火长城内的软件开发

- - Solidot
对于软件开发者来说,防火长城不只是屏蔽网站过滤流量这么简单——它是痛苦之源,尤其是如果你想开发针对中国市场之外的软件或想利用广泛使用的服务和软件库的话. 上海聊天机器人创业公司Rikai Labs的创始人DC Collier认为,中国的软件开发者写代码的时候一只手是绑在背后的. 防火长城的屏蔽范围日益扩大,这意味着越来越多的服务被永久性或不定期的屏蔽.

自上而下的软件开发和自下而上软件开发

- - 外刊IT评论网
自上而下(Top Down)开发模式是指从一个应用的最高点开始开发. 从最高点逐步往下层编码,直到开发完所有的任务. 一旦写完了最下层的代码,开发任务就完成了. 使用这种方式,你需要设计、编写出所有你需要的但还没有实现模拟接口、服务、伪代码. 自下而上(Bottom up)开发模式是指从一个应用的最底层开始开发.