对编程开发人员在今年的一些建议
一、今年的大环境
这几天身体不太好,又不断看到地狱级的就业问题。所以有些想法想和大家分享一下,并提出自己的一些想法和建议。今年的大环境不好,做为非专业人士,咱们也不分析,以免贻笑大方。但针对大环境下的计算机特别是编程这个行业可以有一些切身的经验来讨论一下。
目前大家都看到的是,互联网大厂没事儿就在做架构调整,这个意思大家应该明白是什么意思。中型互联网公司基本是就是一刀斩,除了个别赢利的项目大多已经被砍掉了。更可怕是的,这种一刀斩,不是一锤子买卖,而是不断的来一刀斩。微小软件企业,是重灾区,可能晚上还在加班,第二天来了公司没了。
依赖融资的,今年融资几乎难到了天上。靠产品的,销售量也大符下降。下降其实不可怕,可怕的是某些行业开始大幅的拖欠销售款。许多中小型公司就这样被拖垮了。
二、具体的情况
从目前来看,身边大厂的朋友基本上还在就业的都人心惟危,被裁员的,很难找到一个匹配的工作。能够说象以前一样舒适的,只有极个别的名校毕业且在大厂从事AI算法研究的。
从身边的就业情况看,一般来说,学历高,学历背景好的开发人员,仍然有较大的竞争优势。比如名校的本科以上学历,硕士以上学历的,一般即使遇到二次就业的情况,仍然还是能够比较快速找一个相对比较匹配的工作。这个匹配,包括工作环境、薪资、福利等等。
这里面有一个重要的问题需要提及,那就是年龄。目前来看,身边开发者二次就业最难的有以下几种情况:
1、年龄大于38岁以上
这个好理解,年龄大,公司不好PUA,不好裁员,不好…,反正大了是原罪。但需要说明的是,年龄大,但背景好、学历高并且技术一直处于上升的开发者来说,仍然影响不大。
2、本科以下学历
典型的就是前端,大家如果有心看一下,前端的就业者,学历高的凤毛鳞角。特别在中小企业,几乎都是一些没有学历或者上过培训班的开发者,他们本身就不是热爱编程而是热爱编程可能带来的高薪。这也不难理解为什么这次前端是重灾区的原因。
3、选错行业或者选错语言的开发者
男怕选错行么,这个没办法。比如做MIS开发的,可能现在很多人都不知道MIS是啥。如果没有及时转的,估计现在只能叹息了。
4、技术停滞的开发者
这种开发者众多,很多人在进入某个公司后,特别是进入大厂后,在掌握了当前工作需要的技能后,便不再寻求突破。倒也不能说混日子,工作仍然是踏实的推进完成。但就是丧失了进取心。那么当到达35岁时,又逢现在的大周期,刀就砍过来了。大量大厂的从业人员被开,这类人,占相当大的比重,其中,不乏有名校毕业生。
还是那句话,这里不讨论原因,只分析具体情况,许多事情,我们是无法控制的。说多了,可能还会有莫名之祸。说句不太恰当的话,只能适应。存人失地,则人地皆存。我们自己就是最重要的资本。
三、一些建议
针对上面的情况。个人有一些具体的建议,当然不是提倡卷,但现在的这个环境下,不卷又能怎么办?有办法,那就是RUN出去。但对绝大多数人来说这是不太可能的事情,所以咱们就时论事,提几个建议讨论一下:
1、找准一个未来五到十年比较有发展的方向,研究开发并深耕业务。举个简单例子,搞医疗的某个行业,比如CT设备。
2、学习一些不太容易淘汰的语言工具,如C/C++,并适当跟进一些有前途的新语言,如Rust。可能会有一些意外的小惊喜。
3、做一个能在一线战斗的资深专家级架构师。或者说能架构,能开发,能耍酷,最重要的是能解决问题。
4、针对自身的环境做反思,该抛弃快速抛弃,该坚持继续深耕。该转移阵地,要根据自身情况大胆转移阵地。比如搞PHP的赶紧放弃,但放弃不是一下子就啥都不干了,要坚持住的同时最大速度的学习另外的工具语言。
5、交朋友。特别是技术好、人品好、人缘好的朋友。
6、改造我们学习,不断的学习进步。多读书,多开拓视野。
7、积极向上,乐观豁达,坚强勇敢,善于斗争。
8、有一个健康的身体并坚持锻炼。
哪些行业有发展前途,真不好说,但有一些不好的,肯定是知道的。比如前端特别是移动前端,近期虽有恢复,但整体已经远不如前。Java,在就业上有较大退步,但仍然得承认,瘦死的骆驼比马大。行业里最典型的就是VR、虚拟人、元宇宙等等。这里提一个比较特殊的如军工行业,这个行业没有大家想象的好,国企不知道,但相关的私企基本就是三天打鱼两天晒网。
所以,在这个经济大周期中,行业就是就业的先导,然后是技术本身,再是绸缪未雨。如果个人的能力不是多么突出,不建议强行跳槽,目前仍然以稳定现在,准备未来,防止意外三种情况为主。
稳定现在就是保持现有的工作稳定性,不到万不得已,不主动辞职;准备未来就是这个大周期下,特别是年轻人,要积极准备未来周期向上的技术和知识内容;防止意外就是针对可能公司的意外倒闭、裁员等要有准备,比如学会节流,要保持有现金流,尽量杜绝个人的非必要消费。
所有的一切,都要根据自身的情况来具体的分析,而不要盲从。自己把握自己的人生,要不断的反思复盘得失,不断的努力学习。
四、总结
人生就是这样,我们经历了四十年蓬勃向上的快速发展,让很多人误以为奋斗是可以改变命运。这句话其实不完全对,真正改变命运的是奋斗和机遇。可这四十年,是有历史以来,最为机会丰富和频出的时代。可以这样说,机会才能使奋斗转变为真正的命运改变。纵览历史,这段时间是一个历史的偶然时代而非常态,所以需要后来者放平心态,不辍努力,但也要睁大眼睛,去发现并千方百计的抓住那愈来愈少的机会。
读书可以改变命运,学历决定未来的往昔,已经如烟一样的开始幻灭!
相关文章:
对编程开发人员在今年的一些建议
一、今年的大环境 这几天身体不太好,又不断看到地狱级的就业问题。所以有些想法想和大家分享一下,并提出自己的一些想法和建议。今年的大环境不好,做为非专业人士,咱们也不分析,以免贻笑大方。但针对大环境下的计算机…...

