【自述】一个底层程序员的4年挣扎历程

2023-10-12 17:50

本文主要是介绍【自述】一个底层程序员的4年挣扎历程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

决定发表这篇自我叙述的文章不为别的,一来看了好多别人经历的事情总是会有感触,也想分享一些自己的事情,二来我也想在这场自诉当中理清楚自己近几年到底做了些什么。

在这里插入图片描述

故事开始

2018年3月我初次来到杭州,我本想凭借着背了2周的java面试题,找个实习的工作,结果却碰了一鼻子灰。我大学专业是数学相关专业,大学期间也接触过一些计算机的相关课程,但在求职面前,这些却显得苍白无力。

我自知自己无法胜任一些工作,又想快速提升自己,无奈之下就一咬牙进入了培训之门,培训的是python方向的。我的选择很正确,虽然起步晚,但我终于在毕业之时找到了人生当中第一份正式工作。

培训那段时间我算了一下,除去回学校写毕业论文那1个半月的时间,我相当于在培训机构只学习了2个半月的时间,还是挺亏的。虽然如此,但我觉得它带给我的不一定是培训当中学的东西,而是给我打开了这一行业的视野,我清楚的知道我该怎么学习才能进入到这个行业当中去,也埋下了我对自身学习不断投入金钱的种子。

第一份工作,我很清楚我的目标是什么,两个字:学习。我没像别人一样拼命包装自己的简历,自然拿到的毛爷爷也没有太高,但在第一家50人左右的技术团队中学到了很多。技术上疯狂的恶补,让我也有了自己是一名程序员的底气。生活不算太好,但也很平稳,只是我心里面一直有一个念头,那就是参加当年的研究生考试。没错,我之前就考过研,和我女朋友一起考的(现在的老婆,撒一波狗粮,其实来杭州也是一起来的,她找到了实习,而我却没有),在17年12月我已经参加了一次了,可惜专业课考的太拉跨(也是因为专业课投入时间太少,其实那段时间两个人的状态就如下图),充当了分母的角色。18年的考研我女朋友参加了,但还是差那么一点点,我要扛起责任支持她,加之没啥把握,没有参加。但这个遗憾一直留在我心里,所以我一直时刻准备着考研(成年人的世界,有时候自己能做的决定少之又少,偶尔决定一回都感觉奢侈的不行)。
在这里插入图片描述
转眼到了2019年的8月,躁动不安的心又开始让我做出了辞职拼一把的决定,然而却频频翻车。如果读研意味着我基本没有收入来源,读出来又能怎么样呢,自己一定能拿到更好的职位吗?这当中不可控的因素太多了,其实这都不是主要的原因,主要的原因你们看完接下来的叙述就明白了。在诸多现实条件下,我不得不重新找工作,也没有参加考试。现在回想一下感觉自己思想上一直很拧巴,间歇性的对自己的现状不满,然后又不得不在现实的环境低头。

在经历了半个多月的面试,11月份我找到了现在这份工作,到现在已有2年多的时间了,薪资一般但有自己的时间,不好也不坏,自己也努力学习新的东西,并且用到工作当中,也经过学习,转岗到了目前从事的大数据开发职位。

生活当中这2年多的时间也经历了2件对我来说的大事情,结婚、买房。我们终于结束了将近6年的爱情长跑,步入了婚姻殿堂。也为了结婚,在父母的赞助下入手了杭州一套小房子(你们应该理解了我上面所说的主要原因了吧,那时候我处在做抉择的处境,如果我当初选择了考研,那可能又是另外一个故事了)。在这段时间里,生活给我的感受就是甜蜜而开心。但职业发展进程上,我又觉得有些缓慢。我清楚的知道人的时间经历有限,我这几年在工作当中也投入了不少,但毕竟不像有些同学把自己几乎所有的时间都投在工作上,我又开始自责了。
在这里插入图片描述

此处暂停,开始瞎想
写着、写着,我突然又否定我的想法,开心的生活不好吗,好多人都想逃离996,为什么我会有这样的观念呢,觉得自己这几年在工作投入的时间少,工作一定要投入的时间多,才会回报也多吗?提前透支自己难道就好吗?我觉得可能是因为始终有一个预警在我心里,那就是35岁中年危机,在我内心深处,我想在短短的程序员职业生涯里尽快搞钱(可能我比较悲观,说不定可以一辈子当一个开心的程序员)。哎!害怕啊、焦虑啊,压力使我我不敢舒服。

未来如何

接下来的路我准备投入更多的精力精进自己大数据领域的东西,同时也要多输出一些内容,为自己留有更多的可能性,工作也希望寻求更多的机会,拿到不错的薪资,加油,奥力给!。

在这里插入图片描述
最后呢,希望大家评论、点赞、关注。写了3-4年的技术博客了,我也想上一次csdn的热搜!哈哈~~

生活不易,且行且珍惜!

这篇关于【自述】一个底层程序员的4年挣扎历程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/197463

相关文章

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

哈希表的底层实现(1)---C++版

目录 哈希表的基本原理 哈希表的优点 哈希表的缺点 应用场景 闭散列法 开散列法 开放定值法Open Addressing——线性探测的模拟实现 超大重点部分评析 链地址法Separate Chaining——哈希桶的模拟实现 哈希表(Hash Table)是一种数据结构,它通过将键(Key)映射到值(Value)的方式来实现快速的数据存储与查找。哈希表的核心概念是哈希

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

Linux 云计算底层技术之一文读懂 Qemu 架构

Qemu 架构概览 Qemu 是纯软件实现的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和硬件打交道,但其实是和 Qemu 模拟出来的硬件打交道,Qemu 将这些指令转译给真正的硬件。 正因为 Qemu 是纯软件实现的,所有的指令都要经 Qemu 过一手,性能非常低,所以,在生产环境中,大多数的做法都是配合 KVM 来完成

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

【编程底层原理】方法区、永久代和元空间之间的关系

Java虚拟机(JVM)中的内存布局经历了几个版本的变更,其中方法区、永久代和元空间是这些变更中的关键概念。以下是它们之间的关系: 一、方法区: 1、方法区是JVM规范中定义的一个概念,它用于存储类信息、常量、静态变量、即时编译器编译后的代码等数据。 3、它是JVM运行时数据区的一部分,与堆内存一样,是所有线程共享的内存区域。 二、永久代(PermGen): 1、在Java SE 7之前,

ElasticSearch底层原理简析

1.ElasticSearch简述 ElastiaSearch(以下简称ES)是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,支持RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。ES设计用于云计算中,能够进行实时搜索,支持PB级搜索,具有稳定,可靠,快速,安装使用方便等

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

【编程底层思考】详解Java的JUC多线程并发编程底层组件AQS的作用及原理

Java中的AbstractQueuedSynchronizer(简称AQS)是位于java.util.concurrent.locks包中的一个核心组件,用于构建锁和其他同步器。AQS为实现依赖于FIFO(先进先出)等待队列的阻塞锁和相关同步器提供了一套高效、可扩展的框架。 一、AQS的作用 统一同步状态管理:AQS提供了一个int类型的成员变量state,用于表示同步状态。子类可以根据自己

了解elementUI的底层源码, 进行二次开发

Element UI 是一个基于 Vue.js 的桌面端组件库,广泛用于构建美观、交互友好的用户界面。要深入理解 Element UI 的底层源码并进行二次开发,你需要掌握以下几个关键点: Vue.js 原理 Element UI 是基于 Vue.js 构建的,因此首先需要熟悉 Vue.js 的核心概念和机制,包括: ● 组件系统:Vue.js 的组件化思想,如何定义组件、使用组件、传递属性和事