自学前端的误区和痛点解决,转行程序员的痛点

🌙
手机阅读
本文目录结构

网上的自学说法

网上有很多自学的方案路线,还有一些知道;

但是我感觉他们很多人都是没有真实学习过的,很多人说的那些路线,真的是扯淡;

肯定不是自己通过自学后的感悟,他们所谓的路线可能是结合培训班大纲和知乎的一些答案组合的;

真正跟着学的话,肯定要掉进坑里的;

首先说下我的情况,我是大专学历,机械专业的,以前是做平面设计的,后来网上买了些教程和书籍观看入行的前端;

所以有很多自学路上的感悟和苦逼困境;我今天和大家分享一下;

大家一定不要再走我以前碰到的那些坑了,下面是我列的一些总结;

痛点一:喜欢框架入手,而不是基础入手

现在前端大火的框架有:React/Vue/Angular/这些,如果写页面,还有 ElementUI,BootStrap 等各种UI框架拿来就用;

很多人喜欢上来就通过学习这些框架的应用,通过这些框架确实很容易快速出产品,容易有满足感;

但是如果你想走的更远,HTML/CSS/JS还是要踏踏实实的学;

如果你连基本布局都不清楚,HTML标签的注意事项也不了解,ECMAScript/BOM/DOM都懵懵懂懂的,那就是不合适了;

基础都不牢固,走到后面,会疲于追逐框架,总有一天你会说『别再更新了,劳资学不动了!!!』

解决方案:基础开始入手

从基本的HTML/CSS/JS开始入手,从原理来开始学习;

比如CSS你能自己写出常见的布局;

HTML你知道什么场景下,应该用的什么标签;

用原生JS可以写出常见的效果;

我以前学习的时候,用原生JS写了一个类似电商详情的简历,兼容到IE5浏览器;

比如电商网页中的JS事件实现的拖动,事件委托实现菜单,放大器效果浏览商品的功能;

当然我做的是一个简历的形式,商品就是我自己,商品的详情就是我的技术详情介绍;

感兴趣的小伙伴可以到我的Github上看下,那个项目也是开源托管到Github上;

总之:只要基础牢固了,时髦的技术,学习起来,事半功倍;因为那些所谓的前沿解决方案,都是又基础构成的;

痛点二:盲目追逐新技术

2019年火热的Flutter,很多前端小伙伴不管自己用不用的到,都是去追,你有没有想过『那些技术真的是你需要的么』

我个人对新技术,是没有那么感冒的,我建议是如果不是工作中能用到的,过1年以后再看;

解决方案:新技术怎么处理

既然不要盲目追新技术,那么新技术出来后,应该怎么应对呢?

一门新的技术或者新框架,如果是大公司开始使用,这并不代表它就是一种趋势,即使是有好几家大公司使用;

大公司里死掉的项目和技术方案数不胜数;

大公司有大公司的事情的,可以这么讲『无论什么新技术,只要是有可选之处,大公司都会去尝试下』,前期可能仅仅只是尝试

但是如果一门技术,在中小型的公司中普通使用的时候,那这门技术才有真正的价值,那时候再开始学;不要怕学习晚;

这就是我在前端学习路线那一期视频中讲的推荐学习React/Vue,但是并不推荐学习Angular,就是因为他们在中小型公司里大量使用,而Angular并没有那么普及;

核心:一门技术,中小型公司普遍应用的时候,再开始学都不晚

痛点三:没有目标

这是在你学习到中后期的时候,很容易出现的困境;

因为技术的学习也差不多了,就是感觉自己该学的也学的差不多了;

感觉自己无处发力的一样,因为自己没有在公司做过,从来没有写过线上的产品,都不知道该做啥;

写的很多代码都是自己认为很好的范围,没有人告诉你实际工作中该怎么写,代码还有多少进步的空间,一些技巧类东西也没有人告诉你;

比如我们学会了定时器,但是实际工作中,我们的场景可能是用在异步调用,控制调用速度,防抖或者节流,以及sleep的;

定时器的就是你学习的技术,而工作中怎么使用定时器,以及怎么写才有利于项目的后期维护,可能都没有人告诉你的;

甚至没有人告诉你怎么学,以及哪个方向是不需要学的,很容易学歪了,掉进一个大坑里出不来;

还有一方面:我们前端和后端不一样,比如后端的Java有完整的起手式,像打太极一样,开始怎么搞,结尾怎么搞,一个初级JAVA程序员和三五年还有那些10年的程序员,写出来的JAVA代码基本差不多,这是JAVA工程化的优点;

但是JS目前还是千差万别,一个初级程序员的JS和经验丰富的程序员,写出来的代码千差万别;

解决方案:站在别人的肩膀上快速提高

如何保证学习路线没有跑偏

