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

关于程序员中年危机的一个真实案例

​ 关于中年危机,网上已经有了各种各样的解读。但是,这两天一个学员跟我简单几句聊天,却触发了对于中年危机的另一种思考。如果你曾经也有点迷茫,或许你可以稍微花几分钟看下这个故事。

一、无奈的故事

在这里插入图片描述

​ 39岁还出来面试,确实也是挺难的。还被学员喷得要死。这几个题目说难不难,只要系统的学过Java,没有不会的。我相信这哥们开发这么多年,曾经绝对都会的。不过在开发工作中很难直接用上,如果没有持续学习的习惯,然后又没有专业的培训机构来给你提提醒,多年以后,这些知识点也确实挺容易忘记的。闯荡江湖,精通了各种CRUD的姿势,但是却忘了当年钻牛角尖的激情。

在这里插入图片描述

​ 开发中不在意的这些东西,才是大龄程序员真正的价值。成熟业务的CRUD工作,学起来是很快的,做得再熟练,随便找一两个年轻人,分分钟替换掉了。但是对软件本质的理解,是一个日积月累的过程,急不来的。这些核心的问题,就不是靠人多就能替代的了。

在这里插入图片描述

​ 想起自己的年少轻狂,当时只是觉得怼人很爽。现在回头看,不是人变菜了,而是技术时代前进了。你觉得很熟练,很强大的技术,几年以后,都是老古董。技术人从来不怕学习,但是中年人各种烦心的生活压力,逐渐下降的学习能力,足够磨掉任何人的学习干劲。而这种温水煮青蛙的困局,往往不是靠自己可以感受到的。你不可能再去通宵准备下周的面试。已经学了这么多年的技术,对不断冒出来的新技术,新框架,也很难提起通宵学习的激情。晚上的时间,能好好睡个觉就不错为了。直到时代抛弃你的时候,不会有一点点通知,只有还不完的车贷房贷,花不完的生活开销,一地稀碎的麻木与苟且。

在这里插入图片描述

​ 然而比比皆是的中年危机,并不能让很多人看清楚自己前面的路。我简单看了下这个人的简历,三十七八的尴尬年纪。简历里全部强调自己的项目经历,对自己的技术特长以及在项目中的作用描述得非常简单。很明显看得出对自己的技术不是很自信,这很符合被项目摧残多年的中年程序员的风格。

在这里插入图片描述

​ 第二天,这位学员给我的反馈果然被我命中。然而,我其实一点也高兴不起来。因为这哥们的现在,或者就是你我的未来。想起曾经有一个同事,四十多岁了,公司散伙后,我新入职一家比较大的公司,而他却在家闲下来了。后来我向公司HR推荐了他,但是HR的反馈是这位同事年纪太大了,而我们这公司上线时是经常要通宵的,担心这位同事身体撑不住。这明显是个托词。即便后来这位同事也跟HR说了,他离公司住得很近,并且他长期的工作中也是经常要通宵的,自己通宵是绝对没问题的。而我也表示推荐他我可以不要公司的推荐奖金。但是最后,还是不了了之。即便他曾经是我的偶像,但是最终我依然没办法帮助他。

二、我的故事

​ 故事只是一个故事,这些故事在每个人身边天天都在上演。互联网流量为王的时代,如果你能读到这里,就已经比大部分的人更有耐心了。但是,我更喜欢再浪费你几分钟的时间,对故事分享一下我自己的理解。

​ 现如今,我已从Java开发转向了职业培训的赛道,当看到这几个哥们的故事,我的第一感想是:要是他们报了我们的课程该多好。你们通不过来的宵,我来帮你通。你学不进去的技术,我来帮你嚼。你只需要拿我们的课程,像看电视剧一样时不时看一看,那些被很多中年程序员忘掉的美好,都能慢慢拾起来。有时间,你看完课程,就再去自己动手玩玩。没时间,就只是看看这些课程,不会的了解一下,会的复习一下,至少也不至于被这些简单的问题给拦住啊。

​ 如果你看到这,可能觉得马上培训机构万恶的PUA就要来了。但是其实并不是。即便现在在培训机构,我也从不太愿意去渲染焦虑。所以,我可能注定做不了一个好讲师。我更希望,我准备的这些内容能够让我们成为朋友,而不是生意。

在这里插入图片描述

