记者 / 常政 由CSDN和《程序员》杂志举办的“中国软件开发者年度调查”,已经历时7个年头。这段时间内,世界在变、产业在变,开发者也在变,而我们的调查无论是调研方式、数据采集渠道,还是样本处理方法等也顺应时代和技术发展,进行了相应革新。本次年度调查广泛涉及开发者社区、技术、工具、厂商等各个层面,除了延续以往的规范化、全面深入的特性,今年最大的特性是根据2010~2011年的技术趋势和热点,以及厂商新推出的产品技术,对调查项进行了调整和增补,力求准确及时地反应中国软件市场的最新变化。由于篇幅所限,本文仅管仲窥豹,捡其要点,以飨诸位读者。 [caption id="attachment_7418" align="alignright" width="300" caption="不同从业时长的软件开发者性别分布"]
不同从业时长的软件开发者性别分布
[/caption] [caption id="attachment_7419" align="alignright" width="300" caption="不同从业时长的软件开发者的创业计划分布"]
不同从业时长的软件开发者的创业计划分布
[/caption] [caption id="attachment_7420" align="alignright" width="300" caption="中国软件开发者所在公司行业分布"]
中国软件开发者所在公司行业分布
[/caption] [caption id="attachment_7421" align="alignright" width="300" caption="中国软件开发者主要开发的软件类型分布"]
中国软件开发者主要开发的软件类型分布
[/caption] 软件开发者:孤独而稳定的群体 从性别比例看,开发者真的是孤独的群体,从事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%左右,远低传统软件开发领域。 [caption id="attachment_7422" align="alignright" width="300" caption="中国软件开发者使用的第一编程语言分布"]
中国软件开发者使用的第一编程语言分布
[/caption] [caption id="attachment_7423" align="alignright" width="300" caption="中国软件开发者目前开发的项目所应用的操作系统分布"]
中国软件开发者目前开发的项目所应用的操作系统分布
[/caption] 在所有的脚本语言中,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%。 [caption id="attachment_7424" align="alignright" width="300" caption="中国软件开发者软件开发过程统计"]
中国软件开发者软件开发过程统计
[/caption] 软件工程: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%。 移动应用:方兴未艾 [caption id="attachment_7425" align="alignright" width="300" caption="中国软件开发者移动应用开发遇到的最大问题分布"]
中国软件开发者移动应用开发遇到的最大问题分布
[/caption] [caption id="attachment_7426" align="alignright" width="300" caption="中国软件开发者未来一年计划开发的应用类型分布"]
中国软件开发者未来一年计划开发的应用类型分布
[/caption] 移动应用尽管在中国软件生态链格局里占据并不多的份额,但绝对在开发者心目中占据重要位置,它不仅预示产业和技术的未来潮流,而且随着几年前苹果的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%的人对盈利状况感到满意。 [caption id="attachment_7427" align="alignright" width="300" caption="中国软件开发者过去一年移动应用所针对的平台分布"]
中国软件开发者过去一年移动应用所针对的平台分布
[/caption] [caption id="attachment_7428" align="alignright" width="300" caption="中国软件开发者未来一年移动应用所针对的平台分布"]
中国软件开发者未来一年移动应用所针对的平台分布
[/caption] 当然就移动开发者群体的主观感受而言,收入匮乏并不是最值得担心的,毕竟现在刚刚进入移动互联网时代,大量潜力还没有得到充分挖掘,所以一段时间内的清贫都是可以承受,目前开发者们最关心的还是如何“多、快、好、省”地做出满足用户需要的产品,因此最困扰大家的难题是“应用开发平台的功能限制”,占据51.2%,排第二位的是“开发工具和语言复杂”,有35.6%。 就移动应用的具体内容来看,中国移动开发者过去一年开发过的移动应用主要是手机单机游戏和手机小工具,比例分别为48.8%和30.8%,其次是手机网络游戏和社会化应用,比例分别为18.6%和11.0%。而在未来一年的开发计划里,手机单机游戏、手机小工具的开发比例下降,分别为34.0%和25.4%,企业/行业应用、社会化应用等应用的开发比例明显上升,反映出开发者对这些应用正寄予厚望。 对于移动创业者,如何在五花八门的移动平台里选择合适的切入,是必须面对的抉择。从调查看,Android显得众望所归,71.9%的开发者将在下一年选择它开发应用程序,排名第二的iOS则占据26.7%的比例。 云计算:亟待进一步落地 云计算,和移动开发、物联网一样,也是业界公认的未来重要发展趋势之一。近两年来,业界上下对于云计算的炒作不遗余力,各大城市的云基地也纷纷破土而出,颇有一幅“大风起兮云飞扬”般的兴盛气象。然而根据我们这次调查,发现云计算离真正落地中国还有一段距离,目前48.6%的开发者还没有使用过任何虚拟化产品。 [caption id="attachment_7429" align="alignright" width="300" caption="中国软件开发者使用过的虚拟化产品分布"]
中国软件开发者使用过的虚拟化产品分布
[/caption] [caption id="attachment_7430" align="alignright" width="300" caption="中国软件开发者使用过的云计算平台分布"]
中国软件开发者使用过的云计算平台分布
[/caption] 在云计算平台使用状况的调查中,从没有使用的开发者占62.1%,而平台使用率最高的是新浪和谷歌Apps Engine,分别为12.4%和9.6%。尽管云计算产品和技术使用率不高,但开发者们还是给予了极大的关注,在“开发者最关注的技术方向”调查中,云计算以38.9%高居第二位(第一是移动开发,占48%)。和移动开发不同,云计算无论是技术门槛,还是创业成本都很高,再加上牵扯一系列法律监管问题,目前只有少数能调动各方面资源的IT巨头或者资本权贵才玩得起,大多数开发者驻足观望也不足为奇,云计算在中国的进一步落地,还需要些时间。 结束语 看完“2011中国软件开发者年度调查”的各种数据,我最想说的一句话是“青草正在悄悄生长”。从整个产业格局,从定性的层面,中国软件以及开发者群体的生存状态,没有太大的变动,但微观到具体的应用领域,在产业大趋势(移动、云计算等)的冲击下,你会发现各种力量(产品、技术、市场)对比正此消彼长,新的产业链正逐渐形成——中国软件正踏步在转型的大道上,而对于希望进一步提升自己的开发者来说,正迎来了未雨绸缪、蓄势待发的关键时机。本文引用的数据,仅是“2011中国软件开发者年度调查”的极小一部分,如欲看完整的调查报告,请注意关注CSDN网站。 本文选自《程序员》杂志2011年08期,更多精彩内容敬请关注08期杂志
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