他工作10年,老板却让他走人
大家好,我是五月,一个编程街溜子。
二狗被裁了,他在公司待了快十年,他想留下来,老板却让他走。
我和他一样困惑。
他985毕业,工作中有从0开始一个项目直到日活过千万,也有过参与顶级产品核心模块开发经历,理论基础和实践经验丰富。
这不妥妥的技术骨干么?
程序员究竟能不能干一辈子?

判断程序员这个职业能不能干一辈子,个人觉得主要是看3个方面:
入行门槛
入行门槛,指的就是入这一行难不难,以及人才成型需不需要吃大量资源。
程序员乍一看门槛很高,需要聪明的头脑,需要学很多日新月异的知识,但是他的门槛却是最低的一档。
没看错,就是最低的一档。
想一想当年的口号:千军万马转程序员!
能千军万马转,说明能转,说明门槛不高。不然怎么没有千军万马转医生呢,怎么没有千军万马转飞行员呢?
或许有人说,程序员有智力门槛呀,愚钝一点的人脑子根本转不动。
但那也是智力门槛呀,而不是专业门槛,成为程序员又不需要看你的专业。
虽然“计算机”才是程序员的对口专业,但是实际上大部门程序员不是学计算机的出身的,甚至很多程序员大神压根就没上过大学。
再加上当程序员不需要你投入太多的资源,只要你逻辑能力达标,英语水平足够,有点自学能力,花几个月时间自学都可以转程序员。
因为程序员的教程在网上太多太多太多了!
不仅各种沙雕培训班一抓一大把,各种专业语言的教程随便送,甚至还有人手把手教你,把饭喂你嘴里。
容易获取专业知识同样也是门槛低的体现。
还有一点,一个程序员能力的高低,完全是可以靠自己的努力来体现。
人家只认你的编程水平,把代码和项目晒出来就行了,只要你的代码写得足够好,你的相貌、背景、衣着打扮、谈吐呀都是没人关心的,他非常的公平。
不像金融行业,虽然也是不限专业,学啥的都有,但是你自己努力的作用远不及爸妈努力来的有用,这东西,你出生没有,这辈子大概率就没有了。
也不像医生,出身必须是相关学校的相关专业,还得有对口医院接收。培养一个医生,需要各种昂贵的器材损耗、烧死的脑细胞,倒霉的小白鼠、患者血淋淋的素材等等。
更不像飞行员,培训成本极高,飞行员本人的价值甚至超过等体重的黄金。
这个道理适用于任何职业,甚至任何一个个体:
你成型吃下的资源越多,你的门槛就越高,越不可替代,企业开除你的损失就越多,你就越有价值。

行业是否永远存在刚需
程序员市场的需求极其不稳定,需要曲线可以用荡秋千来形容,神一阵鬼一阵的。
有一个真相是程序员刚开始的工资是不高的,传统IT和软件、硬件工程师的工资也是不高的。
然后互联网浪潮来了,涌现了大量的独角兽企业,有大量是市场和职位开拓,各种概念烧钱赋能,各种巴啦啦能量。
越是大量的需求接踵而来,程序员这个群体的供给没有跟上,待遇就哐哐哐的往上涨。
在浩浩荡荡地喊了十几年的千军万马转程序员后,供给跟上了,但是需求没有那么多了。

浪潮中各个领域也就剩下了那么几家企业在风中摇摆,而且核心业务也没有那么大的增长了。
很多靠烧钱的新部门新项目都被砍掉了,就连维护老项目,也不需要那么多人了。
大量人员待业,同时还有大量新人涌入,供给严重失调。
这几年,别说不对口的,就连全程对口的程序员,入行都不顺利。