关于学习路线上:你可以根据自己的实际情况,以及想要从事的方向自己写一个前端学习路线,找你认识的前端程序员,最好是有一定工作经验的,帮你看看有没有问题;避免走歪路;

自己自己的系统学习路线,不要掘金和微信公众号,东看看西看看的;那样会分散精力的;

如果你没有认识这方面的朋友,你可以加我的私人微信;把你的学习路线发给我,我帮你看下;

我自己也要工组和学习,可能回复的速度稍微有点慢,但是只要你给我留言,我肯定会回复你的;

我的微信号 yaolushan

我们平时学习的时候,多和别的前端一起交流;

如何提高自己的代码书写

这个我推荐你可以通过阅读那些开源的项目来实现,那些开源的技术,基本都是工作经验的同行们贡献的;

你可以先从简单的开源项目阅读,然后从慢慢深入;

推荐两个网站:

  • npm官网:https://www.npmjs.com/
  • Github:https://github.com/

痛点四:技术没有侧重点

如果有一个领域非常熟悉,以后面试的时候,面试官那里很容易就过了;

又不是一家公司,多试试几个,总会有和你互相适合的岗位;

最怕的就是什么都会点,技能很多,但是问的深入一点,就凉了;

好像技术都是写过DEMO一样,什么都了解一点,什么都不深入

解决方案:学习有侧重点,深入一个领域

找一个领域下苦功夫的,把这个领域搞的滚瓜烂熟,非常熟悉;

然后面试的时候,无论面试官问什么问题,你都慢慢往自己熟悉的领域里领;这样面试官只要稍微追着问,你都能回答的非常漂亮;

我的以前学习的时候,JS学的非常深入,CSS只会布局;

JS会问的特别特别深入,这样的套路下,都是给offer的;

痛点五:招聘网站的岗位要求比较多

我早几天有上传一个,关于前端学习路线的视频,推荐是:HTML+CSS+Javascript+jQuery+React/Vue的方案;

学习的时候其他的都不学,只学这些;

但是你学玩以后,在找工作的时候,会发现还有些其它的一些要求;

比如 TypeScript ESlint webpack gulp 小程序开发 这些;

解决方案:实时根据招聘网站进行提取

这种情况的方案是,你找工作的前一个月的样子,搜集三四十个适合自己的岗位,然后把每个岗位的技术要求都列出来,按照出现频率,做一个排名,然后取前五名;

然后前三名技术或者框架,都是用一个礼拜的时间进行专项学习;主要注重实践层面;学习的时候先看官方文档;

今天是2010年2月14日,目前来说企业要求的是 TypeScript ESlint webpack gulp 小程序开发 比较多;

我以前学习的时候,那时候 coffeescript less sass jquery zepto 还有seajs/requirejs这类模块加载库的;

现在你再看看招聘需求,还有几个企业写这个的

现在是 TypeScript EClint webpack gulp nodejs vue、react/vue,这些的;

三五年之后,会不会又是另外一波;

我告诉你的是怎么去学习的方法,不要死板记住需要什么流行技术;你自己去找适合自己的学;

比如一个初级程序员,想找的是初级岗位,要求是一个方案;

而中高级程序员,搜出来的意向岗位,肯定是另外的需求;

而前端架构师,这类岗位,又更高的偏重于项目维护和运行层面的,又是另外的需求;

你根据自己的意向岗位来总结,然后把出现频率高的实际学,这才是最适合你的学习方案;

你不用问别人,你自己就知道该怎么学了;

为什么说一个礼拜专项学习就够了

像效率工具,Gulp、Webpack、ESlint等,如果只学到熟练的程度,它的投入产出比是最高的;

如果想学习原理层面或者精通层面,你需要花费大量的精力,不划算;

而且学习的时候,大部门的视频和教程可以帮助你走向熟练的阶段,但是能够帮助你走向精通的教程和书籍不多的;

就像我们出去玩,爬山的一样,一般的山,如果你只是爬到山腰,很容易,路线很平坦,而且还有索道协助你;

而如果你要爬到山顶,从山腰到山顶是最费力的阶段;

所以学习新的技术和框架,学到熟练阶段,爬到山腰,是投入产出比最好的;

痛点六:毅力不行

很多人想做程序员,想学程序员,但是自己毅力不行,或者自制力不行;

这时候有两条路走,一条是直接放弃,另一条是继续学习,直到学会为止;

解决方案:打造适合学习的氛围

我们读书的时候,会发现一个现象;

就是找你一起学习的不多,但是找你一起打游戏的不少;

如果你的一个宿舍里,都是游戏爱好者,那么你很可能也会被带着玩游戏;

每个人都有惰性,我们不能让自己处在安逸和享乐的场景下学习;毕竟我们又不是修仙,大隐隐于市那种境界;

