当前位置: 首页 > news >正文

程序员们,我们能工作到65岁吗?

软件开发人员的职业生涯可以持续多久?这是大多数认真考虑成为专业程序员的人不禁想知道的事情。 在谈论这样一个要求很高的职业时,这是一个非常自然的问题。没有人愿意花费数年时间学习一项技能,这些技能将在几年内不再相关,或者当您年老时将更难货币化。 因此,今天我们将尝试回答这个问题并提供一些信息,以帮助您更清楚地了解会发生什么。

软件开发的平均职业生涯持续多少年?

当然,当涉及到具体的数字和预测,你可以期望你的软件开发职业生涯持续多久时,不会有明确的答案,因为所有这些都是非常主观和个人的。 然而,我们确实知道,许多专业程序员非常喜欢他们的工作,在某些情况下,他们仍然是高级开发人员几十年,即使他们有职业发展的选择,比如从编码职位转到管理职位。 Stack Overflow Developer Survey 2020被认为是目前最全面的专业开发人员调查之一,可以为我们提供一些相关信息,说明典型的软件开发人员倾向于在这条职业道路上停留多长时间。总体而言,在参与调查的近 48,000 名专业开发人员中,大约 60% 的人在 10 多年前学会了如何编码,25% 的人在 20 多年前掌握了编程。当谈到专业编码的年数时,全球 33.6% 的响应者或略高于 16,000 人表示他们已经作为软件开发人员工作了 10 多年。11.4%或5,447名受访者表示,他们的职业生涯已经持续了20多年。 鉴于软件开发行业本身并不是很古老,真正从事这个行业一辈子的老手很难找到,但这样的人是存在的,而且并不罕见。具体来说,参与Stack Overflow调查的0,4名专业开发人员中有191.47%或779名表示他们已经编码了40多年。48人说他们已经在这个行业工作了半个多世纪! 这并不奇怪,因为我们知道软件开发人员平均倾向于真正喜欢他们的工作。尤其是Java开发人员。根据招聘网站Indeed的研究,在所有专业人士中,Java开发人员最不可能离开他们的职业,而不仅仅是在科技领域。他们的职业转换率不到8%,而对于软件开发人员职业来说,一般是27%,而对于数据库管理员来说,这一比例是35%。即使提供了更高级别的管理职位,大多数Java程序员也不想放弃它。这可能是Java编程是大多数程序员正确职业选择的最好证明。

添加图片注释,不超过 140 字(可选)

软件开发人员的职业发展选择

如您所见,软件开发人员在各种编码角色中拥有终身职业生涯并不罕见。当然,这并不适合所有人,许多人确实更喜欢转到其他职位,甚至最终选择其他职业道路。 幸运的是,行业内软件开发人员有很多职业发展选择。让我们仅举几例。

高级管理职位

  • 首席技术官(首席技术官)

  • 首席信息官(首席信息官)

  • 首席数字官

  • 首席创新官

  • 团队首席软件工程师

  • 软件架构师

  • 工程副总裁

  • 产品主管

产品角色

  • 质量保证工程师

  • 项目管理人

  • 产品经理

  • Scrum Master

  • 用户体验设计师

以客户为导向的角色

  • 销售工程师

  • 开发者营销人员

  • 技术招聘人员

  • 布道者/技术公关主管

  • 客户支持

开发运营支持

  • 开发运营工程师

  • 技术支持

  • 数据库管理员

  • 可靠性工程师

分析角色

  • 安全分析师

  • 研发工程师

  • 数据科学家

独立角色

  • 自由开发者

  • 开发顾问

  • 创业创始人

想法和意见