​ 培训机构,在互联网一直是一个比较敏感的话题,现在技术圈但凡有点影响力的网路大V,肯定都或多或少的喷过培训机构。把培训机构描述成一个技术稀烂,只会割韭菜的坑爹地狱。尽管这些网络大V,到了流量要变现的时候,往往又都是不顾脸面的给粉丝们提供自己的“靠谱”的技术培训,但是这并不影响我也曾经被这样洗过脑。现在IT职业圈,习惯性的放大阿里、腾讯的大厂牛逼程序员提前实现财富自由的故事。即便没有财务自由,脱离大厂后,跳到小厂当个领导生活也挺滋润。仿佛大厂的工作经历就是市场的免死金牌。以此来放大程序员们的职业焦虑,鼓励大家一次性把所有东西都学会,集体往大厂冲。这是培训机构一贯的话术,说实话,我刚进来的时候,也曾经背过这样的话术。

​ 虽然我们天天喊着对标BATJ,但是能进互联网大厂的,毕竟只有小部分。对于绝大部分的程序员来说,BATJ再牛逼,他们盯着的也只会是你的钱袋子,而不会是你的技术。所以大厂里的爱恨情仇,其实对绝大部分程序员来说,根本就是没有任何价值的。

​ 但是当我转向职业培训赛道两年后,更真实的接触到了职业培训,接触到了更多成功不成功的程序员的故事,才越来越感觉到,真正能够拯救程序员们的,往往并不是工作,而是持续性的学习! 这道理虽然很简单,但是真正能够做到的人,却是少之又少。我们程序员往往对工作中用到的技术,会毫不犹豫的认真学习。但是这种学习其实很难持久。很多程序员,刚进项目的时候或许能够从项目中学到一些新的东西。项目中遇到问题了,也能够下狠心钻研。这让很多人就觉得我能解决项目中的问题了,技术就足够了。至于项目外的技术,没时间去学,也更没有兴趣去深钻与项目无关的问题。但是,任何技术公司的核心,从来就不是技术,而是要赚钱的业务。在绝大部分的所谓科技公司,能够很好解决业务问题,就足够了,至于技术,从来不是最重要的。不要期望着所有公司都能够像阿里、华为、腾讯一样,有着无穷无尽的创新业务在等着你的团队去解决。这些解决业务问题的过程中,你的技术就可以不断成长。对绝大部分的程序员来说,能把项目做好了,你的技术就到头了。至于你的技术有没有成长,这不是一个企业关心的问题。

​ 很多人意识到程序员就是要不断的学习。但是学习从来都是一个反人类的事情。要去持续跟踪新框架,跟踪老技术的新版本,对已有的问题不断深挖,这都是一些很费时间也很费心力的事情。这中间要解决的,还不止是知识本身的问题,越来越多的生活问题只会不断分散你的学习精力。很多技术问题,浪费了很长时间却解决不了。别人抓耳挠腮的技术问题,如果你工作中用不到,也很难调动起你的激情。所以,我看到大部分的程序员,面试找工作前,都能学得非常好。但是到了工作中,能够每天扎扎实实学两个小时的人,非常非常少。一人吃饱,全家不饿的小年轻,能坚持的还多一点。但是人到中年,还能坚持的人,其实就更少了。能坚持下来的人,又有大部分出现在了过劳死的新闻当中。程序员的差距,往往就体现在如何安全高效的用好这两个小时。

​ 而培训机构的意义,更多就应该是提高这两个小时的学习效率。其意义,不只是让人从不懂到懂(这很容易,B站上视频管饱管够),更多的是让人能时不时的回顾整个技术体系,加强理解那些工作上用不到的,却很重要的技术。那些才是你的饭碗,只靠开发工作是做不到的。现在B站上的技术视频很多,但是绝大部分都是三五分钟的流量视频。炫技,花里胡哨,只是为了让你觉得三五分钟就能满足自己学习的虚荣心。但是三五分钟学到的知识往往忘掉也只需要三五分钟。只有像培训机构这样,不断将整个知识体系往两个小时一节的课程中压缩,不断重复、强调、实操,这样才能让知识真正记下来。并且只有成体系的知识,才能形成长久的记忆,即便很长时间不用了,也能够快速回顾推演出来。而不是像很多面向百度的技术人员,一想到这个技术,只记得个大概,需要不断百度去回顾。而遇到百度上没有的问题,马上就恨不得砸键盘了。但是对技术进行梳理以及压缩,这并不容易。往往花的时间要比从头学习多得多。遇到新技术,新版本,很多时候更是不得不重头再来。这些时间,你大概率花不起的,而这些可以交给培训机构。

