31

转行程序媛的三年之路(曾入职阿里巴巴)

 3 years ago
source link: https://mp.weixin.qq.com/s/00Oyupqcxvfv_rTjRm8UQg
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Q32mU3Y.png!web

小姐姐20岁后的人生轨迹是 保研直博 —》 退学 —》 码农…

保研退学

要说能保研并不是因为我是学霸。而是因为大学时期本专业方向 没人学习 ,从小家里穷为了奖学金突击学习成习惯了,所以就还算牢牢的守住了绩点。直博更像是脑袋发热的决定,理由是大学时期无所事事惯了,多读两年能换个博士好像赚了。如果让我评价我那时的自己绝对是无知还爱作。。

一年研究生的生涯我还是蛮努力的,因为大四时总算开始拥有了人生想要的目标, 当时很想出国 。所以开始读研时就反复啃各种专业书籍,论文等。倒没有锦上添花的作用,因为研究生还稍微换了下专业方向,差不多到了退学时才觉得半只脚可能入门了吧。

退学当然是因为读的天坑专业材料系的。读研时状态很不好,生活学习都乱糟糟的没有打垮我,被导师计划发配到边疆小城市也觉得没关系,但是 该死的实验 实在是太毒了 ,带着自己买的放毒面具都没用。那是段一天天忍不住时时刻刻掉眼泪的岁月。

后来有个声音说, 退学吧试试当码农吧 。一开始内心是拒绝的,但晚上已经 身不由己 的搜索各种码农的信息了。B乎给了我很大信心。

倒不是觉得自己真能变身程序员工程师,而是觉得总比某天走投无路的好。

但长这么大 只学过VB 啊,没有信心只靠网上视频教程找到工作。还是去了深圳的 培训机构 ,尽管是一下子背着几万的贷款,但是当时从毒实验到深圳几乎整年蓝天白云的地方,幸福感确是不言而喻的。培训机构的课程虽然有些侮辱学费,但对我这样的零基础小白,却给予了 一个获得直接帮助和洗脑的环境

工作周折

开始找工作环节了,我当时应该啥都没学会。嘴上说着HashMap设计模式,但我绝壁是写不出来任何设计模式的代码的。我现在甚至怀疑当时CRUD也没咋理解吧。

当时面了四家,但好像还拿到了三家。因为能给我面试机会的都不会是啥好公司。我还想再面面,但培训机构也怕到手的鸭子飞跑了,没钱还他们债可怎么办啊。

就这样 入职了一家灰色产业性质的菠菜公司 ,属于某天收益额全靠项目组内几个开发贡献的。我只能感谢我的无知和幸运吧,试用期他们把我开了,因为我一个月内都无事可做。而后他们也顺利倒闭了。

第二份工作算是能成为 CRUD阿姨 的一个拐点。总算面到了一家有些技术性的创业公司,觉得有技术性是因为 他们问的问题我都不会 。。一面看脸二面不强烈反对三面CTO谈情怀,我当时老实巴交的说我不喜欢谈梦想我爱看科普,然后就被当场拒绝了。。但过两天又给我打电话了,阿姨脸皮算什么,马上推掉其他外包性质p2p类的offer了。

试用期也是异常艰难,我的 前半月几乎都在和maven作斗争 。我特么构建了半个月总是构建不成功,当时也没有从网上找到正确答案的能力。旁边的小伙伴被我搞了半个月忙的有时也懒得鸟我了。另外还让我重构一个新的基于SpringBoot的项目,有些原来的下载邮件等功能重构项目没提供支持啊,试用期被产品怼也甚至把开发都搞的有些无语了。产品总监后来和我说, 还没怎么见过被产品怼的这么没气势的开发。。 后来下了军令状,让我大概半个月内写几十条小需求的订单下载功能。 阿姨加班加点的提前完成了,总算没有再被滚蛋了

回过头看这些经历都充满了很大风险,可是当时的心境还蛮平静的,大不了再重新面重新来。 温饱有问题的时候就只有解决温饱的目标 ,就这样我还算有不错的心态。

我其实一直没忘了提高自己,只是第一年像只无头苍蝇一样。我知道转行没有基础就想先打打基础。。买了编译原理/算法导论这类的书,到现在编译原理我都没翻完 序。。也买了kindle看《深入理解计算机系统》,结果看着看着就砸脸上了。。那段时间真正对我有所帮助的书可能是《Java8实战》,因为这本书里面的东西是当时实实在在写代码能反复用到的。而其他类似看Spring/博客等之类的一扫而过的学习方式, 可能没有看懂就翻篇了,带来的更多只是一种心理安慰