上面列出的所有选项,这不是完整的列表,应该证明软件开发人员确实有很多职业发展选择,以及在其领域的其他专业中具有相当大的流动性。 尽管如此,许多经验丰富且受人尊敬的程序员仍然选择在整个职业生涯中担任高级程序员。为什么?没有人会比编码老手自己更好地解释它。 “我是一名65岁的软件工程师,曾在Apple,Adobe,eBay,Microsoft,VMware,Cisco,FileMaker,XO Communications,2Wire,Egnyte,Nexsan和其他两家初创公司工作。在我的职业生涯中,我被解雇了五次。我总是在 3 到 4 周内找到另一份工作——即使在经济衰退期间也是如此。我的工作曾四次外包给印度或中国:尤其是在过去的八年里。尽管如此,之后总会有另一个就业机会在等待。我喜欢我的工作。我还在做;而且,我没有立即停止这样做的计划。而且,我很擅长。这并不是因为我是一个天才,而是因为我已经做了很长时间的软件开发,我从错误中吸取了教训,“拥有30多年专业经验的软件开发人员Steven Ussery说。 即使你已经66岁了,你也可以得到谷歌的offer,来自美国的软件开发人员康纳·斯特里克兰(Connor Stricklan)告诉我们:“我认识的一位软件开发人员最近接到谷歌招聘人员的电话,问他来为他们工作需要什么。这位开发人员实际上已经在谷歌工作过,但他大约五年前离开去从事其他项目,他不想住在一个有谷歌办公室的城市。那个66岁的开发者就是我的父亲。他正在领取社会保障,同时受到谷歌的追捧。他经营自己的公司、咨询和成为员工,职业生涯充实。他在TCP网络,USB协议,802.11b实施和军事GPS等众多技术的早期阶段做出了贡献。然后他在2008年被谷歌聘用,当时他58岁。在谷歌工作期间,他用Java编写软件,这种语言直到他45岁才被发明出来。而且他是个人贡献者,没有任何其他工程师向他报告。 “从初级开发人员到高级开发人员,再到团队领导/经理,再到现在重新开发,我一生都在从事软件开发工作(尽管希望尽快回到管理层)。我的工作生涯现在已经将近40年了,在那段时间里,随着我工作的公司的变化,我改变了领域和技术。然后,我利用这种新经验在必要的时候找到新的职位,这反过来又导致了其他新的领域和技术。一直以来,我都知道开发人员比我老或年长,“StackExchange开发人员社区的用户ChrisF说。 显然,在某些技术领域,开发人员主要是老年人是一种常态。这就是高级嵌入式系统工程师和StackExchange用户tcrosley对此事的看法:“在我的嵌入式系统中,我很少遇到40岁以下的人。在我的创业公司,除了我自己之外,我们在不同时期有四个不同的承包商,其中三个超过50岁。我已经60多岁了,没有计划很快退休。我已经做了近40年的这类工作,它仍然很有趣。有些日子,我简直不敢相信我能得到报酬来做我所做的事情。

相关文章:

程序员们,我们能工作到65岁吗?

软件开发人员的职业生涯可以持续多久?这是大多数认真考虑成为专业程序员的人不禁想知道的事情。 在谈论这样一个要求很高的职业时,这是一个非常自然的问题。没有人愿意花费数年时间学习一项技能,这些技能将在几年内不再相关,或者当…...

【洛谷 P1996】约瑟夫问题 题解(队列+模拟+循环)

约瑟夫问题 题目描述 n n n 个人围成一圈,从第一个人开始报数,数到 m m m 的人出列,再由下一个人重新从 1 1 1 开始报数,数到 m m m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。…...

字符串函数与内存函数讲解

文章目录 前言一、字符串函数1.求字符串长度strlen 2.长度不受限制的字符串函数(1)strcpy(2)strcat(3)strcmp 3.长度受限制的字符串函数(1)strncpy(2)strncat(3)strncmp 4.字符串查找(1)strstr(2)strtok 5.错误信息报告(1)strerror(2)perror 二、内存函数1.memcpy2.memmove3.me…...

c语言系统编程之多进程

