查看原文
其他

一位90后程序员的自述(续):非科班如何成长为五百强Arch

猿媛牧场 程序人生 2018-10-30

点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事

作者

猿媛牧场

如需转载,请联系原作者授权。


笔者说


这几天,后台被疯狂聊骚啊,简单的梳理了下需求(没办法,就是喜欢干需求啊……):

  • 30岁了,零基础想转行IT,有什么建议吗?

  • 我现在大一,学的不是计算机,但感觉现在市场IT工资更高,我是不是应该放弃现在的专业,去报个培训班呢?

  • 刚工作1年,和你的经历很相似,也是在培训机构被坑了,然后现在做测试,看不清前面的路,每天都是点点点,现在在看Python,想以后转自动化测试,有什么好的建议吗?


通过一篇《一位90后的自述:如何从年薪3w到30w》将散布在全国各地的小伙伴聚在了一块,我也有幸成为了那个有机会聆听大家伙经历的那个人。


我并没有什么值得羡慕和敬佩的地方,我也就是一个和大家一样,一路踩坑并继续在踩坑的路上一路踩着。


我不断重复着那句话:我就是一个喜欢折腾,喜欢尝试新鲜事物,技术也好,处事也罢,不得不说,受菠萝同学影响很大,是他教会了我不是所有的事都要和利益挂钩,我们真的是可以不求回报的帮一个人、做一件事情的。


而我,现在做的,无非就是希望拨开那些正处于迷茫期的小伙伴们眼前的云雾。让自己站在阳光下,清楚的看到前方的路,可能会有悬崖万丈,说不定还会有荆棘无数,但我们为什么不给自己一个跳过去,把一切踩在脚下的机会呢?!


好了好了,现在我要说正经的了,前面两篇已经把我的两生两世都讲完了,还剩最后一世了。


接下来的内容,请有需求的小伙伴们,好好看了,关掉音乐,把手机放正,头抬起来,大声朗读:“我是谁!”


从零开始


之前已经说了,我是一个大学天梯1800,因为终身父子局认了很多儿子、孙子的DOTAer……后来遇到了菠萝同学,从此走上了人生巅峰(好了,不吹了,我保证)。


菠萝同学在我入职后的一个月后,和我发生了如下的对话:


小胖,你要不要学开发啊?


为什么啊?我要学运维。

你现在不学开发,以后肯定会遇到职业瓶颈的。我问你,如果发生了数据库性能瓶颈,你要怎么办?


我通过监控查看当时的内存、CPU、磁盘IO、网络带宽,然后再去看数据库慢查询。


那如果都没有问题呢?


……都没有问题,那怎么会有性能问题呢?


对啊,这就是你的眼界,如果是开发把代码消耗怪在你数据库上你怎么办?还有,你的监控就是那些开源的软件吧,如果需要你现在监控一下我们自己的服务存活,或者自己写个查询平台给非技术人员查看数据,怎么办?


……(卧槽?这是什么操作?我有点懵……)


好了,别烦了,今天开始我就教你C#


……

就这样,开始了我的编程生涯。万丈高楼平地起,先教简单的语法呗,和IDE的使用,发现好像没那么难么。每天菠萝同学都会在下班前一个小时来到我的身边,开始教我,历时2个小时,持续了好几个礼拜,公司都是我们最后走的。这段时间,真的很感谢他。


第一个瓶颈


没过多久,菠萝同学就让我写一个完整的项目了,计算器(我相信很多人在刚学编程的时候都写过吧)。UI画完后,就到逻辑部分了,起初根本没有概念啊:

  • 到底如何判断累计计算呢?

  • 如何回退删除、并能正确计算呢?

  • 加减乘除简单,科学计算如何表现?


一连串的问题,让我全地图懵逼啊。菠萝同学喷了我一句“不会谷歌吗?”。确实,在起初的我,遇到问题都是问,要么钻牛角尖,自己强行解释,无根无据(我不知道有多少人和我一样)。是他告诉我,要学会自行谷歌,并且关键字搜索非常重要,关键字搜的好,没什么问题是找不到的。


就这样我通过谷歌,一个个问题都迎刃而解了。正当我为学会一门新技能而窃喜之时,又迎来一个问题,面向对象。


面向,对象


刚学会函数怎么用,感觉好像很简单啊,突然用起类来,就发现怎么差的怎么那么多呢?完全无法理解类和实例的区别,属性又是什么,有了一个函数为什么还要方法重写?


其实这一块内容对于我来说,在初期真的很痛苦,花了好久才攻克的。我要和大家分享的就是,当你在刚学编程的时候,遇到看不懂的代码,可以尝试下我的办法,就是对着代码敲,然后单步调试,一步步走下来是什么样子的就很清楚了,每一步的值是什么也很清楚了。


就这样,我通过这种模拟代码的方式反复的敲,把一行行“对象”啃下来了。过后再想想,其实通了就通了,这个和之后看python装饰器一样,如果没懂,可能一直陷在里面,但你一旦搞通了,世界都安静了。


前端


慢慢的,菠萝同学开始让我接触前端了,起初教我用ASP.NET,那个时候用起来好爽啊,都不用去背什么html标签之类的。菠萝同学告诉我,这个你不用关注太多,后面我们会学一个叫MVC的东西。那个时候始终不理解,为什么要学MVC,不都可以做网页吗?(显然这个想法是幼稚的,学过的都知道里面的差异)


为此到学了MVC的时候,我完全无法从ASP.NET的概念里抽出来去接受MVC,为这个问题,我找了好多网上浅显的例子进行攻克。这个时候发现基础知识是真的很有用(这也是为什么我和很多私信我的小伙伴说,基础知识很重要的原因,你能够在学习一门新技术的时候,触类旁通)。提交表单的时候每一次请求都需要刷新(如果没有局部刷新),而我一直无法理解这是为什么,最后还是一位同事给我一步步结合页面和代码调试,演示了一遍,才突然醍醐灌顶。


后面的ajax也是一样的,每每遇到类似的问题,我都会花很多时间去琢磨,但一定要弄懂,否则你遇到这个问题,永远都只能绕着走。


Ending


可能大家很难想象,我是如何从零基础走到今天的。


自从菠萝同学教我写代码开始,我每天晚上都不在DOTA了,每天就在那敲键盘,因为会的少,所以都是在反复的练习。到后面学的多了,就敲的例子复杂一点。


还记得那个计算机,我一个周末就在那敲,在纸上画(原谅笨拙的我……),我沉浸于代码中,我发现写代码是如此的令人陶醉。


希望通过3篇花絮,能给大家带来对程序猿世界不一样的感受。我不是一个科班出生的程序猿。但我愿意花更多的时间去弥补那些错过的时光。



- The End -


「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost  

小七 丨 duoshangshuang


点击图片get往期内容

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存