后来我终于不想 整日写bug改bug 了,但好好想想自己真没面试能拿得出手的。于是便开始看《Java并发编程实战》和《Java并发编程的艺术》了,结合着网上的源码分析文章。同时也通过抄片段的方式对并发有了一知半解。觉得可以面试稍微有得说了。

能得到 第三份满意的工作 全靠运气,感谢技术群里内推我的小哥哥和面试官。因为这一份工作 我太闲了。。 可能大多数人并不想长期无事可做,而我正是因为这段空闲的时候才有更充足的时间提高自己。

当时虽然没有很理解一些技术概念,但好歹也零零碎碎的通过技术文章等方式接触过了。熬过了第一年的温饱问题,这时候 我开始问自己有没有可能通过两年的时间进一二线大厂 。我也有思考自己的处境,我想 写博客 也是为数不多能给自己加码的了。

可是刚开始哪写的出来啊,我连看别人博客都看的迷迷糊糊。但是 尽管没人看也至少写的让自己看懂吧 ,我总算是稍微克服了自己看不懂就翻页的坏习惯, 慢慢地有些沉下心了 ,有些理解一些概念和原理了。

其实最重要的是 从一开始就要清晰明白这么做解决的是什么问题,出发点是什么。这样才不至于在问题或解决方法中迷失

我一直都看不懂红黑树,有一天我耐下心来想把它搞懂。结果我从早到晚看懂了左旋右旋,添加查找后继等,可就是看不懂删除。我不明白为什么会有这么多删除情况,为什么特定删除要做特定的删除步骤。到了傍晚,我都要决定放弃请教别人了。我特么总算意识到,特定的删除步骤是为了保持子树的平衡,如 概念上所定义的每棵子树上黑节点数目必须相同 等 。然后再看每种删除的步骤就顺理成章了。

这一年我看了Netty/Spring系列/Disconf/ZooKeeper/Canal/Redis等源码,也看了《深入理解Kafka:核心设计与实践原理》等不少技术书籍。 写了ZooKeeper系列的源码分析文章 。虽然是第一遍边看边大体按照代码流程顺序去分析的,回过头来看会觉得写的不够清晰,甚至一些地方还有错误。但是通过ZK我比较理解了 基于Java NIO的Reactor模型/心跳维持的长连接/序列化/数据的全量和增量存储/ZAB协议/Curator等的实现。而这些内容都是可以 触类旁通 的,如mysql的WAL机制也是数据的增量存储设计。

从一步步了解了是什么,还需要时时问一句为什么。为什么实现心跳要这么设计,为什么要用这种设计模式,这么实现的优缺点是什么,如果让我做我该怎么实现….通过 不断反问,模仿,锻炼,思考总结 我相信我可以有所提高,目前我还是写不出好代码的渣渣。

托ZK和老天的福,后来我拿到了 阿里某个BU的offer ,不满三年完成了进大厂的目标。刚进去时是一种放松的心态,尽力完成本职工作后, 我下一个目标是什么 。我特么都进大厂了,我实在想不出想要的目标了。有人说你要朝着375奋斗,朝着P7奋斗。可我看了看周围P7的样子,我并不想以后成为他们那样。并不是说他们不够有钱,他们可有钱了。而是我不喜欢他们的工作状态,我也不喜欢我在阿里的工作内容和状态。虽然只要你想,阿里有的是资源让你学习,让你进步。

我知道我内心 哪些不想要,哪些想要 。我知道我再跳出阿里我有多被动,可我还是跳了。一路来我因为冲动也做出过不少“坏”的决定。但人生只有一次,我不愿意委屈当下的自己。就算未来的我生活的可能有些窘迫,但 活着总有改善的办法

现状

现在的我在某个小厂做着我比较喜欢的工作,而且每周都要写一篇文章让我觉得有热情,有收获,也有压力(希望不会太快打脸:)。

我有了下一个目标,但还是不要说出来了,万一实现不了可就有些不开心了。但我的终极目标是成为一个内心平静的人。不要笑,我认真的

3MfEBbF.jpg!web

感谢您的阅读,我是Monica23334 || Monica2333 。立下每周写一篇原创文章flag的小姐姐,关注我并期待打脸吧~

UrEn2aQ.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK