在编程这条路上,我依旧走着。。。
在写这篇自己经历的文章时,我还是很犹豫的,就像我老婆说的「你在给别人讲述你的经历,在别人那里可能就是一个笑话」,若是能对那些追随我的老读者有一丁点儿帮助,就算被某些人当作笑话,我也觉得自己的这篇文章很值了。
正文如下。
到底该怎么学编程?是每个刚接触编程的人,都会问的问题。
当年,我也一样,经常会问自己身边的朋友。最终,得到结论都是「感兴趣,努力,再努力」。。。
这里,我跟大家聊一下我的经历,希望能对各位读者有点帮助。
人生拐点
我的求学经历还算比较坎坷;本来在高考失利后;彻底打消了我想继续读书的欲望。我便决定出去务工,当时怀揣着不读书照样也能闯出一片自己的天地「现在想想当时确实有点幼稚」。
在同乡的带领下,去投奔在江苏务工的姑姑,坐了两天的大巴车,说来也奇怪,我以前坐车总是晕车,那次坐了两天车也没有晕车,一路上什么东西也没吃,浑浑噩噩的来到了姑姑她们的出租房,看着姑姑他们居住的地方,确实很简陋,生活也很幸苦。她们没有周末,按他们的原话「如果不加班就等于给厂里帮忙」,为了生活,她们必须要加班。
姑父托关系把我安排到他们工厂比较轻松的部门,我还记得叫「夹器小组」,每天需要工作 12 到 13 个小时,刚开始激情很饱满,后来,逐渐觉得自己每天的睡眠严重不足,每天上班跟上坟的心情一样沉重。给我影响最深刻的一次是,我正半睡半醒地登着自行车去工厂的途中,突然间天黑了,我当时还以为穿越了,当我到工厂后听工友们讲,那天是难得一见的「日全食」。后来,我在那家工厂工作了三个月。最后,不想总是这么重复着做同一件事情,也想弄明白读书到底有什么用?因此,我告诉家里人,我要读书,再考一次,如果不行,我就认命了,虽然家里条件不好,但在读书这件事情上面,还是很支持我的决定,因为父辈们都认为「农村的孩子只有读书才能脱农皮」。
于是,我重新回到校园,复读了一年,这一年,我很用功,也很努力,因为我知道这对于我来说,这是最后一次机会,毕竟家里没有经济实力给你太多机会。
后来,考得不算太差,上了本省的一所二本院校。家人本打算叫我学医,但我没有听家人的,选择了一所工科大学,本来当时填报的是我喜欢的数学专业,没想到阴差阳错,被调剂到信息对抗技术,也幸好调剂到这个专业,要不然的话,就跟我学数学的同学一样,毕业即失业。
录取后,我跟同学上网搜了一下这个专业,属于武器类。当时,我真是云里雾里,各种蒙 b,当家人和朋友问我的专业的时,我也不知道该怎么解释,他们也听不通,因为我自己都不懂,听的人又怎么能明白呢!
大学时期
我深知自己上大学的机会难得,因此,带着很强的目的性去上学,就是要搞明白两件事。
我的专业是做什么的?
我怎么学好这个专业?
任何事情当你带着问题去学习,学习速度是很快的。我当时厚着脸皮去老师和师兄师姐那里咨询;很快搞明白了这些问题。
我还记得,老师和师兄师姐说的最多就是要学好 C 语言。因为它是我们学院挂科率最高的,也是学院要花一年的课时来教授的。所以,在 C 语言的学习上,我确实很认真,也很努力的。
由于在上大学之前一直没有摸过电脑,刚入学的时候,室友们都叫我「一指禅」,为了改变这种现状,大一上学期的主要任务便是要学会「盲敲」,我每天晚上躺在床上首要任务便是背键盘,没有自习的晚上都会准时去机房练习半小时的「金山打字」和 C 语言课后习题,在那一学期几乎练完了整个 C 语言题库里面的上机题目,期末以满分的成绩完成上机考试。
由于自己在C语言上面花了很多功夫,基础比较牢固,后来,便顺利的进入了我们学院的信息对抗实验班。
在这个班牛人太多,各个都有自己感兴趣的领域。对于我来说,太蒙了,除了会点 C 语言编程,其余的什么都不会。
怎么找到自己感兴趣的领域呢?这是我当时很头痛的一个问题。
这里要感谢一下我实验班的同学,360的 znlover、美团的 chigo、信安之路的创始人 myh0st,那时,他们在自己感兴趣的领域有一定的研究,分别给我讲诉了逆向、WEB 安全的研究方向。后来,我发现自己对 WEB 开发感兴趣,主要在于它有绚丽的界面和友好的交互,因此,逐渐远离了黑窗口。当时有三个 WEB 开发方向可供选择,分别是 PHP,Java,C#。我当时也不懂,在与师兄们的交流下,了解了这三门语言以后的就业机会,最终决定学 Java。
我当时有 C 语言的基础,对于学习 Java 来说不算太吃力。为了做 WEB 网站接触了Html、Javascript、Css,它们在构建界面上必不可少的,又为了让网站动态化,又接触了 MySQL。那时,每天跟我邻铺的「老三」像打了鸡血一样,不断的研究 Web 方面的东西,他当时学得 C#,我们有时候会为一个问题而争的面红耳赤,最终,都会去看淘宝、凡客、京东这些网站是怎么实现这个功能的,来说服对方。
现在回想起来,在学习的道路上有一群不断交流的好朋友,真好!
在「老三」的引荐下,大二下学期进入了实验室跟着老师做项目。现在,经常听一些读研的同事抱怨说,我们读研那会儿就是免费给老师打工。其实,我却不这样认为,因为当时我是什么都不会,需要拿实际的东西来练手,在练手的过程中,每月老师还给我发点钱,平时会组织大家一起聚餐,我已经很满足,毕竟让我不必继续在图书馆勤工助学来赚取生活费。
有的读者一定想知道,在实验室做项目的过程中,我是怎么学习的?
一般白天上完课就在实验室做项目,晚上就在实验室学习,切忌,一定要有计划。带着问题去学习,比如项目中我遇到什么问题?我就要去看看别人是怎么解决的?我还有没有更好的解决方案,如果实在是没有找到解决办法,就可以请教别人。请教别人一定要讲技巧,要问有价值的问题,如果别人不耐烦了,你可以悄悄的对他说,「实验室里就你技术最牛,不问你我能问谁啊?」保证他会慧心一笑,立刻帮你解答。
到大三下学期的时候,我便开始在外面接私活,也就是那个时候,我赚到了第一笔通过自己的代码获得的收入,利用这个钱,买了自己的第一台电脑「小黑」。
择业
在开发的过程中,我逐渐厌倦这种生活,时常想难道每天都只是重复的粘贴复制,做增删改查吗?我是一个不喜欢安于现状的人。因此,在想计算机到底该怎么玩?
大四,我跟我的大部分同学一样都去了省外的XX安全部门,在那个部门,遇到了很多大牛,他们这些做安全的,确实很牛,点燃了我对安全的兴趣;让我对安全有了新的认识,以前在实验班,理解的安全就是搞站提权拿 webshell,要么就搞逆向分析获取 key,这些东西到底该怎么用于生产,就不得而知了。当我见到他们做得产品,一切全明白了,由于我是一个喜欢挖掘技术本质的人,因此,便进入这个行业深入挖掘。
那时,我遇到带我真正进入安全的老师「国内第一代黑客」,毕业便跟着他混了几年里,学到了很多,做出来一些不错的项目,认识了不少牛人。
后来,慢慢觉得做安全效率太慢了,有时候你挖一个漏洞,花费了好几个月都不出成果,而且就算挖出来了很快也就失效了,又加上产品的多元化,用户不清楚自己的需求,再加之这几年成就感越来越少,逐渐开始厌倦了这种生活。
结合自身的情况,一来不愿与老婆长期分隔;二来希望回到家乡。因此,给自己取网名为「忆蓉之心」,来时刻提醒自己快点回到蓉城发展。
蓉漂
回到蓉城,标志着一切将会从零开始。经过自己的深思熟虑,决定要进入互联网的坑,也就意味着自己的互联网开发经验几乎没有,面试将会处处碰壁。。。
跟我预计的一样,刚开始找工作那段时间,屡屡受挫,当看到当年跟自己一同毕业搞开发的同学都比自己混得好,开始怀疑自己。我还记得,曾一个人在出租房内,打开电视,点上一支烟,问自己「难道我的抉择错了吗?」。
说实话,能挺过那个阶段,要好好感谢一下我的老婆,她经常给我说,「没事,我养你」。也要感谢真心帮助我的朋友,我还记得,有的给我提供简历模版,有的给我勾画技术体系。有家人和朋友的支持,我便开始静下心来,花了一周的时间重新整理自己的知识体系再面。
在接下来的一周,顺利拿到三四个 offer ,最后,选择进入了一家做游戏渠道的公司。
由于自己体会过找工作的痛苦,因此,决定利用业余时间做一个公众号来专门讲 Java 面试,来帮助那些跟我当初面试处境一样的同学。没想到这个决定反而让我的技术水平得到了显著提升,因为在不断写作的过程中,逐渐纠正之前自己的错误认知「开发不是粘贴复制,你还这么认为,说明你很菜」,弄清楚那些混淆的知识点,发现自己真正感兴趣的方向。
有些读者私信问我目前在做什么?我目前已经离开了上家游戏渠道公司,进入了一家做支付的公司,主要为了提高自己的严谨度,并了解跟我们息息相关的金融领域。
在蓉城,我完成了人生的几件大事,结婚,买房,宝贝女儿的出生,买车。希望在接下来的日子里,能在蓉城实现自己更多的理想。
有的读者可能会问,你折腾了这么一圈,难道不累吗?我可以明确的告诉你,不累,也不后悔当初选择进入安全行业,人生的每一个阶段都应该有不一样的体会,我会跟着自己的兴趣走,有可能过几年我又会去尝试新的领域。。。
建议
不要相信不挂科的大学不完美的谬论。
编程语言真的没有好坏之分。
多与身边的同学做技术交流与分享。
善于听别人的意见与建议。
真心结交一位在这条路上带你前行的「贵人」,让你少走很多弯路。。。
计算机行业是一个公平的行业,没有那么多潜规则,0 是 0,1 是 1。学习编程,对任何人来说,也没有捷径可走。
最后,把我时刻提醒自己的警句送给各位读者,「我不是班里最聪明的那个,但我希望是最努力的那个」。
如果喜欢我的文字,记得点赞或者转发给你身边的朋友。
—————END—————
看更多技术好文
请长按下方图片扫码关注