blog icon indicating copy to clipboard operation
blog copied to clipboard

转行入门前端的故事

Open rudyxu1102 opened this issue 5 years ago • 12 comments

前言

转行不易,打算写一篇文章给转行的小伙伴一些建议。下面是我18届机械转行前端的故事。

入门编程

在大二下学期的时候,我开始决定转行,下学期花了一个月时间学习C语言,记得那时候看的是郝斌的教学视频,同时也看了数据结构与算法的视频,慢慢对编程有了一个大概的了解。

那时候写一个for循环还是很开心的。

那时候印象比较深刻的是,在暑假的时候,学校宿舍没开空调,天气太热自己只能赤裸着上身在看《大话数据结构》,然后旁边的室友在打着英雄联盟,过了一个月实在受不了了,太热了,就回江苏父母那里玩去了。

选择方向

到了选择工作方向的时候,那时候在网上询问别人的建议,经常在知乎上面看别人的转行经验,最后给自己三个选择:安卓、IOS、前端。

IOS由于学习成本有点高,需要Mac、iPhone,不好意思向父母要钱,所以自己把IOS这个方向给pass掉了。最后选择了前端,主要有5个原因:

  • 科班的人很少选择前端,所以到时候自己的竞争优势会好一些。(后来我找工作遇到了中南大学、深圳大学的科班前端😭
  • 前端现在需求很大。
  • 前端容易入门,且很容易获得成就感。
  • 自己的电脑(两三千)配置不高。

开始入门前端

HTML的学习

给自己定的学习期限:1周的时间学习。

那时候照着w3c的文档,一边敲着代码,一边实现着简单的效果,一边向室友炫耀,“你看这标签多厉害...”。就这样,一个星期之后,对html有了一个初步入门的了解。

建议:可以通过MDN学习

CSS的学习

给自己定的学习期限:1个月的时间学习。

那时候主要看张鑫旭的博客,以及网上的文档,然后自己在博客园写文章进行总结,记得自己那时候对line-height、vertical-align属性研究比较深,还是有点怀念以前的自己的,对一个css属性都愿意花时间去研究。

建议:博客可以在github上写,类似现在这篇文章,以这样的形式去写自己的技术总结,以后面试的时候,可以写上自己的github地址,即使star不多面试官也会去看的文章深度的。

JS的学习

没有学习期限,学不完的。

主要通过博客的形式去学习js,那时候正是百度前端ife学院火热的时候,所以我开始刷去年的ife试题,准备参加今年ife试题,记得前几名可以有面试机会,但我表现的一般般,做了几个任务就放弃了,还是自己去做一个项目吧,这样更方便找工作。

记得那时候参加小爝(大佬)的知乎live,主要是听听过来人的建议,爝大的live还是很值的,印象最深的一个建议是通过回答问题总结知识。爝大以前经常在群里回答别人的问题,自然成为别人心里的大佬,也总结自己的知识点。所以后面我去segmentfault社区混啦,每天回答别人的问题总结知识,期望以后可以把自己的这个账号写到简历里面,事实也正是如此,有些面试官也看了我在社区的回答。

小插曲:大三上学期寒假回家过年,给自己的渣渣电脑装了一个金山打字通,主要是因为自己敲代码速度有点慢,所以寒假在家偶尔玩下金山打字通的警察抓小偷。

建议:英文好的可以去国外的stackoverflow回答问题,也可以去国内的segmentfault回答问题,国外的stackoverflow审查是很严格的,所以也是比较有挑战性的,这里也就是面试官看出候选人差距的地方了。

框架的学习

可以在Vue和React框架中选一个来学,这里对框架的选择不做建议。

学框架的一个主要原因,主要自己想做个项目去找工作了,那时候几乎每个初级前端找工作的简历上面都会有自己的博客项目,所以我也开始准备做自己的博客项目了。

查了一下资料,主要发现有三个方法去做这个博客项目:

  • 使用wordpress去搭建
  • 使用github+hexo去搭建
  • 前端自己写,后端自己写,自己部署上服务器

思考了一下,选了最后一个,也是实现起来最难的。正所谓初生牛犊不怕虎,那时候自己不怕项目复杂,怕的是做无用功,怕的是写的项目对找工作没有帮助,现在回想起来,也正是如此,庆幸自己选了最难走的一条路。当然,那也是一段我在编程最美好的回忆了。

博客项目的搭建

博客耗时一个多月,从前端到后端,再到部署上腾讯云,花了一个多月,很累也很快乐。Github地址

学习别人的项目(项目初期)

在开始这个项目的初期,我在github上下了几个类似的项目,并运行起来,看懂其中的源码,这段时间大概花了一周的时间。推荐ciqulover的CMS-of-Blog项目,是我下的项目中,代码最整洁,页面最好看的一个。

写代码(项目中期)

中期其实比较枯燥,就是写代码,改bug,毕竟是做给自己用的,所以也是很有激情的去写代码。在项目还没完成的时候,我去腾讯云买了一个linux学生机,然后拿着腾讯云寄回来的幕布,手持身份证拍了自己的照片,去备案自己的域名,一周之后xuhaodong.cn就备案成功啦,虽然我项目还没写完。

上线(项目后期)

这时候项目已经在本地运行好了,就差上线了。这个阶段是这个项目最难的时候,花了一个星期部署云服务器,自己对服务器不是很熟悉,部署期间有几次想放弃了,但是毕竟要给自己用的,说什么都不能委屈自己呀,就慢慢摸索出来了。

推广项目(项目大后期)

写完项目当然要推广啦,不然谁会来star。推广是整个环节中比较重要的一个,我的项目主要是在掘金和segmentFault上推广,记得以前在社区分享文章的时候,如果是相同的链接,社区是不会让你重复推广的,但是,你可以在链接后面做一些骚操作,比如在链接后面加上不同的hash值(滑稽)嘿嘿嘿。

如何包装自己的Github?

这是非常重要的一个问题,值得大家多花时间去思考。毕业到现在,我的github给我的简历加分了不少,所以包装github是一个狠重要的事情,甚至比你现在的工作还重要。

1. 翻译国外的项目

在github上看到一些国外不错的demo项目,可以考虑翻译并改善,形成自己的一个项目。我自己的跨域demo项目之前也是参考了国外的一个开源项目,并在其基础上进行改善。

2. 做一个自己喜欢的项目

大学的时候幻想写一个自己博客,就开始行动了,从前端到后端,再到部署腾讯云,期间遇到了很多的困难,但是因为自己非常渴望有自己的博客,非常希望跟其他人分享自己的博客地址,最后都坚持下来啦。博客项目地址

3. 去给开源项目改Bug

之前对可视化编辑器挺感兴趣的,就去尝试使用百度的AMIS项目做项目,后面在使用过程遇到了一些bug,就去看了一下源码,顺便提了两个PR

所以大家在遇到第三库出现bug的时候,在烦躁之余还可以有一点小窃喜,因为可以给这个第三方库提PR了啊。

4. 推广自己的项目

在以前掘金和segmentfault社区的推广限制没有那么多,可以一天推广好多次哈哈。推广也是一个很重要的环节,不去推广的话,谁来给你star呢。

简历可以写什么东西?

  • gihutb地址
  • StackOverflow地址
  • 博客地址
  • 项目中遇到的困难,以及自己是如何解决的
  • 突出自己专业技能(技术名词)

转行的压力

转行压力是挺大,连父母都不支持转行,只有身边几个人知道自己转行了,同时也没什么人可以分享自己学习的喜悦和困难。第一次实习的时候还是很开心的,因为身边多了很多可以交流的朋友,大伙加油。

总结

  • 在自己的github建一个blog,类似本文的形式,并坚持写文章
  • 运营自己在问答社区(StackOverflow、SegmentFault)的账号
  • 积累人脉
  • 做自己感兴趣的项目,积累项目经验

小插曲1

大学的时候花64元买了贺老的知乎live,然后live结束,加了一个live微信交流群,里面有很多大佬,以前实习找工作找了10个也没找到的时候,在群里抱怨的时候,群里面的大佬会给你建议并鼓励你,后面找工作的时候,群里也有很多优质的内推。

建议:多积累一些人脉,多加一些微信技术交流群,微信招聘群。

小插曲2

在大三找实习期间,自己在segmentfault上面写技术文章,顺便在文末放了自己的简历,然后就有人加我qq,内推去一家不错的公司面试。

建议:多写技术文章

小插曲3

大三在实习僧上投简历找实习,第一家找我的公司是阿里影业,也是我第一次面试,第一次电话面试,毫无悬念的挂了。为什么我的简历可以获得面试机会呢,我那时候想了一下,应该是我的vue-blog达到80个star了。

建议:github真的很重要

小插曲4

之前给阮一峰大佬的react-demo提了一个PR,发现contributor里面有个人commit很多,原来这个项目在新版本的react下已经不能运行了,他把这个项目升级了一下。这个对简历也很加分。

建议:多帮阮一峰大佬提PR

小插曲5

之前去了一家创业公司面试,里面的CTO对我指导了一番,因为我自我介绍说自己对技术有热情,所以他问我了不了解Flutter,了不了解Graphql,我回答了解并简单介绍了他们的作用。但是,CTO对结果不满意,因为我答不出来它们的特点以及优势,他说对技术有热情需要有好奇心,为什么Flutter渲染性能会高一些,不需要了解源码,但是对新技术要有好奇心,带着好奇心去了解新技术。

建议:多带着好奇心去了解前端新技术,最好可以做出一个小项目出来

最后

回顾以往,我在前端走的路,都是自己根据别人的建议和自身情况不断修正的,所以本文仅仅只是为大家做一个建议。大家还需自己摸索。

常用网站

rudyxu1102 avatar Mar 22 '19 10:03 rudyxu1102

牛逼呀666

chenplumblum avatar Mar 22 '19 14:03 chenplumblum

咱俩的路还挺像的,我也是大二开始自学转行的,加油!

zhixuanziben avatar May 12 '19 14:05 zhixuanziben

@zhixuanziben 大兄弟厉害阿,自学进宇宙条牛逼了。大佬有空分享自己的经历呀

rudyxu1102 avatar May 13 '19 04:05 rudyxu1102

还好啦,咱俩的学习路径差不多,剩下的都看运气了,😝

zhixuanziben avatar May 13 '19 12:05 zhixuanziben

请问下,大佬GitHub怎么学的。。不知道是不是英语太菜,GitHub一直不会用。😓

XiaochengYe avatar Aug 09 '20 10:08 XiaochengYe

@XiaochengYe 多实践,用久了自然就熟了

rudyxu1102 avatar Aug 09 '20 11:08 rudyxu1102

请问大佬学GitHub有看教程吗,有没有推荐的?(不是编程语言)

XiaochengYe avatar Aug 09 '20 11:08 XiaochengYe

@XiaochengYe 以前是看这个的 https://www.liaoxuefeng.com/wiki/896043488029600

rudyxu1102 avatar Aug 09 '20 11:08 rudyxu1102

如果只是github的使用的话,就看看官方文档https://docs.github.com/cn/github

rudyxu1102 avatar Aug 09 '20 11:08 rudyxu1102

谢谢~😄

XiaochengYe avatar Aug 09 '20 11:08 XiaochengYe

谢谢楼主带来启发

gricn avatar Sep 16 '20 08:09 gricn

向你学习 东东

spicychickenFatsix avatar Feb 18 '21 03:02 spicychickenFatsix