​ 然后绝大部分的程序员都是有自己的傲骨的,觉得学习是自己一个人的事情。今天想要学RocketMQ了,B站上找一套视频看一下,就会了。明天想要学Redis了,再去找一套视频就可以了。但是这样学东西,往往是不靠谱的。这样的区别,就很像我们小时候看电视剧和现在看电视剧的区别。小时候看电视剧,只能等电视台播放,所有人的进度都一样,所以到现在,我都对小时候看的古天乐的神雕侠侣,还有《天龙八部》,记忆尤新,甚至降龙十八掌的动作都还非常熟练。因为每天两集的电视剧,都是第二天跟小朋友们讨论的话题。 但是现在看电视剧,看不到就可以随时点播,不想看的部分还可以快进。自然看得就很难走心。所以现在再看后面胡军版本的《天龙八部》,能记住几个脸就不错了。而培训机构的意义,对于工作多年的你,往往并不在于讲解的这些技术。而更大的在于给你创造这样一个走心的环境,让你能够沉下心来,学得更认真。这个认真的意义,还不在于具体讲解的技术点,而更多在于,让你有自己思考的氛围。讲得好的地方,触发你去思考发散的问题。讲得不好的问题,也可以触发你去回顾加深自己的理解,让你脑海里那些很久不用,发霉了的东西,拿出来晒晒阳光。

​ 所以我结合自己的经历,觉得很多人喜欢喷培训机构的讲师,在于总是觉得讲师就一定要比自己强。尤其很多工作过几年的人,交了钱就觉得自己是大爷,工作中不爽的事情,就喜欢往培训机构甩锅。大家都是林子里的老鸟,没有谁一定要比谁强。讲师和程序员的最大区别只是每天花时间的地方不一样而已。我们更多的是成年人之间的技术交流,而不是重新回学校上课。即便有没听懂的地方,拿出来交流,互相成长才是对自己最大的负责。课程体系够不够完整,课程内容够不够全面深入,实战课程有没有及时更新,这些才是报培训班的人最应该关心的地方。至于很多人,动不动就学着互联网外卖一样,差评,爆粗口,这是巨婴长大了吗?你就算把培训机构给喷倒了,你就厉害了?

在这里插入图片描述

​ 至于说很多人担心培训机构是不是骗钱跑路,我只能说,Java技术领域的培训门槛是很高的,行业内数一数二的培训机构,构建出来整个课程体系并重复优化很多轮,是非常不容易的。运营时间长的培训机构大概率是差不到哪里去的。而且现在线上的培训机构,价钱也都到不了伤筋动骨的地步,并且往往买VIP都送好几期,还有人一直陪你聊天答疑吹牛逼,这真比出去旅游一次亏吗?你如果想学,培训机构是你最大的助力,你要是不想学,项目经理逼着你学习,你也照样学不进去。

相关文章:

关于程序员中年危机的一个真实案例

​ 关于中年危机,网上已经有了各种各样的解读。但是,这两天一个学员跟我简单几句聊天,却触发了对于中年危机的另一种思考。如果你曾经也有点迷茫,或许你可以稍微花几分钟看下这个故事。 一、无奈的故事 ​ 39岁还出来面试&#x…...

【fly-iot飞凡物联】(2):如何从0打造自己的物联网平台,使用开源的技术栈搭建一个高性能的物联网平台,目前在设计阶段。

目录前言1,fly-iot 飞凡物联2,mqtt-broker 服务3, 管理后台产品/设备设计4,数据存储目前使用mysql,消息存储到influxdb中5,规则引擎使用 ekuiper6, 总结和其他的想法前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/detail…...

Hadoop MapReduce

目录1.1 MapReduce介绍1.2 MapReduce优缺点MapReduce实例进程阶段组成1.3 Hadoop MapReduce官方示例案例:评估圆周率π(PI)的值案例:wordcount单词词频统计1.4 Map阶段执行流程1.5 Reduce阶段执行流程1.6 Shuffle机制1.1 MapReduc…...

时间复杂度和空间复杂度详解

有一堆数据需要排序,A要使用快速排序,B要使用堆排序,A认为自己的代码更高效,B也认为自己的代码更高效,在这种情况下,怎么来判断谁的代码更好一点呢?这时候就有了时间复杂度和空间复杂度。 目录 …...

【C++】面向对象---封装

【C】面向对象—封装 1.封装的意义 封装是C面向对象三大特性之一 封装的意义: 将属性和行为作为一个整体,表现生活的事物将属性和行为加以权限控制 封装意义一: 在设计类的时候,属性和行为写在一起,表现事物 语…...

Docker简介

一、介绍容器虚拟化技术(带环境安装的一种解决方案)打破程序即应用的观念,透过镜像image将作业系统核心除外,运用应用程序所需要的运行环境,由上而下打包,达到应用程序跨平台间的无缝接轨运作。Docker是基于…...