程序与进程的区别? 程序是静态的未运行的二进制文件,存储在磁盘中 进程是已经运行的二进制文件,存储在内存中 进程的内存划分图有哪几部分? 堆(存储malloc和calloc出来的空间)、栈(局部变量…...

前端还是后端:探讨Web开发的两大街区

前端还是后端:探讨Web开发的两大街区 一、引言二、两者的对比分析技能要求和专业知识职责和工作内容项目类型和应用领域就业前景和市场需求 三、技能转换和跨领域工作四、全栈开发结语 一、引言 Web开发领域涉及到前端开发和后端开发这两个不同而又互为补充的领域。…...

JavaScript中如何确定this的值?如何指定this的值?

🎀JavaScript中的this 在绝大多数情况下,函数的调用方法决定了this的值(运行时绑定)。this不能在执行期间被赋值,并且在每次函数呗调用时this的值也可能会不同。 🍿如何确定this的值: 在非严格…...

ubuntu下源码编译方式安装opencv

基础条件 ubuntu 20.04 opencv 3.4.3 opencv 源码编译的安装步骤 第一步, 首先clone源码 git clone https://github.com/opencv/opencv.git第二步,依赖包,执行下面的命令 sudo apt-get install build-essential sudo apt-get install cmak…...

spring boot整合常用redis客户端(Jedis、Lettuce、RedisTemplate、Redisson)常见场景解决方案

Java操作redis有三种客户端供选择:Jedis、Lettuce、Redisson。 在实际项目中运用最多的客户端还是Redisson、RedisTemplate;其中RedisTemplate并非是一个新的redis客户端实现,RedisTemplate是Spring Data Redis中提供的封装好的redis操作模板…...

HarmonyOS之运行Hello World

目录 下载与安装DevEco Studio 配置环境 创建项目 认识DevEco Studio界面 运行Hello World 了解基本工程目录 工程级目录 模块级目录...

postgresql数据库|wal日志的开启以及如何管理

一, wal的基本概念 WAL即Write Ahead Log预写式日志,简称wal日志,相当于oracle中的redo日志。只是oracle中redo是固定几个redo日志文件,然后轮着切换去写入。pg中wal日志是动态切换,单个wal日志写满继续写下一个wal日志,连续不断生成wal日志。&#xf…...

小波变换学习笔记【1】

【声明】本博客为学习B站视频小波分解与重构所做笔记,供自己和大家查阅学习,想查看 up 原视频请移步 B 站,侵删。 1.1 小波变换的由来 傅里叶变换基本思想:将信号分解成一系列不同频率的连续正弦波的叠加。 其缺点是,…...

雷柏mv20鼠标使用体验

用了1年多,第一次用竖着的鼠标,现在已经很习惯了,感觉还不错。说说使用感受: 1、 仍然是长时间使用鼠标,但是很少出现手腕痛的情况,确实是有一定效果的。 2、使用场景是有限制的,我是配合笔记…...

【分布式云储存】Springboot微服务接入MinIO实现文件服务

文章目录 前言技术回顾准备工作申请accessKey\secretKey创建数据存储桶公共资源直接访问测试 接入springboot实现文件服务依赖引入配置文件MinIO配置MinIO工具类 OkHttpSSLSocketClient兼容ssl静态资源预览解决方案资源上传预览测试测试结果 前言 上篇博客我们介绍了分布式云存…...

机器人中的数值优化|【四】L-BFGS理论推导与延伸

机器人中的数值优化|【四】L-BFGS理论推导与延伸 往期内容回顾 机器人中的数值优化|【一】数值优化基础 机器人中的数值优化|【二】最速下降法,可行牛顿法的python实现,以Rosenbrock function为例 机器人中的数值优化|【三】无约束优化,拟牛…...

ThemeForest – Canvas 7.2.0 – 多用途 HTML5 模板

ThemeForest 上的 HTML 网站模板受到全球数百万客户的喜爱。与包含网站所有页面并允许您在 WP 仪表板中自定义字体和样式的 WordPress 主题不同,这些设计模板是用 HTML 构建的。您可以在 HTML 编辑器中编辑模板,但不能在 WordPress 上编辑模板&#xff0…...

本地部署 川虎 Chat

本地部署 川虎 Chat 1. 川虎 Chat 项目概述2. Github 地址3. 部署 川虎 Chat4. 配置 config.json5. 启动 川虎 Chat 1. 川虎 Chat 项目概述 为ChatGPT等多种LLM提供了一个轻快好用的Web图形界面和众多附加功能。 支持 GPT-4 基于文件问答 LLM本地部署 联网搜索 Agent 助理…...

IntelliJ IDEA 控制台中文乱码的四种解决方法

前言 IntelliJ IDEA 如果不进行配置的话,运行程序时控制台有时候会遇到中文乱码,中文乱码问题非常严重,甚至影响我们对信息的获取和程序的跟踪。开发体验非常不好。 本文中我总结出四点用于解决控制台中文乱码问题的方法,希望有助…...

23岁准备转行嵌入式

前端难找工作,而且感觉没有前景,我觉得我就算入行也不会干多久,软件开发让我感觉不到实在的东西。小时候喜欢去动手制作一些玩具,我对实在一些的东西感兴趣一些例如手表,小机器人等等一些。我有保持坚持学习下去的动力…...

http请求报错:406 Not Acceptable的解决办法

目录 应用场景 基本概念 解决方法 方法一: 方法二: 方法三: 应用场景 接口在返回结果集的时候出现了406的报错,但是返回String类型不会报错,正常返回。 基本概念 406 Not Acceptable是一个HTTP响应状态码&…...

信息化发展75

数字化治理 数字化治理通常指依托互联网、大数据、人工智能等技术和应用,创新社会治理方法与手段,优化社会治理模式,推进社会治理的科学化、精细化、高效化,助力社会治理现代化。数字化治理是数字经济的组成部分之一,…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...