打开招聘网站,随处可见的技能要求,熟悉angularJs,精通Vue,掌握react,精通html、css,熟悉原生Js,能够熟练使用NodeJs进行开发等...,使得很多前端新入者都以为,学会了这些就是学会了前端,学会了这些,就可以胜任前端开发的工作。结果自然是否定的,许多同学不管是自学还是培训,学完了一样找不着工作。
许多同学把这种情况归罪于没有工作经验,认为自己的技能应该是ok的,只是用人单位一味的要求工作经验,导致自己不被录用。
事实恰恰相反,用人单位正是看出“你不能胜任”前端开发工作,才不录用你。你没有工作经验,只是外在的表象。
怎么样才能算是一个好前端?为什么同样都是大学毕业的,用他不用你?这其中的差别在哪里?难道只是单纯的因为他的某个工具或是框架比你熟练?也许这是原因之一,但这就是唯一决定性的吗?
我相信许多同学并没有深入的想过这些个问题。
前端开发是做什么的?
它是解决问题的,主要是解决业务流程在前端表现层的交互和实现。在这其中,工具只是一种手段。
angular是不是工具?vue是不是工具?React它也是工具吧?它们都是在原生Js基础上进行的封装。那么没有它们的时候,双向绑定能不能用原生Js实现?数据驱动视图能不能实现?前端路由能不能实现?
肯定是可以的。
那为什么还要有vue,react。。之类的各种轮子呢?为了提高效率,只是为了提高效率。没有这些东西,你能不能做前端开发?不操作dom的前端框架是不存在的,而操作dom是前端开发的基本功之一。
那么,刨除前端工具这一块,如何衡量一个前端开发是好是坏?
一、他的学习能力。遇到不懂的可以很快学会;
二、他的解决问题的能力。遇到问题可以很快的解决掉;
三、他的生产力,单位时间之内,搞定更多的需求;
四、在单位时间内,把事情做的更好的能力。
招聘简章中的各种工具要求,各种工作经验的要求,无不是为了验证以上四点。
怎么着算把事情做的更好?
给你们看几个作业,就是我的web前端零基础课的同学们的作业,是把一个ReactJs的学生管理系统的流程结构图画出来,在讲课的时候,我会不定期的留一些作业,
这是贺xx同学的,他是用笔在纸上画出来的,这种做法我个人觉得是最好的,因为在面试的时候,它代表了你的解决问题或需求的思路。
为什么有的人没有工作经验也能找到工作?就是因为这种思路很清晰。
再来几个,他们的思路都很清晰。
这是黄xx同学的,
这是孙xx同学的
这是刘xx同学的,很霸气,我以为画乱了,结果细一看,人家就是这么画的。
这种能把事情想清楚,理明晰的能力,才是前端开发工程师真正的价值体现。而不是会几个工具,会几个框架。框架与工具只是为实现思想的工具。