当前位置: 首页 > 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

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

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...