程序员(英文Programmer)是从事程序开发、程序维护的专业人员,别名“程序猿”“码农”。

程序员法人团体的发展与信息技术革命息息相关,其兴起和发展历程展现了科技时代下职业形态的演变与变迁。截止2018年统计数据显示程序员群体有以下显著特征:性别构成以男性为主、年龄结构上以年轻化为特点、集中在中国国内一线城市及互联网产业发展迅猛的城市、收入水平较高。一般将程序员分为程序设计人员和程序编码人员,但在中国两者的界限并不非常清楚。根据工作内容的繁简难易、轻重大小及所需资格,程序员可分为初级程序员、中级程序员和高级程序员。10月24日被称为“程序员节”或“码农节”,这个节日的意义之一是为了让社会关注程序员们的身心健康以及各项权益,从而促进互联网领域的健康发展。

随着年龄增长,程序员可能会面临生理机能上思维敏锐度和记忆力的自然衰退,同时,由于互联网行业的快速发展和工作强度特性,程序员这个职业面临年龄、自身需要不断学习和职场晋升的挑战。

职业概况

定义

程序员(英文Programmer)指的是一种职业,一个群体,一个以程序的设计,开发等工作为主的新兴法人团体

在职业分工上,尽管存在程序设计人员与程序编码人员的传统区分,但在实际工作中,尤其是在中国的软件行业中,这两类角色的职责往往相互交融。

职责使命

程序员不仅是各类应用程序背后的驱动力量,更是推动数字技术落地、塑造人们数字生活体验的关键群体。

工作范围

程序员的工作范围广泛,从基础的软件开发、测试,到高级的系统架构设计、性能优化,再到新兴的人工智能算法开发、云计算技术应用等,具体有开发、设计、运维、运营和内容等。

职业定位

程序员的角色并不仅仅局限于编写代码,他们还需要具备一系列综合能力,如沟通、项目管理、问题反思、人才培养和团队协作等,许多程序员在职业生涯中会选择不同路径,既可以沿着专家路线不断提升技术层级,也可转向管理岗位,通过领导团队创造更大业务价值。

从业规模

程序员作为一个全球范围内庞大且不断壮大的职业群体,其从业规模随着信息技术行业的快速发展而持续扩大。根据工信部数据显示,截至2020年底,中国软件业从业人数为698 万人。GitHub数据显示,2021年中国开发者规模达755万。

历史沿革

起源

第一位程序员是阿达·洛芙莱斯·奥古斯塔·拉夫拉斯伯爵夫人(Ada Augusta Lovelace,1815~1852),1842年爱达在剑桥大学帮助巴贝奇研究分析机,并给予巴贝奇极大的鼓舞。爱达根据巴贝奇的理论设计并改正其中的错误,建议用二进制存储取代原设计的十进制存储。她指出分析机可以像雅各织布机一样进行编程,并发现了进行程序设计(Pragram design)和编程(Programming)的基本要素,还为某些计算开发了一些指令,例如可以重复使用某些穿孔卡片,即现代的“循环"程序和“子程序”。由于她在程序设计上的开创性工作,被誉为是世界上第一位程序员。

后来有一种新语言以Ada的名字命名,这也就是 Ada 语言的来历。

发展

20世纪中叶,随着计算机技术的发展,首台电子计算机ENIAC诞生,科研人员利用ENIAC编写了复杂的指令序列来进行计算任务,标志着程序员职业的初步形态。随着计算机技术的不断进步,高级编程语言的出现极大地简化了程序设计的过程。FortranCOBOLLISP和C等语言的发明,使得更多非硬件专家也能参与到编程工作中来。到了20世纪60年代至70年代,随着小型计算机和微处理器的普及,程序员群体进一步扩大,并开始专业化分工。

伴随80年代personal computer和90年代互联网的兴起,程序员的角色变得更加多元化和关键。在这个阶段,操作系统、数据库管理系统、Web技术和移动应用等领域得到了飞速发展,产生了Java、PythonC++、JavaScript等广泛应用的编程语言,程序员不再仅仅局限于大型组织内部,越来越多的独立开发者和创业公司在软件行业崭露头角。

现状

