非科班出身的我是如何成为大厂前端程序员的

用户bPcIIME

今天来聊聊我是如何当上程序员并最终进入网易、wxg。有时候也在想,我一个学电子的,大学每天都是和硬件、电路板打交道,是怎么走上程序员这条路的呢?

接触前端

那是在大二下学期的时候,当时刚用C++写完几个小游戏,就觉得用C++写起图形界面实在是太费劲了,更多的时候都是在面对控制台命令行,有没有什么语言能让我快速写出好看的界面,并且能实现炫酷的游戏效果就好了。这时,我突然看到了前端开发这个词。立即在知乎搜了半天有关话题,发现是写网页的,而且很容易就能看到自己想要的效果,只需要HTML、CSS,甚至都不需要什么JS逻辑,浏览器刷新下就能看到炫酷的静态网页,这不就是我想要的吗?!

于是,我开始入坑前端,正应了那句话:一入前端深似海。真正接触前端,才发现没自己想的那么简单,前端三剑客不用说了,那时正好刚开始兴起框架,React、Vue、Angular开始慢慢流行,还有Bootstrap,jQuery。学完了静态网页,发现还有CSS3动画,Canvas。然后又发现没那么简单,还有叫单页应用的玩意,用Ajax通信,可以不用刷新网页就获取新的数据,还有前端路由跳转,等等。

才发现,前端要学的东西实在是太多了,每个星期都在更新新的框架、工具库,那真是前端百花齐放的时代,但是对于一个新手来说,真的会显得手足无措。还好,我这个人有个优点,乐于接受一切新事物,虽然也会感到迷茫,但是我喜欢挑战,我到各大网站搜各种教程资料,自己不知道学什么就去学习别人的经验。我也不是什么新知识都学,因为知道自己肯定学不过来,而是先从基础开始,大三整个一年,我基本就是宿舍、教学楼、图书馆三点一线,去图书馆翻看一切有关前端开发的书籍,当然虽然借了很多本,但其实真正看完的也不是很多,因为我都是有选择地看,翻了一回发现不感兴趣或者自己暂时还没有达到那个水准看不懂,就放下看别的。所以,整个大三一年可以说我主要的经历都是放在学习前端上了。

大三那个寒假,我也坚定了自己的看法,放弃考研,去找前端开发工作。

找工作

人生最怕没有目标,一旦有了目标,生活就有了动力。

在确定了自己要走前端开发这条路后,我反而心态放松了许多,因为自己有了明确的目标,虽然还是很迷茫。因为彼时的我才刚入门前端开发半年时间,期间完全靠自己在网上找资料自学,身边也没有其他小伙伴一起,可以说那个时候的我真的是一个人在战斗。

接下来的日子,我开始边学习边找暑假实习,每天基本上只要没课就泡在图书馆了,那个时候的我对前端知识饥渴到只要看到书名和Web、JavaScript沾边的,就一定要去借来翻一翻,觉得不合适的就放回去继续下一本。每天从图书馆回来看到室友在打游戏开黑,自己心里也会有抑制不住想加入他们的冲动。但是理性告诉我不行,我和他们的目标不一样,要找到心仪的工作,我必须努力先找到实习,加强自己的经验。

然而,事与愿违,因为之前完全没有任何项目经验,都是自己小打小闹,一个人摸索。去实习面试的时候别人一问到项目经验就懵逼了,再加上自己内向的性格,有时候语言表达不够清楚,刚开始面试的几家公司是屡战屡败。

接二连三的面试失败让我萌生了想要放弃的念头,怀疑自己到底能不能找到实习,找不到怎么办?到时候校招没有实习经验别人更加不会要。但是,还好我及时调整了心态,当时也是去知乎、v2ex等论坛翻看各种前人经验和鸡汤来鼓励自己。我当时就是有一种不信邪的劲,为什么别人能找到实习我不可以,我又不比别人差。

