从一个双非本学渣到自学前端上岸,我都做了些什么

前言

大家好,我是山里看瓜,一个有三年开发经验的前端搬砖仔。本期想跟大家分享一下我的一些经历以及我是怎么从一个编程课次次都差点挂科的学渣一步步通过自学到找到还算理想的前端开发工作的。

希望有类似经历或想法的同学可以从中看到或明白一些什么。当然我不是个多优秀的人,只能说从曾经的我到现在,我自己看来还算过得去,自己认定的一些事我也都去实现了。

"中等偏上"的我

别人的一生璀璨精彩,而我这一生可以说是平庸。从小学开始我就都是不会受老师批评也不会拿奖的那种孩子,成绩没有很差也没有很好。"中等偏上" 是我一直以来的标签,这也不知不觉让我养成了一种不想争也不颓废的状态。

上初中不是尖子班,但又是普通班中的尖子班(除了尖子班我们班成绩最好),在班里我不是前三名,但从来没跌出过前十五(虽然我们前三也没多少分)。初中我们在镇上上学,尖子班目标大多考进市里重点高中,而我们班很多人的目标只是县里的所谓重点高中,市里县里都叫一中,但两者可谓天差地别,一个高考一本是保底,一个一本是顶点。

而我,当时脑回路可谓及其清奇,比上不足又不想比下 ,毅然决然选了一个不是市里不是县里的高中上学(在所谓的开发区,离家贼远),至今想不通当时是为何会想到这么个地方,但这选择真莫名符合我的性格。我的见识真的不多,但是每次到这种稍重要的选择时刻,我的脑子里好像住着一个不属于自己的一小部分的自我,有时会莫名跳脱,冒出些与别人甚至是与自己不是那么相似的想法, 最后高中我成了我们班上为数不多考上大学的人,其他要好的朋友大多选择二战。我就这样带着我高中的中等偏上进入大学。

大学时期的混子

不知道大家有没有跟我一样的感受,生来好像就注定会离家越来越远。我大学在离家一千多公里外的地方上学,我还清晰记得第一次去上学,当时一个人坐的火车,30多个小时的硬座,火车上有很多送孩子上学的父母,也好象是有同校的同学,我当时淡定沉静得可怕,没有任何不适没有任何不开心甚至是没有任何高昂或低沉的情绪。到如今我唯一清楚的记得的是我把每一节能走的车厢来回一共走了23遍。扯远了扯远了~

大学干得最多的事就是打游戏,其次就是打篮球。当时才拥有自己的电脑,就好像把那个高中包夜玩电脑的劲带了过来,一天就猛玩,作业从来都是课前补,上课总是打瞌睡,甚至一些课还偷偷玩手机游戏。一到下午或者周末,大多是出去打球,电脑可以说是几乎没用来编程。

大一到大三这三年,几乎没怎么专心搞学习,每学期能堪堪不挂科基本可以说是全靠考前熬夜恶补,平时玩得有多欢,考前就有多拼,主修的编程课也很少用心学,当时是感兴趣的,一开始也敲得还行,但慢慢的随着越来越放纵和没有人约束,所有的兴趣都被每天玩乐的即时快感所代替。而且编程这条路是没有捷径的,只有靠一步一个脚印和不断地学习积累才能走得更远,这导致我对所有的编程课也越来越没兴趣,知道后期考试全靠死记硬背,根本不理解为什么要这么写。

临近毕业的迷茫

我们大学的专业课到基本在大三这年学完,最后的一年是参加各种活动、选修补学分,以及完成自己的毕业设计。当然对于我们这种菜鸟来说,这毕设真的让我们脱层皮,各种找人问,各种查资料。很直观的说明了我们高中班主任说的那句话:"学习上欠的债,迟早都是要还的。"

通过这次毕设,也让我捡起来了一点点对编程的兴趣。加上这一年需要实习,看着很多同学都有自己清晰的目标和去处,有的考研,有的考编,有的拿了好几家公司的offer在纠结要去哪里。像我们这样的,一部分是在迷茫中不知道以后的路在哪里,剩下的去了那听起来高大上的"管培生"------就是那个比厂里打螺丝工资还低的岗位。

而当时的我,没有任何技能傍身,专业课也没学好,真完全不知道以后要做啥。之前跟朋友吹牛说:咱学计算机的,以后就去拉网线吧,实在不行就去送外卖,黄袍加身。你别说,你还真别说,外卖我送过,干了半个月,收入七八百,最后付了租车押金一千二,倒亏五百。然后去宽带公司拉过网线(也算是专业相关了),我当时不可能想到我之后会是个程序员,那时候在我眼里,这是只有那种学霸才能干的工作。

努力只要开始就不会晚:自学前端

确定方向,规划学习路线

直到大四下学期,我依然每天混日子,不知道以后会做什么,甚至有过进厂打螺丝的想法。转变是在一次跟我朋友酒后聊天,当时他问我以后想做什么,想成为什么样的人,我当时愣住了五秒,脑海里闪过的是这几年我的不务正业,我这时候是真的后悔啊,想着我要是一开始就好好学就好了。

当时朋友的一句话对我影响很大:"不要为了过去的事后悔,过去没法改变,努力只要开始就不会晚"