程序员作为一个职业群体,其崛起与发展与信息科技的快速演进密切相关。随着科技时代的推进,特别是在全球范围内逐渐形成的“全民编码”文化现象中,程序员这一群体规模得到显著提升。例如,在美国,自2017年12月起,已有约两万名教师在幼儿园至十二年级阶段开展了编程课程教学,全民代码知识的普及使得编代码迅速普及。

进入21世纪,云计算大数据人工智能和物联网等新兴技术领域的崛起,催生了更多种类的程序员职位,如数据科学家、机器学习工程师、全栈开发者等。与此同时,开源社区的壮大和敏捷开发理念的推广,改变了程序员的工作方式和协作模式,促进了全球范围内的技术共享和快速迭代。

职业特点

截止2018年统计数据显示程序员群体呈现出以下特征:

性别构成

程序员群体主要以男性为主,女性极少。一项调查揭示,程序员群体中男性与女性的比例接近12:1。

年龄结构

程序员群体以年轻化为特点,35岁以下占据主导地位。大约半数的程序员年龄分布在25至29岁区间内,而35岁以上的程序员占比不足一成。

地域分布

中国程序员集中于中国国内一线城市及互联网产业发展迅猛的城市。北京市、上海市以及浙江省广东省的城市,程序员人数相对较多。

公司属性

程序员就业的主要载体为民营企业。大部分程序员在民营企业任职,自由职业者的占比接近一成,国有企业中的程序员比例不足10%。

编程语言技能

程序员掌握最多的编程语言依次为Java、JavaScript和PHP。此外,Pythonc语言C#以及C++等也是程序员广泛应用的编程语言。

收入水平

程序员普遍享有较高的薪资待遇。大部分程序员年薪位于9至30万元区间,平均月薪超过1万元,相较于其他行业薪酬水平明显偏高;年薪达到40万元以上的程序员,其平均年龄约为36岁。

等级分类

按工作繁简难易

根据工作内容的繁简难易、轻重大小及所需资格,程序员可分为初级程序员、中级程序员和高级程序员。高级程序员工作是把文字描述的需求说明书变成流程图,判断是否分叉,框图描述后,变成概要设计说明书。中级程序员把概要说明书变成详细说明书,最后再由初级程序员把详细的说明书变成一行行的程序。

按工作内容

程序员根据工作内容的不同,大概分为四种类型:第一种是一线的开发工程师,也就是人们常说的‘码农’,他们的工作主要以执行为主,完成功能的开发即可;第二种是架构师,除了执行外,还要理解业务、技术,能抽象出既满足业务又符合技术逻辑的架构;第三种是技术专家,技术专家一般会在相关领域有较深的积累和经验,例如人工智能(AI)、大数据等,具有一定的深度,能解决业务痛点、难点甚至是行业痛点、难点问题。第四种是技术管理,在技术深度的基础上拥有更宏观的视野,把握和理解公司战略,结合实际带领团队找到对应的业务技术方向。

从业资格

专业技能

正确理解计算机语言

编程规范化

会搭建良好的程序架构

掌握清理和优化程序策略

文化素质

在早期计算机编程行业的兴起阶段,由于领域尚处发展阶段,对从业者的背景要求相对较为灵活,企业愿意接纳具有一定学习能力和决心的新手,即使他们的实际工作经验有限或无相关经验。然而,随着计算机科学领域的普及和人才市场的日趋饱和,拥有大学学历的重要性日渐凸显,成为了求职者进入该行业的有力资质。

为了甄选合适的编程人才,人力资源管理者通常会实施能力评估测试,以验证应聘者是否具备潜在的编程技能和问题解决能力。不少企业在正式录用新员工之前,还会安排其参加外部计算机学校或内部培训课程,培训周期可以根据需求从几周至数月甚至一年不等。

高等教育体系中,除了传统的四年制本科教育,许多大专院校也提供为期两年的课程,例如数据处理、计算机编程以及其他相关的技术学科。而在四年制大学及综合性高校中,计算机科学系通常设有各类与计算机紧密相关的专业,旨在全面培养学生的编程及相关技能,为他们未来的职业生涯奠定基础。

