互联网寒冬

2017年冬天,是我人生中最难熬的一个冬天,其实2017年的冬天并不算太冷,比这冬日的寒风还要严寒的要属这所谓的”互联网寒冬”吧!各大厂裁员的消息充斥着互联网,互联网表面风光实则早己经千仓百孔。

其实不仅仅是互联网,每个行业都一样。包括18、19这两年都还处在寒冬期。
那为什么互联网界的人对着会这么敏感呢?尤其是程序员!因为IT的知识体系太过庞大,知识更新速度太快太快了。程序员永远在追着热点跑,今天学Java,明天学Python,后天学Golang,生怕自己落后了任何一个热点,但似乎都已经忘记了学习的本质是系统性。

那一年,我是一个背锅侠

那一年我还是一个网络运维,说的好听点是网络工程师,但圈内人都知道运维就是一个背锅侠。逢年过节恨不得对着网络设备、服务器磕三个响头,祈求它千万别出故障可以安心的过个节,往往天不遂人愿,该来的故障还是得来。

2017年12月25日圣诞节,大街小巷人山人海,商家们卖力的宣传着,背着电脑包站在路口远远望过去,脑海隐隐约约有两个小人在对话,一个说过去玩下吧,另一个说对过去看看挺热闹。但是理智小人将我拉回了现实,我正在等出租车赶去机房,因为核心机房设备故障了。

叮咚,叮咚…微信不停的提示新消息,领导大人们不停的发微信来询问故障进度,群里也炸了。老板也发消息来了噼里啪啦一堆问题:为什么没有告警?为什么故障等到客户报障才发现?为什么故障后没有第一时间通知到所有客户?是什么原因导致故障?什么时候能恢复?天啊!我只是一个小小运维。礼貌性的回了句,故障正在排查,会尽快恢复。业务中断了半个小时,领导们自然不会给我好脸色。第二天开批斗会,一个月的奖金扣发!表示很冤枉,公司没有告警系统,没有通知推送系统,就一个破网管系统,技术再牛也不能上天啊。信用卡快到还款日了,房东已经催了两次房租。心中千万只曹尼玛奔腾而过,但是只能忍了。

两天后,领导们决定对软件版本进行升级以应对未知或已知存在的漏洞,当然执行者毫无疑问的落到了我的头上。干过运维的都知道,这种已经上线的业务基本只能在三更半夜才能动。通知下来凌晨3点开始。老板说年轻人要有吃苦耐劳的精神。不是不能吃苦,是真的担心我这稀疏的头发还能抗多久!凌晨两点来到机房,拿了个纸箱铺在地上躺着休息会。这一个小时里想了很多很多,继续这样下去钱没赚几个,可能身体先垮了。我要改变,这不是我想要的生活。
晚上想想千条路,白天醒来走原路。这大概说的就是我这类人吧!虽然想着要改变,但始终没有付之行动。

我爱台妹

2018年元旦悄然而至,大家都放假了,公司只剩我们几个运维狗在值班。跟喜欢了很久的女生在微信有一搭没一搭的聊着天,突然头脑发热,给她发了句:我喜欢你很久了,做我女朋友好不好。她只是淡淡的说了几句,我不喜欢住城中村,以后我不会回农村,你不要想这么多,我知道你是一个好人。毫无疑问我没有得到我想要的答案,只是得到了你是一个好人,生平最讨厌的一句话。我没有勇气在继续,因为所有的辩解都是苍白无力的,因为我就是这样一个蜗居在城中村,毫无志向,得过且过的人。到楼下买了包七匹狼,第一次抽烟很呛,眼泪不自觉留下来。

突然的觉悟

消沉了一段时间,突然很想买几本书陶冶下情操。在某宝上漫无目的的逛着,突然有一本书进入了我的视野《Python自动化运维》,职业的敏感性让我觉得这绝不是一本普通的书。就像当年功夫里周星驰买的如来神掌,这改变了我的人生。

以前我们采用的是人肉运维,很多时候都是人工操作。都没去想过运维也可以自动化。虽然对自动化充满了向往,但是在编程方面只会简单的shell脚本,对Python一窍不通。深入了解Python之后,发现这语言太棒了。Python可以做自动化运维、开发网站、写爬虫到网上爬数据、做数据分析、人工智能也是用Python语言,最重要的一点是它居然不难。从小就不爱学习,遇到难得就怕,没信心。但是了解Python之后我觉得我可以。

我要逆天改命

两个月接近疯狂的学习,只要有空就去找Python资料学习,在平时工作中也写了几个小软件代替重复的运维工作,自我感觉良好,急速膨胀。我跟其他人说我要转做开发,可能他们都当这是一个笑话。但是我不认为,我命由我不由天,我就是要逆天改命。我就是要让你们对我刮目相看。现实的残酷给了我当头一棒,面试中屡屡碰壁。刚从某大厦面试出来,脑子有点晕被面试官问题轰炸了两个小时,这已经是第15次失败了。走到十字路口,我不知道往那里走,就像我的人生。突然有人拍了下我的肩膀,原来是许久不见的师兄。两人在在街口的小酒馆喝了两杯,了解到师兄也是从事Python方面的工作,于是将我情况给师兄说了下。师兄了解我对Python掌握的情况,觉得一般的开发都是可以胜任的,可能问题出在面试上。其实面试也是讲究技巧的,一般都会先刷题,学习一些面试套路。而且正处于互联网寒冬,很多公司别说招人了,都在开始大量裁员,这让我有一丝丝的动摇。跟师兄畅谈一下午,发现自己真的膨胀了,眼界太小。做开发不是说只会一门语言就够了,我们还需要了解整个IT的生态。