是否属于高效率行业
是否高效率,就看有没有出现效率个体或者技术技术改革,能让一个人干十几二十个人,甚至上百个人的活儿,干掉大量的岗位。
你一个医生不能同时医治十个病人;
你一个飞行员不能同时开十驾飞机;
但是你程序员这一行,真的有大神能一个当一百号人来用的。
而且这行业,有开源的玩法,只有你有一个好的构思想法,在网上告知出去,很快就有一群人来帮你完善,不断迭代版本。
不仅可以学习,甚至还能直接当生产力,当个ctrl+CV大神,帮助你快速努力。
有时候甚至都不需要太努力,擅于利用搜素引擎,就能快速提升生产力。
也正因为如此,一个新人的性价比快速提升,就把老人给卷没了。
过高的效率,使得整个行业飞一般的发展,飞一般的迭代,飞一般的共享知识,飞一般的帮助更多的新人涌入,飞一般产生更多更有效率的玩法,飞一般产生更多的技术和工具····
也就飞一般的淘汰这个领域的岗位和数量。
然后企业发现了,好像一个项目砍掉一般人照样运转,甚至可以全部换成低工资的新人,只要重要岗位有老人看着就好。

小结
即使是这样,程序员依旧是当下最好的行业之一了,他的起点工资就比其他职业高出不少。
能用十年二十年时间赚到其他职业三四十年赚到的钱,在我看来已经是很幸福了。
我认为觉得程序员干不了一辈子的说法,问题并不全在行业上,而在于程序员的思维。
很多程序员并没有意识到,自己其实占了职业便宜,产生了错觉,以为自己一直都能用高于其他行业的收入,就养成了把后半辈子的钱也一起花掉的消费习惯。
本质上这才是很多人陷入危机的根本原因。
无论你已经是一枚程序员,还是说正在考虑进入这个行业,都要记住:
在前期一定要多赚钱存钱,不要养成高消费的习惯,尽量多吃资源,增加你的独特性,把自己从一个随处可见的零件变成一个不那么好找替代品的高价值零件。
相关文章:
他工作10年,老板却让他走人
大家好,我是五月,一个编程街溜子。 二狗被裁了,他在公司待了快十年,他想留下来,老板却让他走。 我和他一样困惑。 他985毕业,工作中有从0开始一个项目直到日活过千万,也有过参与顶级产品核心…...
vpp怎么写node
VPP(Vector Packet Processing)是一个高性能的数据平面开源项目,用于构建网络功能虚拟化(NFV)和软件定义网络(SDN)解决方案。它由Cisco开发,并在Apache 2.0许可下发布。 在VPP中&am…...
【4. ROS的主要通讯方式:Topic话题与Message消息】
【4. ROS的主要通讯方式:Topic话题与Message消息】 1. 前言1.1 王者解释结点通讯:1.2 通讯小结 2. 灵活的Topic话题图解2.1 话题注意细节2.2 外延补充 3. Message消息图解3.1 消息类型3.2 查看标准消息类型std_msgs 4. 使用C实现Publisher发布者4.1 发布…...
【react全家桶学习】react中组件定义及state属性(超详/必看)
函数式组件定义及特点 定义(核心就是一个函数,返回虚拟dom): import React from reactexport default function index() {return <div>index</div> }特点: 1、适用于【简单组件】的定义2、是一个函数&a…...
如何以产品经理思维打造一所高品质学校?
学校的建设与管理真不是一件容易事。2023年03月17日,山东菏泽市曹县一家长投诉某中学课业繁重,孩子经常写作业到半夜;2023年4月4日,张先生在华龙网重庆网络问政平台投诉万州区某中学伙食差,指出“发灰的洋葱࿰…...
根治Spring中使用Mongo时报错InvalidMongoDbApiUsageException
文章目录 And Or迷惑原因 告别InvalidMongoDbApiUsageException问题简单解决根本解决修改源码 代码(省流,可以直接看这里) And Or 很多时候都需要进行逻辑的与或操作,但是spring当中自带的操作并不好用,于是做了相关的改进&#…...
【计算机组成原理】数据的表示和运算·进位计数制
🚩 本文已收录至专栏:计算机基础 我们可以通过显示屏看到各种形式的数据信息,但数据是如何在计算机中表示呢?运算器又是如何实现数据的算数、逻辑运算? 十进制数是最适合我们日常使用的一种计数方式,除此之…...
C++ Primer第五版_第十四章习题答案(21~30)
文章目录 练习14.21练习14.22头文件CPP文件 练习14.23头文件CPP文件 练习14.24头文件CPP文件 练习14.25练习14.26练习14.27练习14.28练习14.29练习14.30 练习14.21 编写 Sales_data 类的 和 运算符,使得 执行实际的加法操作而 调用。相比14.3节和14.4节对这两个运…...
服务器性能调优
硬件 如果是硬件瓶颈就换硬件 (包括CPU、内存、网卡) 软件 如果是方案架构设计有问题就换方案,比如mysql、redis方案有问题 建议先 top 看下软件瓶颈在哪,CPU、内存、网络(netstat),哪个进程占…...
带你深入学习k8s--(三) pod 管理
目录 一、简介 1、什么是pod 2、为什么要有pod 二、pod的分类 0、pod常用命令命令 1、准备镜像 2、自主式pod 3、控制器创建pod 4、扩容pod数量 5、通过service暴露pod(负载均衡,自动发起) 6、更新应用版本 三、编写yaml文件 四、Pod生命周期…...
前端系列11集-ES6 知识总结
ES Module 优点 静态分析 浏览器和 Node 都支持 浏览器的新 API 能用模块格式提供 不再需要对象作为命名空间 export 用于规定模块的对外接口 输出的接口与其对应的值是动态绑定关系可以取到模块内部实时的值 import 用于输入其他模块提供的功能 具有提升效果,会提升…...
连接分析工具箱 | 利用CATO进行结构和功能连接重建
导读 本研究描述了一个连接分析工具箱(CATO),用于基于扩散加权成像(DWI)和静息态功能磁共振成像(rs-fMRI)数据来重建大脑结构和功能连接。CATO是一个多模态软件包,使研究人员能够运行从MRI数据到结构和功能连接组图的端到端重建,定制其分析并…...
【目标检测论文阅读笔记】Detection of plane in remote sensing images using super-resolution
Abstract 由于大量的小目标、实例级噪声和云遮挡等因素,遥感图像的目标检测精度低,漏检率或误检率高。本文提出了一种新的基于SRGAN和YOLOV3的目标检测模型,称为SR-YOLO。解决了SRGAN网络 对超参数的敏感性和模态崩溃问题。同时,Y…...
外卖app开发流程全解析
外卖app开发是现代餐饮业的一个必备部分。在这个数字化时代,人们更愿意使用手机应用程序来订购食品。因此,为了满足客户需求,餐饮企业需要开发自己的外卖app。 第一步:确定目标受众 在开始外卖app的开发之前,需要确定…...
BUUCTF jarvisoj_level0
小白垃圾做题笔记而已,不建议阅读。。。 这道题感觉主要就是64位程序ebp8 题目中给出了shellcode 我们直接将返回地址覆盖就好。 在main函数中调用了vulnerable_function()函数。 vulnerable函数是一个漏洞函数:(存在缓溢出),我们只需要将…...
网络安全之入侵检测
目录 网络安全之入侵检测 入侵检测经典理论 经典检测模型 入侵检测作用与原理 意义 异常检测模型(Anomaly Detection) 误用检测模型(Misuse Detection) 经典特征案例 编辑自定义签名 编辑 签名检查过程 检测生命周期…...
元数据管理
1、业务元数据 描述 ”数据”背后的业务含义主题定义:每段 ETL、表背后的归属业务主题。业务描述:每段代码实现的具体业务逻辑。标准指标:类似于 BI 中的语义层、数仓中的一致性事实;将分析中的指标进行规范化。标准维度…...
C# WebService的开发以及客户端调用
目录 1、WebService简介 1.1 什么是XML? 1.2 什么是Soap? 1.3 什么是WSDL? 2、WebService与WebApi的区别与优缺点 2.1 WebService与WebApi的区别: 2.2 WebService的优缺点: 2.3 WebApi的优缺点: 3…...
有符号数和无符号数左移和右移
主要是有符号数的左移。 有的说不管符号位,直接左移,所以可以一会正数一会复数 https://bbs.csdn.net/topics/391075092 有的说符号位不动,其他来左移 不明白了。。。。 https://blog.csdn.net/hnjzsyjyj/article/details/119721014 https://…...
Netty小白入门教程
一、概述 1.1 概念 Netty是一个异步的基于事件驱动(即多路复用技术)的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。 1.2 地位 Netty在Java网络应用框架中的地位就好比,Spring框架在JavaEE开发中的地位。 以下的框架都使用了Nett…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
