我是如何走上程序员这条道路的

Posted 黄冲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我是如何走上程序员这条道路的相关的知识,希望对你有一定的参考价值。

      现实生活中估计有很多人和我有着相同的经历吧,或者也和我一样,面对过同样的选择,如果你是这样的,那么就恭喜你了,也许你能从我这篇文章得到一些启发,然后做出最正确的选择!以前我都不敢说自己是一名程序员,因为在我心目中程序员的门槛是很高的,但随着最近我拿到了某国企的offer,我觉得我应该有资格和各位程序员一起分享我的人生经历以及对技术的探讨了!

其实我的学习成绩在小学还是不错的,后来上了初中,就开始落后,到了高中,就越退越远了,最后还只能上一所很差的专科学校,学的专业是机电一体化,后来被学校分到了东莞的一个电子厂,负责设备的维护保养,初出茅庐的小伙子,一开始可没少挨叼,很不容易熬下来了,干了三年多,就开始有些迷茫了,难道自己就要这样待在工厂一辈子吗,心有不甘,但又能干什么呢,因为那个时候一直待在车间,就很想坐进办公室。再到了后来,还是决定要改变了,就辞职去跑业务了,就是小额贷款,各位也经常在天桥或者路边遇到很多人给你发名片啥的,我就干过这个事,跑业务只能拿个底薪,其他都靠自己找到客户拿到提成,要想做成一个客户其实并不容易,我曾经好不容易拉到一个客户,直到与公司签约不干了,因为利息太高。那个时候领导也天天灌鸡汤啥的,要努力奋斗才会成功。慢慢地,我越来越感觉到做不下去了,自己并不适合这行,即使再努力也不会成功的。于是我又失业了,而且不知道路在何方,特别迷茫,那个时候我差不多24岁,最后没办法了,只能做回老本行了,我又进了惠州的一个小厂做SMT贴片机的维护和保养了,也就是在那个时候我意识到假如以后我真的只能待在工厂了,那么我也要进一个大厂,这样发展机会更大,那个时候要说大工厂那就是富士康和华为莫属了,这两家就相当于是工厂打工仔的天花板了,本来我是不敢去尝试的,但是我一个同学郑*进那个时候已经进了富士康了,他当初跟我一样都是在东莞那个厂干的,这给了我很大的信心,于是我就在网上给富士康投递简历了,可是居然没有任何回应,后来我就打电话问了郑*进,问他是怎么进的,他就告诉我在龙华汽车站有个人才市场,可以去那里面试。于是我就请假去了没想到真的过了第一面,过了几天富士康通知我去厂内面试了,当时我真的特别激动。后来我就去厂内面试了,虽然我知道郑*进就在厂内,但我并不想告诉他我来了,因为我担心我面试失败那就丢人了。可是好巧不巧,富士康园区那么大,我刚进厂区没走一会儿,就看见不远处他朝我相向而来,但是他是没看到我的,因为他手里拿着一个药盒,在看上面的说明书,就这样擦肩而过了,又走了几步,我忍不住了我就回头叫他了,后来面试完我就去他宿舍坐了下,当时我就感慨富士康环境真的不错,大学校园式的环境,足球场,篮球场,各种餐厅,员工宿舍...... 又过了一段时间,我终于收到富士康的入职通知了,说实话,收到这个通知比我收到大学的入职通知高兴多了,此时我在惠州上班也就两个月左右吧,还没过试用期,很快就辞工了,虽然就在惠州待了两个月左右,但是我在这里一是拿到了富士康的入职通知书,第二点就是我在这里认识了一个女生,最个女生最后成了我的老婆,所以我感觉还挺神奇的。

接下来就是入职富士康以后的故事了。大概做了一两年后,我和郑*进就经常一起探讨人生之后的路该怎么走,因为那个时候我们已经28岁了,如果我们想转型想改变这可能是最后的机会了。再有一天,应该是在路边,郑*进捡到了一张宣传单,上面写着java 培训, android培训,嵌入式培训,还写着包分配工作啥的,那个时候是2015年左右,互联网处于高速发展时期。最后考虑了很久,我和郑*进都报名了,学费是12000,如果是上白班,我们就晚上7点去上课,如果是夜班,那么下午3点就要去,最难受的是上夜班了,下午3点眼睛都睁不开,我必须买瓶红牛提神。再后来我们就发现不对劲了,他说的有很多老师授课,上了很久也只有他一个人,他跟我们讲一些编程的基础知识,然后他说的毕业包分配这些也都是扯淡,于是大伙就找他退钱,他不肯,最后有一个学员就报警了,警察来了,都带去警局问话了,这个培训就这样结束了。花了12000,最后就这样了,但是有一点我发现了我骨子里爱好的是编程这个东西,于是想了很久,我决定辞职全职去一个大的培训机构学习,当时我选的是达内,200块定金都交了,就等到期后去学习了。其实做出这个决定是很冒险的,因为我并不知道我去学了后最终会怎么样,会不会最后又是钱也交了,最后也没就业,然后连富士康的工作都丢掉了,那损失就很严重了。可是如果我不去尝试,我已经28了,如果现在都不能改变了,以后更不可能了。就像郑*进说的,花了这12000相当于就买了个勇气。

然后再接下来就遇到我人生一个很重要的转折点了。在我辞职还剩最后一个多星期的某一天,当时我和郑*进都上夜班,他下班回到宿舍跟我说他也辞职了,当时我很惊讶,我没想到他也会这么做。然后大概又过了一个小时左右,准备睡觉了,突然郑*进的手机响了,他们经理廖**跟他说富士康正在搞工业互联网,他把他推荐给另外一个部门了,而且就是开发部门,这就真的是喜从天降了。郑*进就跟我说如果他进去了就推我一把,我就跟他说那你一定要快啊,我还有一个多星期就要辞职到期了,很快他就真的去开发部门了,然后他推荐我了,那边的主管愿意接收我,我一方面特别高兴,另一方面也特别担忧,因为要想转部门成功的话,一个是要有接收方同意,另外就是还要你现在的部门同意你过去。我先去找我们课长,我知道课长是很好说话,跟我预想的一样,我必须去找经理,如果他同意,那就过关了,但是我们那个经理,平常大家都叫他老鬼,看见他就要躲的,很怕他。没办法,只能硬着头皮去找了,可能是我已经辞工的关系,他跟说话的语气还是可以的,还有一点我特别想说一下,我们那个经理在大是大非方面还是很有分寸的,要不然也不会做到经理,因为我第一次找他,虽然他没有马上同意,但是他主动在那个取消离职的申请书上签字了,这个太重要了,因为还有几天我就辞职到期了,而且他签了这个,我心里也就有数了,他只是不想让我走的那么顺利而已,我多找他几次就可以了,跟我预想的一样,后来我又找了他两次,他终于签字了,我终于如愿去了开发部门了。

成功进入开发部门后,虽然是进了这个圈子了,但是不会啊,在软件这块,我就相当于一张白纸,我一开始甚至不知道软件开发是分前端和后端的。当我打开电脑,我看着那些需求,我懵了,我一行代码都不会写。当我看到身边有的同事能像写字一样去写代码,我真的羡慕了,我何时才能达到这个水平呢,要是我也能这样那该多好啊。刚去的那几个月,甚至是一年,我完全做不了事,但是我依然拿着工资还在那里干着,而且部门内部在培训,富士康工业互联网学院也在搞各种培训,而且都是免费的,在我心里,我一直都很感激富士康,也很感激富士康的那些领导,我更愿意把富士康称为大学,因为我是在这里学成的,而且是免费的,我还拿着工资。所以我待了6年后离开的时候我是很不舍的。

离开了富士康,我去了汇丰银行,其实是一个外包岗位,每天两会,每天都要报进度,每天都要有产出,这里将每一个需求开发,bug修复,任务分的很细,把每一个任务都看作是一个ticket,然后有一个专门的网站在跟踪管理所有ticket的状态。从我进汇丰的那天起,我就定下了目标,我还要继续学习,一年后我会再次出发面试,因为我不可能再外包干一辈子的。我也经历了不少面试了,我很清楚的知道需要掌握好哪些技术。对于Android来讲,首先最基本的,线程通信handler 进程通信binder 这两个东西必须深刻理解,这两个东西都没搞清楚,你说你Android学得有多好我是不信的。handler这东西要想完全理解难度没有那么大,但是binder就不一样了,binder有四层,应用层,framework 层,ndk层,c++ 层,不仅要懂java 要想彻底搞懂底层,还得研究一下c++ 之前我是看了很多博客,也听了很多视频课,仍然对binder处于一知半解的状态,直到我听了码牛学院David讲的binder,我就豁然开朗了,面试官再怎么问我我都不怕了,David在讲binder之前,会先去讲一些很重要的基础概念,比如用户空间,内核空间,什么是虚拟内存,什么是物理内存,什么叫内存映射,MMU内存管理,以及什么叫代码局部原则,这些概念都很重要的,必须先理解清楚。现在网上也有很多培训机构,究竟选哪一家好呢,我是觉得每一家都有很牛的老师,所以我是每一家都听了,比如我们Android最难理解的框架是rxjava 之前我是听过很多老师讲过,但是我都没能真正理解,直到我听了动脑学院zee讲的<玩转rxjava>,讲得太好了,我不但理解了,而且当你真的理解了后你是很难忘记的,那其中的原理已经印在你脑子里了。Android 还有一个很重要的一点,就是内存管理,内存使用不当,很容易会造成内存抖动,内存碎片,再接着就影响性能有卡顿的感觉了,甚至oom。我一开始听到内存泄漏,其实是没有理解的,因为内存这东西看不见,摸不着,只能靠自己想象了。内存泄漏其实指的就是有一块内存你的程序再也没办法使用了,这就叫内存泄漏。然后内存泄漏指的是本应该要回收的对象,其他生命周期更长的对象却持有这个对象的引用,导致这个对象不能回收,因此就产生了泄漏。一开始我看到这些解释我是不能理解的,只能把它背下来,因为我一开始都分不清什么是对象,什么是引用。比如 A  a = new A() 等号左右两边表示的是两个不同的东西,左边是引用,右边是对象,引用指向对象。一个对象的创建分为三步,分配内存空间,对象初始化,给引用赋值。对象的产生又是建立在类加载基础上的,所以我们还得搞清楚什么是类加载,说到类加载,又必须理解什么叫双亲委派,因为我们热修复的原理也是跟这个息息相关的。

如今我又即将走入新的职场,之所以选择这家公司,是因为根据自己的职业规划,这家公司是很适合的,而且我也不想再跳来跳去了,我想在里面持续发展下去,而且我还是那样,不要求自己成为全栈,依然致力于成为一个更加优秀的Android开发!

以上是关于我是如何走上程序员这条道路的的主要内容,如果未能解决你的问题,请参考以下文章

我是如何走上CSDN这条路的

我是如何走上CSDN这条路的

我是如何成为一名程序员的?

我是怎么走上推荐系统这条(不归)路的……

程序员35岁被裁只能开滴滴送外卖?这条晋升道路你一定别错过

千万不要点进来!看完Python从入门到实践,你就要走上秃头的道路