自1994年我国正式接入互联网,到2009年移动互联网爆发,随着国内物联网、智慧城市、智慧交通、人工智能的一路蓬勃发展,全国各地对IT人才的需求也出现了飞跃式增长。
在2019年开始之际,为了提高国内程序员的技术水平,更好地发挥自己的优势,补齐短板。“全球开发者平台”参考多方数据,对国内外程序员的技能、工作状况等作了较为全面的比较总结,希望引发大家的认知和重视,并找到提高的方法。
思维模式对比
-价值取向-
- 外国
外国程序员大多数是因为热爱编程而从事这份工作的,他们往往会在某个领域专注研究几十年。甚至50岁以上的程序员仍安心待在同一个岗位写代码,钻研技术。另一方面,国外的程序员,专心写程序并专研,他的级别和工资就会年年往上涨。
- 中国
在中国,真正因为热爱编程而从事这份工作的人并不多,很多人学习程序都是因为这个行业火,工资高,入行门槛低。不过,到了30岁,如果没能进入管理层,大多数人都会考虑转行,或仅靠自身的知识累积开始创业。
-职业诉求-
- 国外
欧美人非常注重发展个人的“创新”能力,愿意花大量的时间去尝试创造。
- 中国
中国的程序员更关注物质回报,尤其是到了创造力高峰的时候却被现实牵绊。中国程序员职业黄金时期所要面对的干扰非常大,一是要让自己融入英语技术圈子,其次要应付没追求的世俗文化。
-思维模式-
- 国外
国外的程序员更多地去思考和专研这个工具的产生和原理,然后可能会自己优化出2.0之类的,到了中年往工具开发这个方向走。***的程序员往往有系统性的思考方式、勇于去研究不懂的代码,并且精通代码调试,擅长制作、整合工具等。
- 中国
国内的大部分程序员只是工具的使用者,不会思考工具的产生和原理,用惯了一个高效的工具就被这个工具套牢成为奴隶。对不曾接触过的代码,很多人都没有尝试就放弃了。中年更多是往管理、服务业以及转行等方面发展,创新不够。
工作现状对比
-性别年龄-
- 外国
虽然在历史的长河中,女性在科技界的贡献并不亚于男士,但从调查数据来看,国外的女程序员为数不多。也许是因为在生理结构和心理素质、思维模式上与男性的差异使她们在职场中遭受了某些偏见。无论是女程序员最集中的前端,还是从事的Java,企业给女程序员开出的平均年薪,均低于男程序员5万至6万。
- 中国
据调查显示,中国近一半的程序员年龄在25-29岁之间,且35岁以上占一成不到。如图所示:
中国程序员一直由男性主导,程序员男女比例接近12:1,单性别职业***。如图所示:
-工作地区-
- 各国
在这个高科技飞速发展时代,哪个国家哪座城市的高科技正在迅速发展?美国知名的科技博客Business Insider选出了全球Top20高科技城市排行榜:
- 美国加州旧金山——国际标准科技中心
- 美国纽约——正在迅速发展
- 英国伦敦——初创企业多
- 美国加州洛杉矶——高科技行业多
- 中国台湾台北——硬件工业设计领先
- 韩国首尔——科技创新应用多
- 美国马萨诸塞州波士顿——创新实验室、大学初创企业多
- 新加坡——智能交通建造
- 加拿大多伦多——初创企业、创新基础设施增多
- 美国伊利诺伊州芝加哥——城市规划创新
美国德克萨斯州达拉斯-沃斯堡——风险资本增长
日本东京——正为2020年的东京奥运会做准备
瑞典斯德哥尔摩——正在实现数字化和环境革命
加拿大温哥华——数字媒体公司多
荷兰阿姆斯特丹——金融技术、能源效率、初创企业
中国北京——专利数量名列前茅
中国上海张江高科技园——申请专利和风投突出
加拿大蒙特利尔——虚拟现实、智能服装
印度班加罗尔——IT公司暴增
中国深圳——工厂和机器人产业中心、专利申请数量超高
- 中国
中国程序员主要集中在一线城市,其中北京市(17.18%)、杭州市(13.50%)、上海市(11.04%)、广州市(9.52%)和深圳市(8.59%)。以上5座城市均为中国互联网企业的聚集地。
由上图可见,国内一线城市依然是程序员的主要聚集地,一些经济发达、科技公司密集的二线城市也聚集了大量的程序员。
各主要城市发展前景排序为:上海、北京、深圳、杭州、广州、成都。
在各职业群体中,程序员希望在当前城市扎根的比例并不高。21.1% 的程序员考虑去其他城市发展,此占比明显高于其他职业。仅有 17.6% 的程序员考虑回到家乡(出生地)生活发展。仅 49.1% 的一线城市程序员计划在当前城市扎根生活,而 74% 的新一线城市程序员和 65.1% 的二线城市程序员有同样规划。
-薪资收入-
- 美国
据美国科技猎头公司Hired发布的2017年《全美程序员薪水调查报告》报告显示:作为众多科技大本营硅谷湾区以平均年收入14.2万美金的成绩蝉联了***。另外,Austin、 LA、Washington DC也渐渐能与湾区的高薪相提并论。不过,国外的消费也相对要高。
在全球范围内,科技工作者年薪平均涨幅为5%,已达到13.5万美金。而Austin、LA和华盛顿DC的工资涨幅已超过平均水平,增长了6%~7%。而波士顿、Denver和巴黎出现下滑。
从Hired平台上收集的自愿种族统计数据来看,白人从业者的工资***,而黑人从业者的工资***。
交通行业薪水***
近几年,随着Uber、Lyft等出租车公司网络订车的服务越来越火,Google、Tesla、百度也在无人驾驶领域发展得如火如荼。这说明了为什么Transportation Technology类的公司,给程序员的待遇***。
由上表可见,外国科技工作者的薪水在40岁中期达到高峰15.1万美元,随后稍有下降,并会一直在15万美元左右徘徊,直到退休。
另外,年轻的20-34岁的求职者,拿到的工资,比公司实际愿意offer他们的工资要低得多。
从近三年的工作调查来看,年收入的1/5低于60,000,不到10万的总人数接近60%,而1/4的程序员年薪10万至15万,15万以上占15%。与其他行业相比,40%的人群月薪超过1万。
经过5到10年的工作,年收入超过10万以上的超过90%,只有2.7%不到6万。 据《2018年中国程序员现状报告》调查显示,年薪5W以下的程序员仅占6.2%,且年龄都在25岁以下,工作年限只有1-2年;大多数程序员年薪在9-30w,平均月薪达到10k以上;年薪40万以上平均年龄为36岁。如图所示:
2018年国内程序员年薪状况
根据城市排名来看,大城市中,平均年薪***当属北上广深。其次是IT氛围***的深圳和杭州,腾讯、华为、阿里巴巴这些互联网巨头也造就了这些城市程序员的“高薪”地位。
据调查,程序员整体收入水平仅次于受访企业中高层管理者。
上海程序员总体收入水平***,16.9% 上海程序员月入 2 万及以上。广州和成都的程序员超半数月收入在一万元以下。
-工作压力-
- 外国
科技初创公司的各种诱人的福利,从高昂的薪水、奖金到免费的餐饮、公司内部的健康俱乐部和国际旅游,但是,所有这些都是有代价的。
软件工程师通常每天上午九点钟开始上班,忙到半夜才回家。压力很大,紧张的***期限、大量积压的工作,以及执行重要任务时害怕失败的心理,等等,繁忙的节奏、冗长的工作时间和持续的压力往往会让他们感到虚脱。尽管有着这样那样不如意的地方,但是大多数软件工程师仍然非常热爱自己的工作。
- 中国
在各职业群体中,程序员自我评估的工作压力并不突出。匆忙但从容,虽然工作时间较长,但仅 23% 程序员认为目前的工作压力较大或难以应对。52.2% 程序员认为目前的工作略有压力,需要进一步提升自我。
据调查显示:
- 广州、北京的程序员工作压力相对较大。
- 上海程序员压力较小,28.9% 上海程序员认为目前的工作处理起来得心应手。
- 如果压力有重量,27.9% 的广州程序员和 24.3% 的北京程序员可能已经被压弯了腰。
不同专业工作压力:
- 程序员中,项目经理认为目前的工作压力***。
- 处于中间层的项目经理压力***,38.4% 的项目经理认为目前的工作压力较大甚至难以应对。
- 部门经理 / 资深技术专家及以上最为从容,42.3% 认为目前的工作得心应手。
-工作状况-
- 外国
在美国,因生活方式、习惯、态度、法制等的差异,大部分公司都是准时下班,基本上没有强制加班。有事情的话可以在家上班,不过每天的工作时间也不短。另一方面,长时间加班,美国雇员是不会干的,老板也付不起加班费。
硅谷公司一般都可以接受在家上班,家里有事就可以在家工作不来公司,但要和大家保持联系,工作还是要完成的。这种频率一般是一个月一两天。
加不加班,主要看公司,其次看组;加班的程度,标准差异也非常大。大部分公司大部分组日常很少超过8点,但on call的时候24小时连轴转也是可能的。
- 中国
程序员平均每周工作时长约 47.5 小时。44% 程序员每周工作时长为 41-50 小时,33.5% 的程序员每周工作 50 小时以上,5.7% 的程序员每周工作 70 小时以上。
据调查显示:
上海程序员最忙,平均每周工作时长为 48.9 小时。
深圳程序员较闲,平均每周工作时长为 47.0 小时,28.6% 每周工作时长在 40 小时及以内。
广州程序员,有的很忙有的很闲,41% 广州程序员每周工作 50 小时以上,但也有 24.6% 每周工作 40 小时及以内。
虽然中国程序员平时工作压力很大,经常加班,但可以看出他们对自己工作现状都比较可观,没有太多的负面情绪。
国内程序员工作满意度
技术能力对比
擅长语言
- 外国
下面这张图显示了不同国家在各种测试中的编程语言偏好:
总的来说,全世界的程序员选用Java的比例都要高于其它语言(只有极少数的例外:如马来西亚和巴基斯坦的程序员更喜欢C++,台湾的程序员更喜欢Python)。斯里兰卡的程序员是选Java比例***的,为HackerRan贡献了相当多程序员的印度则排名第八。
- 中国
据调查,在计算机语言方面,中国程序员使用Java、PHP和Python的最多,这也符合世界计算机语言流行度。
国内程序员擅长语言及职业方向
由上表可见,中国程序员擅长语言多为Java(41.4%)、Java(38.6%)和PHP(22.4%)等。
另外Python(15.2%)、C语言(14.3%)、C#(13.3%)和C++(12.9%)等也是使用较多的计算机语言(注:此项为多选,总和大于100%)。
-擅长领域-
各国程序员在哪些特定领域表现***呢?请看下图:
从上表看出,中国在相当多的领域都表现出色。比如,在数据结构、数学和函数式编程方面,中国的程序员就频频崭露头角。
另外,在算法领域***名是俄罗斯程序员,第二和第三名则是波兰和中国。
怎么解释不同国家和地区在不同领域的水平差异?
可能是,俄罗斯的程序员更喜欢参加算法类的比赛,也就会在这一领域投入更多精力,而大部分中国程序员则更喜欢参与数据结构类的项目。
从每个国家的程序员在不同的项目中花费的时间对比,也能看出不同国家在特定领域的偏好或擅长。如图:
如上表所示,中国程序员在数学竞赛中的参与度远远高于预期平均水平。捷克人shell编程***,很擅长这项。其他国家的选择偏好和擅长领域好像并没有必然联系。
-解决问题-
美国程序员
美国程序员的探索研究能力非常强,经过一定时间的研究后,能提出一套非常具体有效的方案然后一步一步去解决问题。
中国程序员
中国程序员规定好的方案普遍完成的非常好,但如果没有具体方案,完全是一个开放性课题,很多时候程序员会完全无法下手。
原因大概是因为两国教育方式不同,一个善于解决问题,另一个善于发现探索问题。
-技术实力-
工作初期,中、美两国程序员差距不大,5年后开始出现变化了。
- 美国
美国程序员10年以上经验的人有的是。例如,有一个工作经验是30年,从dos时代就开发debugger一直干到现在;一个24年工作经验外加5年的博士研究经验;还有两个从毕业到现在一直从事CLR diagnostic api的开发到现在基本都干了十几年了。
- 中国
在中国,多数程序员工作5-6年就开始想转管理。虽然这5-6年在代码上积累的经验很多高于美国程序员,但在某一项技术上很少有人钻研超过10年。
-整体实力-
美国程序员社区HackerRank曾经做过一个调查:哪个国家拥有***的开发者,结果让人大跌眼镜。该调查为每个领域制定了打分标准,使用z评分模型,得出了以下的结果:
由上表可以看出,中国的分数***,将中国的分数作为100的基准分,则俄罗斯的分数为99.9,两国仅相差0.1。另外,波兰和瑞士也以98的高分进入前列,榜单尾巴上的巴基斯坦得分仅为57.4。
印度和美国为全世界贡献了最多的程序员,但没有进入榜单的前25,只分别以76和78的分数排名31和28。
-整体能力-
***工程师水平:美国 >中国 >日本 =欧洲 =韩国 >印度
***程序员水平对比
平均水平:中国 =美国 >欧洲 =印度 >日本 =韩国
平均水平对比
大型互联网公司技术能力:美国 >中国 >其他国家总和
大型互联网公司技术水平
总之,从综合实力来看,当前的编程界,虽然编程绝大部分都以英文为载体,但中国的程序员的整体水平,已经达到了世界排名的前列。无论公司角度,还是计算机技术能力角度,现在世界上只有两个国家能放在一起比较:一个美国,一个中国。
对基层的程序员而言,中国人水平远高于美国人。中国程序员解决实际问题的能力强,效率也高。但高阶技术职位,例如架构师一类的,美国要高一等,因为在这样的职位上,中国技术人员往往专注于解决实际问题,而不是解决技术问题。
中国程序员算法能力普遍高于其他国家,很多***的程序员都是华裔。大师级程序员需要技术上的坚持,时间上的坚持,职业上的坚持,才能成就。