VSCode设置好看清晰的字体!中文用鸿蒙,英文用Jetbrains Mono
一、中文字体——HarmonyOS Sans SC 1、下载字体 官网地址:https://developer.huawei.com/consumer/cn/design/resource/ 直接下载:https://communityfile-drcn.op.dbankcloud.cn/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20230517…...

SpringBoot新手快速入门系列教程四:创建第一个SringBoot的API
首先我们用IDEA新建一个项目,请将这些关键位置按照我的设置设置一下 接下来我将要带着你一步一步创建一个Get请求和Post请求,通过客户端请求的参数,以json格式返回该参数{“message”:"Hello"} 1,先在IDE左上角把这里改为文件模式…...

第1集《修习止观坐禅法要》
《修习止观坐禅法要》诸位法师,诸位学员,阿弥院佛! 我们今天能够暂时放下世间的尘劳,大家在一起研究佛法的课程,这件事情在我们的生命当中是非常的稀有难得。 基本上,我们佛法的修习目的是追求身心的安乐…...
markdown变量引用
格式 变量定义通常是路径或网络链接 变量测试...
如何使用echart做K线图
使用ECharts制作K线图需要先引入ECharts的库文件,然后通过调用相应的API来配置和渲染K线图。以下是一个简单的示例代码: // 引入ECharts库文件 <script src"https://cdn.jsdelivr.net/npm/echarts5.0.0/dist/echarts.min.js"></scri…...
Spring Boot应用使用GraalVM本地编译相关配置
1. 介绍 Java应用程序可以通过Graalvm Native Image提前编译生成与本地机器相关的可执行文件。与在JVM执行java程序相比,Native Image占用内存更小和启动速度更快。 从spring boot3开始支持GraalVM Native Image,因此要使用此特性,需要把sp…...
代码的坏味道——长函数
前言:一个函数应该尽量做一件事情,如果非要做多个事情,要做函数提取,每次迭代应该考虑到是否有重复代码或者可以优化的代码。 长函数:长函数的产生: 逻辑是平铺直叙的需求迭代没有考虑优化,一次…...