对于要求具备大学学历的雇主而言,虽然在专业选择上并无严格限制,但数学和计算机科学专业的毕业生因其扎实的基础理论知识和应用技能而备受青睐。除此之外,诸如商务管理、会计、工程学或物理学等其他专业的毕业生同样有机会在计算机编程行业中找到立足之地。政府部门对于程序员的招聘标准也与私营企业大体相当,注重候选人的教育背景和技术能力。

素质要求

薪资待遇

程序员是全球公认的高收入职业之一,根据2022年智能招聘平台Code Submit统计分析显示,美国瑞士以色列位居程序员平均薪资排行榜前三甲,丹麦加拿大挪威澳大利亚英国德国瑞典亦位列前十。在中国,程序员的平均年薪为23790美元(折合约16.11万元人民币)。

综合各国编程语言薪资情况来看,Golang和Ruby通常被列为高薪编程语言类别,而JavaScript和PHP则在薪资排行中处于相对低位。

职业困境

随着年龄增长,程序员可能会面临生理机能上思维敏锐度和记忆力的自然衰退,同时,由于互联网行业的快速发展和工作强度特性,程序员这个职业面临年龄的挑战。根据统计数据,互联网行业尤其是程序员群体呈现明显的年轻化态势,35岁以下从业人员占比远高于全国同年龄段就业人口比例。尽管有一半“大龄”程序员仍然坚守在一线技术岗位,或转型为架构师、研究员、技术专家等角色,但仍有人因行业年轻化趋势遭受裁员或被迫离职。

行业技术快速迭代,需要程序员不断学习新技术,不少程序员因时间和精力的局限使其难以跟上行业发展步伐。加之工作内容的重复性与高强度加班,不少程序员对工作的热情逐渐减退。

行业内部存在一种普遍看法,即35岁之后仍在一线编码的程序员可能遭遇职业瓶颈。“大龄”程序员如果无法通过技能提升转变为架构师、研究员和技术专家等角色,有人会选择离职、创业或转行至教育培训、企事业单位、自媒体等行业。

相关节日

程序员节,是程序员的共同节日,也被称为“码农节”。

1024是2的十次方,二进制计数的基本计量单位之一,是程序员每天都在打交道的数字。同时,1024MB是1GB,而1GB与1级谐音,也有一级棒的意思。再加上每年10月24日是“联合国日”(1947年起),也是世界发展信息日,所以这一天对于程序员来说非常有纪念意义。

相关争议

2024年初创公司Cognition推出了全球首位AI软件工程师Devin,其能自主学习新技术,自己改Bug,甚至成功通过一家AI公司面试。虽然研发团队表示,Devin的任务是帮助人类进行编程,让程序员解决更难更有趣的问题,并非要取代程序员,但仍然引发未来AI时代是否需要程序员的广泛讨论。不少从业者担心Devin这类AI程序员技术可能会让人类程序员失去工作。

百度集团董事长兼首席执行官李彦宏曾表示,以后不会存在“程序员”这种职业。但是360集团创始人周鸿祎则认为人工智能时代将更需要程序员,“我依然认为优秀的工程师、程序设计人才,是不能被取代的。”同时清华大学战略与安全研究中心特约专家朱荣生认为“未来编程行业可能会受到一定冲击,但是人在这其中的作用不可或缺。”

参考资料

数字世界|什么是程序员?.今日头条.2024-04-15

1024程序员节来了!程序员们齐许愿:头发多多,BUG少少.今日头条.2024-04-16

幽默的程序员节 诠释了互联网的当下与未来.今日头条.2024-04-17

35岁是道坎儿,互联网行业容不下“大龄青年”?.百家号.2024-04-16

程序员的369个灵魂发问.今日头条.2024-04-16

青年程序员:“码农”过了35岁还有价值吗?.百家号.2024-04-16

2022程序员职场生态:超七成本科生起薪破万,跳槽首选智能汽车和芯片行业.百家号.2024-04-16

开源:数字技术扩散促进数字技术创新.光明网.2024-04-16

科技|12 位专家谈 2021 年人工智能的发展趋势.51cto.2024-04-16

走进青年程序员:“码农”过了35岁还有价值吗?.光明网.2024-04-16

各国程序员平均年薪排行榜:中国16.11万 排名19位.今日头条.2024-04-16

全球首位AI程序员诞生 人类程序员会失业吗?.今日头条.2024-04-15