调整了心态后,我开始把面试当成打怪升级的过程,每一次面试后都进行总结,把问到的知识点都记下来,回去一个个消化。基础不好就补基础,没有项目经验就去看别人的项目怎么写。由于时间有限,短时间我不可能去生造一个项目出来。于是我采取了两步走策略:主要是看各种前端开发面经和面试题,一个一个地看,强化自己的知识点;同时,根据网上推荐的前端书籍去图书馆一本一本地借阅,慢慢补基础。

然而,现实总是不会那么美好。由于我的经验不足,虽然面了很多公司,也有面到终面的,但最后暑期实习一个都没有。

一般人这个时候肯定慌得不行,我也不例外。我无数次地问自己,自己的选择到底做对了吗?我是不是该和大多数人一样去考研,以我的成绩,要去考肯定能考上的。但是,我读研到底是为了什么?我问自己。首先,我不喜欢读本专业,如果要读研的话我肯定要转计算机专业,但是现在学专业课已经来不及了,很有可能考不上。再者,即使读了计算机专业,但是我想当前端开发的话,读研对我的提升真的比工作大吗?我得出的结论是,工作对我的技能提升更快。我并不是说读研不好,没有用,而是在我看来,如果读研不能更有效地帮助我提升自己,只是为了一纸文凭的话,还不如尽早工作。我不想让读研成为自己能力不行、逃避工作的借口。

我仔细总结了到目前为止自己的优劣势,发现自己最大的缺陷就是缺乏实际项目经验,找实习的目的也是为了增加经验,那么,我为啥不自己写项目呢?虽然可能体验不到公司那种多人协同开发,但是总比没有经验好。于是我开始在GitHub上找项目,去YouTube上找教程,自己从零开始模仿着写。慢慢地,我开始沉下心来。

到了暑假,我每天给自己安排学习计划,上午看JavaScript书,中午看会CSS、HTML,下午写项目,晚上去牛客网刷会题,对知识进行总结。就这样有条不紊地进行着,我反而没那么着急了。

后来的事就开始顺理成章,我的项目经验慢慢丰富起来,简历上能说的东西也多了。到了正式校招,我陆续投了几家公司,没想到这次运气眷顾了我,我拿到了猪厂的提前批offer,开始了正式的程序员生涯。

工作后,自己平时也会保持学习新知识的态度,偶尔更新下博客,学点新技术。后来机缘巧合下,又跳槽到了wxg。

回顾

和那些拿ACM奖拿到手软、大厂实习经历丰富的大牛们来说,我的经历可能显得平平无奇。但我想表达的是,想当程序员并且进一家还算不错的公司其实没那么难,纵观我的经历,没有竞赛拿奖经历,没有工作室经验,没有大厂实习光环,最后一样拿到了大厂offer。

其实关键在于,你有多想当程序员,你有多热爱你的事业,你有多大的决心。如果只是单纯地认为程序员工资高,觉得程序员很容易当,那我劝你还是迟早放弃这个念头。

金融、销售等等行业工资一样高,做得好不会比程序员差。相比较之下,程序员反而显得更加枯燥,它需要一个人长时间坐在电脑面前思考、敲键盘,对人的精神和身体都是极大的考验,所以没有一定的毅力和热爱,很容易就会放弃。

但我不是说当程序员不好,而是在当程序员之前得想清楚,自己的目标是什么,自己到底有多大的决心。不管是为了梦想也好、钱也好,都必须有个明确的目标,并且持之以恒地坚持下去。

程序员是个需要终身学习的职业,或者说没有哪个行业不需要学习。所以,当你一旦确定要当程序员,最好的方法就是,确定目标、制定计划、行动起来!

如果大家对于学习WEB前端有任何问题,关于如何学习WEB前端的学习方法、学习技巧,怎样快速达到就业的水平,都可以随时来问我,这是我建立了5年的WEB前端学习交流QQ群:484 757 760
对于Java和Python我也懂,学习过程中遇见有问题可以在这个学习群问我、需要WEB前端各个阶段的学习资料,也可以在里面获取。
阅读 125
34 声望
3 粉丝
0 条评论
你知道吗?

34 声望
3 粉丝
宣传栏