量化学习(一)数据获取

试验环境 windows10 AnacondaPyCharm(小白参考文章:https://coderx.com.cn/?p14) VM中安装MySQL5.7(设置utf8及相应配置优化) 关于复权 小白参考文章:https://zhuanlan.zhihu.com/p/469820288 数据来源 AK…...

java并发编程讨论:锁的选择

java并发编程 线程堆栈大小 单线程的堆栈大小默认为1M,1000个线程内存就占了1G。所以,受制于内存上限,单纯依靠多线程难以支持大量任务并发。 上下文切换开销 ReentrantLock 2个线程交替自增一个共享变量,使用ReentrantLock&…...

大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——ReduceTask工作机制

1、ReduceTask工作机制 ReduceTask工作机制,如下图所示。 (1)Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直…...

Nginx的介绍、安装与常用命令

前言:传统结构上(如下图所示)我们只会部署一台服务器用来跑服务,在并发量小,用户访问少的情况下基本够用但随着用户访问的越来越多,并发量慢慢增多了,这时候一台服务器已经不能满足我们了,需要我们增加服务…...

less基础

一、less介绍 1、介绍 是css预处理语言,让css更强大,可以实现在less里面定义变量函数运算等 2、less默认浏览器不识别 less转成csS (框架: less/sass 框架的内置了转码less-css) 3、使用语法 1.创建less文件xxx.less 后缀.less 2. less编译成css 再引入…...

电子统计台账:海量数据中导入特定行,极力减少键盘编辑工作量

1 前言从事企业统计工作的小伙伴,本来已经够忙的了,现在又要加上什么电子台账这种鬼任务,而且居然还要每月来一次,简直不能忍。如果非要捏着鼻子忍了,那么有什么办法,减轻工作量?2 问题的提出有…...

ChatGPT是如何训练得到的?通俗讲解

首先声明喔,我是没有任何人工智能基础的小白,不会涉及算法和底层原理。 我依照我自己的简易理解,总结出了ChatGPT是怎么训练得到的,非计算机专业的同学也应该能看懂。看完后训练自己的min-ChatGPT应该没问题 希望大牛如果看到这…...

刷题28-有效的变位词

32-有效的变位词 解题思路: 注意变位词的条件,当两个字符串完全相等或者长度不等时,就不是变位词。 把字符串中的字符映射成整型数组,统计每个字符出现的次数 注意数组怎么初始化: int [] s1new int[26]代码如下&a…...

JavaWeb中异步交互的关键——Ajax

文章目录1,Ajax 概述1.1 作用1.2 同步和异步1.3 案例1.3.1 分析1.3.2 后端实现1.3.3 前端实现2,axios2.1 基本使用2.2 快速入门2.2.1 后端实现2.2.2 前端实现2.3 请求方法别名3,JSON3.1 概述3.2 JSON 基础语法3.2.1 定义格式3.2.2 代码演示3.2.3 发送异步…...

python爬虫常见错误

python爬虫常见错误前言python常见错误1. AttributeError: WebDriver object has no attribute find_element_by_id1. 问题描述2. 解决办法2. selenium:DeprecationWarning: executable_path has been deprecated, please pass in1. 问题描述2. 解决办法3. 下载了包…...

AI_Papers周刊:第三期

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 2023.02.20—2023.02.26 文摘词云 Top Papers Subjects: cs.CL 1.LLaMA: Open and Efficient Foundation Language Models 标题:LLaMA:开放高效的基础语言模型 作者&#…...

在win7上用VS2008编译skysip工程

在win7上用VS2008编译skysip工程 1. 安装vs2008及相应的补丁包,主要包含以下安装包: 1.1 VS2008TeamSuite90DayTrialCHSX1429243.iso 1.2 VS2008SP1CHSX1512981.iso 1.3 VS90sp1-KB945140-CHS.exe 2. 安装Windows SDK: 6.0.6001.18000.367-KRMSDK_EN.zip 例如安装路径为…...

python 数据结构习题

旋转图像给定一个nn的二维矩阵表示一个图像。将图像顺时针旋转90度。你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。例如,给定matrix[[1,2,3],[4,5&#x…...

18、MySQL8其它新特性

文章目录1 MySQL8新特性概述1.1 MySQL8.0 新增特性1.2 MySQL8.0移除的旧特性2 新特性1:窗口函数2.1 使用窗口函数前后对比2.2 窗口函数分类2.3 语法结构2.4 分类讲解1 序号函数2 分布函数3 前后函数4 首尾函数5 其他函数2.5 小 结3 新特性2:公用表表达式…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

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

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

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...