我们经常看到那些减肥的女生,头像是"不到90斤不换头像",“组队减肥群”,“某莫月不瘦到多少斤给大家发红包”;

这些一方面是为了让大家监督自己,另一方面可以让大家自觉不要找你出去浪;

如果小伙伴们,担心毅力不够,可以参考下那些减肥的氛围操作;

如果你实在不行,又想做程序员,那么报培训班也是一个不错的方案;

合理的看待培训班

如果你网上搜索过报培训班的话题的话,会看到非常多的回复是说培训班坑多,培训班骗人的之类;

我认为那些是老顽固的想法;

培训班为什么被说的这么惨,其实是因为自己作的;因为招生嘴炮太厉害,很多人不适合程序员,招生老师可是不管那些的,他们主要是想着自己能拉多少人,能拿到多少提成;

然后搞个简单的所谓入学考试,让你感觉好像自己是筛选后才有资格来学习的;

搞进来后,如果学的不好,结果不行,而招生老师开始喊你进来的时候牛皮吹的震天响,就会郁闷和抱怨,所以抱怨培训班坑人就非常合理;

但是脱离这个事实,培训班里一些老师,基本都是有实际工作经验的;

一个有经验的人,手把手教你和辅助你学习,周围又都是一群努力学习的小伙伴,肯定比你自己学习好的;

如果你真的自己学不来,那报班真的是一个不错的方案;

如果你的自制力还行,你也可以通过淘宝/咸鱼上的一些特殊手段,弄一些培训班的内部教程来学习,也是美滋滋的;虽然不支持,但也是一个不错的途径;

痛点七:不与同行交流,生怕别人也学会

很多人感觉自己研究的方向或者技术比较好,不与别人交流,生怕别人也学会了;

其实这个思想是不对的,技术只有交流才能产生更好的火花,表述有利于自己理解,也有利于发现自己都不足,自己苦逼的学习,是不好的;

如果你学习后,通过视频或者写博客分享给被人,或者你可以教会别人也掌握;

那么你的技术理解深度会更加的好;

痛点八:学会了看懂了,但是还是不会写项目

很多人看视频,看教程;

从头看到尾,感觉没有什么难度;都可以看懂;

但是真正写代码的时候又不会写,这主要是平时学习的时候,没有动手敲代码的原因;

代码需要肌肉练习和动手敲,不断的重复记忆,才能更加流畅的写;光看不练假把式,在编程这行是行不懂的;

写的多了,自己写代码的流程就会更清晰,高级程序员真正值钱的不是代码写的熟练,也不是代码速速快;

而是他们的写项目的思维和解决问题的能力,解决问题的能力才是最重要的;这种能力只能通过不断的深入思考和实际写代码才能慢慢积累出来;

再次推荐要有自己的技术博客,平时遇到的问题和想法,多总结下,以后忘记了,可会回头快速回忆和解决;

痛点九:遇到棘手问题感觉天塌下来一样

我们实际写代码的时候,肯定遇到非常棘手的问题,怎么搞也搞不定,写到怀疑人生,感觉自己太low了;

这时候脑袋一定不要乱,如果脑瓜子懵懵的,就赶紧停止;

要思考解决思路,然后慢慢的一点点调;一定不要急躁和抱怨,也多和同行/同事/朋友交流,说不定别人一下就点拨你了;

这个时候往往是技术提高和遇到问题的思路提升阶段;

遇到问题不要慌,天不会塌下来!!!

遇到问题不要慌,天不会塌下来!!!

遇到问题不要慌,天不会塌下来!!!

痛点十:到处搜集视频,好像收藏了自己就会了一样,但是不看

很多人到处收集视频,感觉如果一门新技术,或者新教程;不收藏就吃亏了;

收藏了又不看,难道你们收藏了就算学会了么??这个我还是感觉很费解的;

资源在精品,不在多;上次在前端学习路线,那个视频里,也说了,一定不要搞那些几十G的视频,各个机构的视频都有;那种真没有啥帮助,这看看那看看的,非常不系统;我们要系统的学习;

资料的精简,更有利于学习;

上面说的,你也可以通过淘宝/咸鱼上的一些特殊手段,弄一些培训班的内部教程来学习,也是美滋滋的;虽然不支持,但也是一个不错的途径;

结束语

好了,上面就是我从最开始自学前端,到现在工作一些年以后的一些感悟;

感觉还是非常有参考意义的;

如果能够帮助你,欢迎分享给你身边需要的小伙伴啊;

大家可以再B站上持续关注我后期的视频;

我的B站主页:https://space.bilibili.com/59312814

在线视频

本文内容,我在Bilibili上有用专门的视频方式进行表达,

链接: https://www.bilibili.com/video/av89031950

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了