漫漫人生路,我们该何去何从! Python让我找到了方向
互联网寒冬
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让我找到了方向的更多相关文章
- 零基础学完Python的7大就业方向,哪个赚钱多?
“ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...
- 漫漫人生路,学点Jakarta基础-Java8函数式编程
接口默认方法 Java8版本以后新增了接口的默认方法,不仅仅只能包含抽象方法,接口也可以包含若干个实例方法.在接口内定义实例方法(但是注意需要使用default关键字) 在此定义的方法并非抽象方法,而 ...
- 漫漫人生路,学点Jakarta基础-重写(覆盖)、重载
首先我们现在开始进入Jakarta的时代,由原甲骨文易主到 Eclipse基金会下,但是不想舍弃java名字,因此基金会重新投票选出了Jakarta EE(雅加达).但是我们明白换汤汤不换药的道理,基 ...
- 漫漫人生路-学点Jakarta基础-Java8新特性 Stream/Lambda
背景 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk dat ...
- 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)
V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...
- Python教你找到最心仪的对象
规则 单身妹妹到了适婚年龄,要选对象.候选男子100名,都是单身妹妹没有见过的.百人以随机顺序,从单身妹妹面前逐一经过.每当一位男子在单身妹妹面前经过时,单身妹妹要么选他为配偶,要么不选.如果选他,其 ...
- python是如何找到对应的package的?
我们在写python代码或者阅读别人的代码时,可能会碰到对应module无法找到的问题,这时如何解决呢?我们如果对python解释器如何查找对应的module有比较深刻的理解,那么我们就可以轻松解决相 ...
- Python的介绍与主要方向
1.1 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: 计算机的发明,是为了用机器取代/解放人力, ...
- python 爬取腾讯微博并生成词云
本文以延参法师的腾讯微博为例进行爬取并分析 ,话不多说 直接附上源代码.其中有比较详细的注释. 需要用到的包有 BeautifulSoup WordCloud jieba # coding:utf-8 ...
随机推荐
- MyEclipse XML & XML架构教程:XML Schema (XSD)编辑器
[MyEclipse CI 2019.4.0安装包下载] 1. MyEclipse中的XSD编辑 本文档介绍MyEclipse XML Schema(XSD)编辑器中的一些可用函数.XML Schem ...
- 初学oracle第三天
体系结构 Oracle 采取的是 Client/Server 架构. 3.1 Client 3.1.1 Sqlplus 这是一个轻量级的功能强大的客户端, 是 dba 必须掌握的工具. 我们可以配 ...
- vue项目中打包background背景路径问题
项目中图片都放在src/img文件夹,img和background-image引用都用相对路径,即../../这种形式 在打包build的设置路径assetsPublicPath: ‘./‘,然后那些 ...
- 为什么要使用puppet 及初步接触
为什么要使用puppet 及初步接触 1.简介 云计算环境下,密度高,机器数量多,还要求弹性和伸缩性,这对于运维提出更高的要求.系统管理员需要经常安装操作系统,对系统参数进行配置和优化,对人员进行 ...
- es6的...用法
...将一个数组转为用符号分隔的参数序列 1.console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 2. var args = [0, 1, 2]; f.apply ...
- LeetCode--075--颜色分类(python)
给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...
- UML规则笔记
一.类 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务 ...
- es之IK分词器
1:默认的分析器-- standard 使用默认的分词器 curl -XGET 'http://hadoop01:9200/_analyze?pretty&analyzer=standard' ...
- PHP CGI
cgi是通用网关接口,是连接web服务器和应用程序的接口. web服务器负责接收http请求,但是http请求从request到response的过程需要有应用程序的逻辑处理,web服务器一般是使用C ...
- optistruct线性求解一次二次单元应力位移比较
通过分析比较10mm.5mm.3mm.1mm的网格模型, 网格越细密: 位移与应力均趋于恒定值(收敛): 一次与二次单元的应力区域一致: 一次与二次单元的位移相差11.3%,一次单元的位移小. 所用的 ...