【机器学习】基于密度的聚类算法:DBSCAN详解
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 基于密度的聚类算法:DBSCAN详解引言DBSCAN的基本概念点的分类聚类过…...

Qt 网络编程 网络信息获取操作
学习目标:网络信息获取操作 前置环境 运行环境:qt creator 4.12 学习内容 一、Qt 网络编程基础 Qt 直接提供了网络编程模块,包括基于 TCP/IP 的客户端和服务器相关类,如 QTcpSocket/QTcpServer 和 QUdpSocket,以及实现 HTTP、FTP 等协议的高级类,如 QNetworkRe…...

linux中的进程以及进程管理
程序和进程的区别和联系 程序(Program): 程序是一组指令的集合,通常存储在磁盘或其他存储设备上,是一种静态的概念。程序本身并没有运行,它只是一个可执行的文件或脚本,包含了一系列的指令和数…...
pyecharts可视化案例大全(11~20)
pyecharts可视化案例大全(11~20) 十一、设置动画效果十二、直方图带视觉组件十三、设置渐变色(线性渐变)十四、设置渐变色(径向渐变)十五、设置分割线十六、设置分隔区域十七、面积图十八、堆叠面积图十九、自定义线样式二十、折线图平滑处理十一、设置动画效果 在图表加载前…...
Docker在人工智能领域的应用与实战
摘要 人工智能(AI)技术的快速发展带来了对高效开发和部署工具的需求。Docker作为一个创新的容器化平台,为AI领域提供了强大的支持。本文详细介绍了Docker在AI模型开发、训练、部署以及服务器集群管理等方面的应用,并探讨了其在数…...

python基础篇(8):异常处理
在Python编程中,异常是程序运行时发生的错误,它会中断程序的正常执行流程。异常处理机制使得程序能够捕获这些错误,并进行适当的处理,从而避免程序崩溃。 1 错误类型 代码的错误一般会有语法错误和异常错误两种,语法错…...
FortiClient 用IPsec VPN 远程拨号到FortiGate说明文档
说明:本文档针对IPsec VPN 中的Remote VPN 进行说明,即远程用户使用PC中的FortiClient软件,通过VPN拨号的方式连接到公司总部FortiGate设备,访问公司内部服务器。在配置之前需要统一VPN策略和参数,如模式… 说明&#…...

Git-Unity项目版本管理
目录 准备GitHub新建项目并添加ssh密钥Unity文件夹 本文记录如何用git对unity 项目进行版本管理,并可传至GitHub远端。 准备 名称版本windows11Unity2202.3.9.f1gitN.A.githubN.A. GitHub新建项目并添加ssh密钥 GitHub新建一个repositorywindows11 生成ssh-key&…...

每日一题~ leetcode 402 (贪心+单调栈)
click me! 这个贪心的推导在leetcode上已经很明确了。 click me! 删除k个数,可以先考虑删除一个数。这也是一种常见的思路。(如果进行同样的操作多次,可以先只 考虑一次操作如何实现,或者他的影响。完成这一次操作后,…...

设计模式之模版方法
模版方法介绍 模版方法(Template Method)模式是一种行为型设计模式,它定义了一个操作(模板方法)的基本组合与控制流程,将一些步骤(抽象方法)推迟到子类中,使得子类可以在…...

docker部署redis/mongodb/
一、redis 创建/root/redis/conf/redis.conf 全部执行命令如下 docker run -it -d --name redis -p 6379:6379 --net mynet --ip 172.18.0.9 -m 400m -v /root/redis/conf:/usr/local/etc/redis -e TXAsia/Shangehai redis redis-server /usr/local/etc/redis/redis.conf 部署…...
LeetCode 581. 最短无序连续子数组
更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡,更多解法等你一起来参与哦! LeetCode 581. 最短无序连续子数组,难度中等。 排序 解题思路:首先对数组排序,然后找出两侧顺序的数组&#x…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...

【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...