当晚喝得很醉,但是这句话在第二天甚至到今天,我依然深深的记在了心里。中午起床后,我开始思考:我想做什么?我是学编程的,我对编程一开始是非常有兴趣的,只是后来荒废了。------ 所以我很快想清楚确定了,我以后要当程序员。

当时同学中比较多的是干java的,而我是那种喜欢有视觉即时反馈刺激的人,或者说一开始我不是很喜欢跟数据打交道的人。所以我在想,还有那些职业岗位我能做,除了大学的专业课,我至今觉得大学里最重要的课是最后一年的大学生就业指导课,当时我们的老师给我说了一个概念:面向面试学习。我真的很感谢当时的老师,虽然没有直接教会我什么技能,但是让我懂得了这个我现在依然觉得很重要的方法。

我开始上boss直聘搜索程序员的相关岗位,java、c++、大数据... 直到我看到前端开发这个岗位,我才确定这是我想做的职业,我没有任何过硬的专业技能,所以一开始我只看岗位职责,看这个岗位需要做什么。我觉得前端的岗位描述非常符合我想从事职业的特点。

确定岗位之后,就是看怎么才能够找到相关工作。这就用到我前边说的面向面试学习,我看了大概二十来个前端岗位招聘的要求,看他需要掌握哪些技能,我把它们按照这些岗位出现的次数排序。然后就是找一些别人总结的学习路线,这其中有两个前期对我影响比较大的大佬:程序员鱼皮和技术胖 。我自己的学习过程中有参考过这两个大佬分享的学习路线,然后综合自己总结的招聘要求上的技能,整理出了一份符合自己的学习路线。知道并明确方向这在一开始非常重要

坚持不懈,只要出发了总能到达

过程其实总结下来很简单:坚持、坚持、还是™的坚持。在这段学习期间中午几乎没有午休过,游戏更是没玩,为了担心自己控制不住,我的王者账号被自己注销,所有游戏都被我卸载。晚上更是每天学习到一两点。因为有方向有路线,我按部就班一点一点的学习前端知识,慢慢完善自己的技能。这半年多的时间我的努力程度是我高考时期的数倍。终于,我能独立写出一些网上的项目。大多数常用知识点我都能说上一些,于是我开始准备简历准备面试。

痛苦面经,在失败中总结提升自己

然而第一次前端面试就给了我一个大大的耳光,我被面试官虐得体无完肤,一开始还能答得上来几个,慢慢的甚至自己知道的都说的一塌糊涂,关于业务关于项目更是说得一言难尽。

然后我开始反思自己,是哪里做得不够好。我重新完善我的简历,开始准备面试自我介绍,每次面试我都会偷偷录下自己的面试过程,事后针对面试说到我不会的点去加强学习,就这样知道面试第十次,是的第十次。我终于被通知一面过了,后续约了我进行二面。虽然最后这个公司没有拿到offer,但真的是向前迈进了一大步。

成功上岸,第一份前端工作

再往后免了大概五六家,我比以前更加自信,面试过程部署对答如流,也是基本能答上来,对业务项目这些都更了解也更说得清楚,以前是会做但说不上来。这半个月期间,我拿到了三家公司的offer,虽然工资都不高。但是这种自己的努力换来了成果的感觉,真的比什么都痛快。最后也是综合选择了一家小公司,这就是我的第一份前端工作,在这家公司我也学到了很多。

一些感想和建议

我能走到今天,成为一名程序员,我觉得跟哔哩哔哩关系很大,我想说,b站真的是个学习网站,只要是你想学的你都能找到相关教学视频(当然这更适合新手,大佬都是看书)。然后我看的第一个前端视频是pink老师的前端视频,我觉得真的有趣且通俗易懂,入门推荐真的。

这个世界上其实大部分人还没有到那种需要拼天赋的程度,大家都是普通人,只要你想,别人能做的你也能做。这是我一直相信的。

然后就是:很多事,努力真的会有回报。

写在后面

你做了很多事,到后来你回头看看,好像所有发生的事都是恰好,恰好你当初那么做了,恰好你做了那个选择。所以如果你有什么目标有什么想法,不用管它有多难,先做,先让自己动起来。等有一天你回头看,会说:这也就这样嘛,没多难啊。

你有什么样的编程学习经历呢,可以分享评论区一起聊聊~

相关推荐
2401_8570262313 分钟前
拖动未来:WebKit 完美融合拖放API的交互艺术
前端·交互·webkit
星辰中的维纳斯1 小时前
vue新手入门教程(项目创建+组件导入+VueRouter)
前端·javascript·vue.js
嫣嫣细语1 小时前
css实现鼠标禁用(鼠标滑过显示红色禁止符号)
前端·css
Days20501 小时前
web前端主要包括哪些技术
前端
XF鸭2 小时前
HTML-CSS 入门介绍
服务器·前端·javascript
forwardMyLife2 小时前
element-plus 的form表单组件之el-radio(单选按钮组件)
前端·javascript·vue.js
fs哆哆3 小时前
ExcelVBA运用Excel的【条件格式】(二)
linux·运维·服务器·前端·excel
安冬的码畜日常3 小时前
【CSS in Depth 2精译】2.5 无单位的数值与行高
前端·css
ilisi_3 小时前
导航栏样式,盒子模型
前端·javascript·css
吉吉安3 小时前
grid布局下的展开/收缩过渡效果【vue/已验证可正常运行】
前端·javascript·vue.js