皇天不负有心人,在蛰伏两个月后如愿拿到了offer,感谢师兄的引导,感谢自己这段时间来的努力。

学习是一场攻坚战

很多人说,做程序员到35岁基本要转行了,上了年纪就有被裁的风险。没错,中年危机人人都有,人到中年学习力下降,跟不上时代变化,有这方面的原因。但是更多的是,人都是有惰性的,人到中年被工作和生活压得喘不过气,更不用说去学习了。学习它是一个过程,不是一朝一夕就能成的。把学习培养成一种习惯,我相信50岁一手你依然是一位顶尖的程序员。
致敬!所有奋斗在一线的程序员们。

漫漫人生路,我们该何去何从! Python让我找到了方向的更多相关文章

  1. 零基础学完Python的7大就业方向,哪个赚钱多?

    “ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...

  2. 漫漫人生路,学点Jakarta基础-Java8函数式编程

    接口默认方法 Java8版本以后新增了接口的默认方法,不仅仅只能包含抽象方法,接口也可以包含若干个实例方法.在接口内定义实例方法(但是注意需要使用default关键字) 在此定义的方法并非抽象方法,而 ...

  3. 漫漫人生路,学点Jakarta基础-重写(覆盖)、重载

    首先我们现在开始进入Jakarta的时代,由原甲骨文易主到 Eclipse基金会下,但是不想舍弃java名字,因此基金会重新投票选出了Jakarta EE(雅加达).但是我们明白换汤汤不换药的道理,基 ...

  4. 漫漫人生路-学点Jakarta基础-Java8新特性 Stream/Lambda

    背景 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk dat ...

  5. 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)

    V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...

  6. Python教你找到最心仪的对象

    规则 单身妹妹到了适婚年龄,要选对象.候选男子100名,都是单身妹妹没有见过的.百人以随机顺序,从单身妹妹面前逐一经过.每当一位男子在单身妹妹面前经过时,单身妹妹要么选他为配偶,要么不选.如果选他,其 ...

  7. python是如何找到对应的package的?

    我们在写python代码或者阅读别人的代码时,可能会碰到对应module无法找到的问题,这时如何解决呢?我们如果对python解释器如何查找对应的module有比较深刻的理解,那么我们就可以轻松解决相 ...

  8. Python的介绍与主要方向

    1.1 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: 计算机的发明,是为了用机器取代/解放人力, ...

  9. python 爬取腾讯微博并生成词云

    本文以延参法师的腾讯微博为例进行爬取并分析 ,话不多说 直接附上源代码.其中有比较详细的注释. 需要用到的包有 BeautifulSoup WordCloud jieba # coding:utf-8 ...

随机推荐

  1. vuex使用方法

    vuex是一个专门为vue.js设计的集中式状态管理架构.状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态.简单的说就是data中需要共用的属性.比如:我们有几个页面 ...

  2. Windows Server2008R2蓝屏,分析dmp文件

    使用Windbp PreView打开dmp文件后,在命令栏输入如下命令: !analyze -v 解析结果中蓝色字体为错误原因分析

  3. 【华容道】题解(NOIP2013提高组day2)

    分析 这道题很容易想到令f[x][y][x1][y1]表示空白块在(x,y).指定棋子在(x1,y1)时的最少步数,让空白块和四周的棋子交换,当空白块要和指定棋子交换时,把指定棋子移动,搞一下BFS就 ...

  4. React Native 之组件的定义

    App.js 也可以认为是一个组件,那么此文件中能定义多个组件吗? 方式一 import Hello from './Hello' export default class App extends C ...

  5. PHP实现大文件上传和下载

    一提到大文件上传,首先想到的是啥??? 没错,就是修改php.ini文件里的上传限制,那就是upload_max_filesize.修改成合适参数我们就可以进行愉快的上传文件了.当然啦,这是一般情况下 ...

  6. luogu P1125 笨小猴 x

    P1125 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设max ...

  7. flex兼容问题

    display:flex作为C3的新属性,还是有的浏览器不支持的,那下面我们就来说一下他的兼容写法 .box{ display: -webkit-box; /* 老版本语法: Safari, iOS, ...

  8. 普通用户sudo权限

    需求: 1>创建一个saipu普通用户,不允许使用 rm 和 passwd root 和 sudo su - root 命令,其他命令均允许且 sudo 时不用输入密码 2>创建一个lwd ...

  9. Spring Boot 集成 JPA 的步骤

    Spring Boot 集成 JPA 的步骤 配置依赖 compile group: 'org.springframework.boot', name: 'spring-boot-starter-da ...

  10. Linux shell - 按时间和文件大小排序显示文件(ll)

    在工作中有这样的情况,需要显示所有的文件,按照时间先后或者文件大小先后排序显示 命令:ls 1.按时间排序显示文件 test@> ll -rt 2.按文件大小排序显示文件(文件大小单位:k,M) ...