1.前言
光阴似箭,日月如梭。不得不感慨时间过得很快,2017差不多结束了,一下子我从事前端开发的时间已经两年了。这两年可以说是一波三折,回想这两年的经历,让我忍不住了写下了这篇文章,记录自己在这两年经历的种种种种。这篇文章,打算当做自己的一个经历记录,而对于看这篇文章的你,希望你们能从我的经历里面吸取教训,希望即将步入前端和已经从事前端的你,不要想我这样一波三折,在前端的路走得更好。
2.大学时光
考完了第二次高考,紧跟着就是懵懵懂懂的上了大学,报的专业就是‘软件技术(网站设计)’。这么说,我也算是科班出身了,只是大学不是那么出名而已!在大学的时光里面,我并不是每天埋头在电脑前面写代码,学习。生活上有社团,班级的活动我基本都参加,也经常约上同学打篮球,聚餐,外出。这些经历,对于大学而言,是非常珍贵的经历,我想拥有多一些这样的经历。至于学习上,我也努力过,也有懒散过。成就方面,除去一些平常的奖项,比较有成就感的就是班里的成绩和个人素质综合测评我都是***,因此一等奖学金和国家励志奖学金我没落下过。虽然这些和同级的人参加了什么国家省市的比赛,获得了多少等奖,多少名无法相提并论,但是我不求与他人相比,只求超越自己。在步入大学的***天,我就想不虚度大学的时光,学好专业的知识,不再因自己的不努力而后悔。这个我算是做到了,只是不***。至于不***的原因,主要有两个:
一是自己的坚持和自制力不够,主要表现在两个方面——自己本身打算做一个项目练手,后来就是因为懒散或者技术难题放弃了。还有就是和在图书馆借了书,根本没怎么看,等于拿回宿舍放两三个月再还给图书馆!
无论是否是大学生,无论有老师与否,学习这个都是靠自己的努力,靠自己的坚持,坚持,再坚持
二是自己在大学的学习里面,我虽然成绩很好,但不代表技术好,因为和同学对比,我的技术差了可不止一两条街。因为在学习上,我最多也是跟着老师和课本上面的内容学习,不了解外面的世界,不知道技术趋势,也没有和行业的人交流过。这也导致我在实习的时候很是吃亏!
大学的知识需要学习,但是外面的技术趋势也得了解。反复折腾大学的项目,功课。学到的知识比较有限。对外面的技术趋势有有了解,加入社区和行业的人交流,学到的会更多,学习效率也更高。
3.初入前端
大学的两年时间感觉一晃就过了,一下就到了大三,出来实习了。在接触前端之前,我写了三个月的php,后来发现自己对前端更有兴趣,所以转前端了。但是这条路并不平坦,因为我找了半个月的的工作,面试了16家公司,15家拒绝,***一家录用我了,就在两年前的11月,我有了***份前端的工作。当时听到录用了,想都没想,立马就去入职了,没有上网或者去群聊消息打听过这个公司,对立面的情况一概的不了解。带着兴奋的心理去入职了,一个星期之后,我就在想着什么时候离职了。因为公司虽然是有400人,前端也有50人,但是基本(95%)都是实习生或者应届生,做的东西都是切图(html+css,js基本不需要写)即使是技术经理,当时觉得他技术厉害,现在觉得技术很水。做的项目都是很粗糙的(几千块一个项目,设计+前端+后台,大家可以想下是什么样的项目了),工资基本就是1600-2000,涨薪最多也就2500,每天加班也拼不上3000,在那工作四五年最多4000,福利补贴什么也没有,反倒是扣钱的借口就一大堆。每天开会进行‘洗脑’活动,平均每天入职一人,离职一人,入职没满一年就离职还要扣15个工作日的工资等等等等。公司名称不说了,毕竟当时入职都是你情我愿的事情,只是当时自己太天真而已。
可能是因为我的专业技能学得并不是很好,这个经历现在还历历在目,在从那一次开始,我找工作再也不敢着急了,因为越是着急,越是找不到合适的工作。现在面试的时候我也会多问几句,公司的规章制度,福利补贴,薪资待遇,工作内容等问题,入职之前也多了解下公司,上网看评价(如果是初创的公司,网上没有评价的就爱莫能助了)。
前端的***份工作是不如意,但不代表我就自暴自弃,在工作之余,我也有抓紧学习!这几个月我先是看了blue(智能社的创始人)的入门视频,后来又看了红皮书(【javascript高级程序设计】)。我看视频或者看书的时候,我并没有太着急,要逼自己太紧,而是紧盯的自己要劳逸结合,不能懒散。三个月后,视频和红皮书看完了,前端的三大基础,html+css+js有了一个最基本的认识,并不是很牢固的那一种,即使是切图,也是有点粗糙。看完了视频和红皮书的半个月后,我实在是不想再拖了,拿了2月份的工资的当天,就提离职了。当时主管跟我说,我入职没满一年就离职,是要扣15个工作日的工资的,这个月至少要做够15个工作日,我当时并没有理会,直接第二天不来了,合同没签,我走你也没办法!
遇到实在是受不了的公司,不建议在纠缠下去,早点一刀两断或者就是***的一个决定。当时在这家公司,有些人觉得被扣15个工作日的工资不划算,打算做满一年再离职。我就直接放弃,频繁请假或者上班不做事,自己学习。他不仁我不义,所以三月份免费给他打工的工作日并没有多少。对于这一次离职3月份的几天工资,我也不那么在乎,***没多少,第二在乎可能会失去更多,代价更大!
虽然工作的前三年我看重的是收获,待遇次之。如果收获基本没有,待遇也不行,我找不到理由留下,别人也无法说服我留下!
4.播种之路
上一份工作离职了之后,好像面试了5家公司吧,最终入职了一家初创公司,这家公司当时不到10个员工。基本都是技术开发,但是前端只有我一个。所以在这家公司,所有的前端只能靠我自己了,不懂的上网搜,或者在Q群问人。在这家公司里工作,比***份工作好了很多,很多。但是做的事情,也可以说是比较机械,就是切图,只是比***份工作复杂了些,也需要写交互特效,因此我的javascript和jquery练得比较多,用起来也顺手了很多。
自己也是在一些前端群里面也是比较活跃了,经常和一些人交流,也会上github看别人的代码!这份工作的前半年,我主要活跃于Q群,但是和那些人聊天,闲聊比较多,代码基本没怎么聊过,有时候也会交流下意见,这些都让我获益匪浅,改变了我很多的认知和做事方式。其中最简单粗暴的一个场景就是:我遇到不懂的,去群上提问,有人回答说:“网上一大堆答案,还来问!”,“看文档啊,写得那么详细!”。正因为被别人说得多了,我遇到问题不再是不懂马上问,而是不懂的先思考,再上网搜,看下有没有类似的答案或者教程,实在是搞不定的再去群里问。在这里也很感谢那些耐心帮我解决难题的大牛,也感谢他们的指导。有时候遇到自己能解答的,我也会尽力而为,毕竟能帮到别人,对自己也是一种实战。在群里,除了答疑和闲聊,也有交流意见,比较有印象的是这些谈话:“我一个星期看完【javascript高级程序设计】,3天看完【javascript dom编程艺术】”,“我买了犀牛书,目标一个月内看完”。
这些话看着很威风。但我当时在想,这些人把看书当成百米赛跑了,谁看得快谁就厉害?为什么看书要加上期限?在自己规定的期限内看完,里面的知识点能吸收多少呢?
出于这样的心理,我想主要是由两个,一个是为了逼自己学习,避免因为自己懒散而出现有书不看这样的场景。第二个是学习的浮躁心理,看着要学习的这么多,得赶紧看完,再看下一本!
还有一个就是比较深刻一个聊天内容时:有人说想学javascript,但是不知道看什么书,我就推荐红皮书,但是那个人直接回答:“那本我都看完了!”。
那时候我在想,一本书看完了就不能重复再看,还是说一本书只能看一遍,或者是看完了一本书,书上的知识都学会了,不需要看了?
这份工作的后半年,因为我老是用html+css+javascript+jquery开发项目,以及自己的一些练习。对于群里人说的es6,gulp,webpack,vue,angular,react等这一些完全不懂,甚至根本没听过。那个时候我先是看了阮一峰的【es6标准入门】,学习es6的语法,之后也是对gulp,webpack,angular,vue有了一个最基本的了解,但是还是很懵逼。因为并不是大家所说的前端模块化,工程化。而且这份工作,开发的项目一直用的是html+css+javascript+jquery。没跟上技术的趋势,也使用不了新技术。对自己技术水平,再提升一个等级比较困难,而且待遇方面也没增加,就是在今年年初涨了500。所以,出于对自己成长的考虑,我2月份提出了离职!在3月份正式离职。
离职的时候,还是挺不舍的,因为和这家公司的同事相处不错,也是激发了我的兴趣。这一份工作,增加了我对前端的兴趣,接触新的技术,也感觉是种下了前端的种子!这也解释了为什么我把第二份工作的经历称为我的‘播种之路’。
这又说到找工作的事情,大家找工作的时候,建议问下面试官,应聘的职位的工作内容主要是的。我所见过的一些情况就是:一些群友去面试前端,虽然是前端开发,但是工作内容是做小程序或者切图。然后就觉得这样的工作很无趣,做了几天就离职。所以大家应聘的时候,多问几句!除了薪资待遇,公司环境。工作内容也很重要!
5.萌芽之路
现在这份工作与之前工作不一样,这份工作是在Q群联系的,之前是在网站投简历的。办完了离职手续过了几天,就进入现在这家公司入职了。刚进来的两天,并没有工作任务,只是老大教我怎么使用node.js搭建开发环境,让我知道什么是前端模块化,前端工程化的便利性。给我演示怎么使用gulp,webpack,vue,sass等配合开发项目,以及开发的一些规范。之后就给了两个页面的练手,给老大过目之后,给了一些要求和建议。因为在离职前,我有了解过node.js,gulp,webpack,vue等,所以熟悉公司的技术栈的过程比较顺利。这份工作也让我有了拥抱流行趋势,主流技术的感觉。
当然了,流行趋势和主流的技术我并不是一股脑的学,而是项目用到什么就学什么,觉得什么有兴趣,有学习的价值学什么。如果什么都一股脑的学,而项目上没用上,没实战过,很快就会忘的。所以我现在就是什么需要学,对什么有兴趣,有什么是很有学习价值的就去学什么。
这份工作的经历,之所以称为‘萌芽之路’:
一是因为我虽然有了拥抱流行趋势,主流技术的感觉。但是一切我都是新学,还是新手,还是很多需要学习。
二是因为入职不久,就被老大催着注册一个github,也经同事的分享,知道了很多的学习资源,对自己改变了很多,每天都看一些社区的文章,公众号的文章,从中学习和了解知识和行业趋势。自己也喜欢在社区上写博客。这也是刚开始。
这个经历,对我的改变,太多太多。改变***的主要两个方面:
- 对于前端开发,现在并不是像以前那样一味的使用html+css+js+jquery,我有和公司的同事持续的努力,关注前端的趋势,探索前端的技术。我也很感谢公司的两个前端对我的耐心指导。
- 还有一个方面就是在工作之余的时间,以前我主要是活跃于Q群,现在就算有空余的时间,我也基本没看过Q群,而是自己学习,如果有什么需要分享的,就在社区写文章或者交流!
在工作这一方面,特别是接触前端三年以下的人,有人带和没人带是有区别的!有人指导下,可以少走很多弯路。有时候不知道学什么东西了,也可以给出一些建议。前提是,自己也要努力学习。
大家业不要以为有人带就自己就不需要思考了,完全让别人教!因为教的可能不会一字一字的教,可能就是指导一下,别人也要上班,也要做事的,没那么多时间详细教!别人如果教的太详细,对自己而言,未必是好事,因为教的详细,说的就多,记住的就少,思考也少,容易乱,印象就不深刻。所以建议大家,在向别人请教的时候,要做笔记或者在电脑实际操作,加深自己的印象,不然很容易忘记!好记性不如硬笔头!
6.关于社区
在社区混了有一段时间了,顺便说下自己的感受。6月加入segmentfault,是我第二个注册账号的社区,是***个因为想写博客而加入的社区。刚开始写文章的时候,人气不高,后来才渐入佳境!写文章很辛苦,是一个脑力活和体力活(针对我自己,一般来说我写一篇文章是4小时左右,有几篇文章写了超过10小时),但是值得。因为好处和收获也不少,主要有下面几个:
- 加深对技术点的学习和理解,方便对日后的使用。也是思考和总结的一个路径。
- 结交更多志同道合的朋友,大家交流意见,互相帮助。
- 提高自己的思维能力和写作水平。
- 当日志使用,看着自己写过的博客,回想着这个过程,也是一个美好的回忆。
- 鞭策自己持续的学习和思考。写博客就是这样神奇,写了***篇,就是想持续的写下去,要想持续的写下去,自己就必须要持续的学习和思考,否则没内容可写!
其它的好处和收获就不多说了!
虽然我写文章主要是总结记录,分享,交流意见和认识朋友。但是每一次进入社区的时候,看到自己的文章被收藏,点赞,心里都是挺开心的,因为这就说明了我的文章得到了别人的认可,是别人对自己的一种肯定,一种鼓励方式!
既然这篇文章在segmentfault发布,说下对segmentfault的感受(这里偏题了,希望大家不要介意):
内容方面,问答和文章模块做得比其他几个社区要好!讲堂我比较少接触,在这里不多说。
意见反馈方面,也是很听取用户的意见!
福利方面,每个季度会为top-writer送上周边!很荣幸我也当过top-writer,拿过周边!收到这些周边的时候,我也是很兴奋。可能是因为我是一个比较重情的人,即使是实用性不大的贴纸,胸章,卡片,我也没乱扔,因为觉得这些周边,是对社区对我的一个很大的鼓励和肯定,也是很有纪念意义的一个小礼品!
遗憾的地方就在于segmentfault的文章显示机制,似乎只有被推荐的文章,才可能有高的浏览量,没有被推荐的很难有高的浏览量!而且是由segmentfault决定文章是否被推荐!这个是从我以往的经验大概猜的,不一定准确!(试过同一篇文章,完全一样的内容,同样的发布时间,两个社区,在发布了5天后,浏览量/收藏量这个比值不相上下,但是另一个社区的浏览量是segmentfault的30倍,现在也超过15倍!其他被推荐过的文章,浏览量也不如另一个社区,但是相差的远远没达到两倍,即使另一个社区是主打文章的社区!)
7.工作之外
大家对程序员的印象可能都是‘宅’,‘内向’,‘闷’,‘游戏狂’等,而且大家看文章,看到这里,大家对我的印象可能也是写代码和学习。其实不然,我有自己的兴趣爱好,而且兴趣爱好还比较广泛,只是每一个爱好都没有太深入,水平就是半桶水而已(此处尴尬10000+)。
工作之余,专业技能之外,有自己的兴趣爱好,做自己喜欢做的事情,可能是最简单的幸福。兴趣爱好和早睡早起,吃好喝好这些习惯一样,都是善待自己的一种方式,也能让自己的生活充满乐趣!
我自已兴趣爱好有:摄影,健身,诗词,篮球,羽毛球,旅游,跑步,做饭,线下交流等!这些兴趣爱好,可能有些因为特别原因我还没行动过,但是未来一定会有行动的。
附上知乎上程序员的神技能:
程序员除了敲代码,还有哪些隐藏的神技能?
8.几句鸡汤
- 可能很多人像我之前一样,会和别人比较:“同样是一年经验,别人的技术都那么厉害,待遇那么高了!”,“那些人技术水平不如我,但是却找到比我好的工作,有人带,技术也好!”等。对于这些也抱怨过,闷闷不乐过,但是想着我这个样子,除了自己变得颓废之外,改变不了任何情况。也有可能别人的努力我看不到,或者别人的其他方面比我优秀,即使真的只是运气不如别人,那又怎样了!我能做的,只有坚持和努力!现在我的想法是:不求与别人比对,只求超越自己!
- 我不期待突如其来的运气,只期待我的努力能有所收获。努力未必成功,但是不努力一定失败。即使没有成功,至少我在回想以前的时候,我至少努力过,奋斗过,这就足以无怨无悔。我也相信,以后小有成就的我,一定会感谢现在努力的自己!
- 换了几次工作,可能在别人眼里,我换工作很频繁,但是在我自己眼里,我觉得是正确的选择。也是这几次换工作,让我体会到,有时候选择比努力更重要。与其在一个没有什么收获的方向努力,不如选择一个更多收获的方向努力。
9.未来展望
关于未来,在学习方面,不断学习是必须的,但是目标我不立得太明确。因为以往的经验告诉我,前端这一个领域,技术更新的非常的快,计划总是赶不上变化。担无论如何变化,未来我继续展望,继续努力,望自己能在行业立足,更上一层楼。也期待能和大家有更多的交流,更多的学习,更大的进步!