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

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

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...