很多工作了二年左右的前端开发,其实处于一个很尴尬的境地。说他们是前端开发工程师吧,其实水平有限,只会一些html、css、js、jQ,顶多再会一些vue语法应用之类的。但你说他们是前端新人呢,也不适合,毕竟也干了二年多。

很多公司招聘前端开发,都会要求什么模块化、架构设计、开发逻辑、各种开发思想等等。这些东西他们在学校里也没教,培训机构里也不讲。所以很多工作二三年的前端,其实也很迷茫的,他们也想上进,也想提高自己,但总有些...无处下手的感觉。

<!-- -->

这个问题,表面上看是如何提高自己的技术能力。但在本质上,是前端开发如何成长。

大家也都看到了,网上很多几块、十几块、几十上百块的学习视频,我也各种渠道看过一些,必须要说其中很多的质量是很不错的,还有很多技术分享,讨论、讲座。你看了很多之后,会发现好像并没有什么大的提升。该不会的还是不会,该不懂的还是不懂,只是知道了很多名词。如果这也算成长的话,那这成长未免也太慢了。

那么在我眼中的前端成长是什么呢?
1、不是你掌握多少个框架;
2、不是你做过多少个项目;
3、不是你待过多大的公司;

而是随着工作年限的增加,你的解决问题的能力有没有增长。这个话题就有点抽象了哈,可能有同学会理解为,【是不是在说经验的增加】?

不是的,经验 !== 能力。

在我个人主观看来(每个人看法不同),能力至少由广义+狭义组成,

狭义的能力,

\_具体的技术
    \_html
    \_css
    \_js
    \_jQuery
    \_vue、react、node...
    \_更多具体的技术

\_标准
    \_http
    \_css
    \_tcp/ip...

广义的能力,

\_编程思想
\_前端架构设计
\_前端工程

在一整个人的能力中,【狭义只占20%,广义的占80%】。当然了,这是我个人这么多年来的主观体会和感受。可能在比例上会有出入,但大趋势上肯定不会有问题。

相信同学们自己也能感受到,前端变化快的东西,什么jQuery、vue、react、webpack、npm、yarn等等,都是在【具体的技术】这个范畴里。这个范畴里的东西经常会变,jq被vue、react推翻;gulp被webpack推翻;现在yarn又要来推翻npm之类的。而很多技术都是由大公司推动的,例如react是fackbook的,google经常搞各种新东西出来,所以你会看到前端开发界经常有新东西出来。

但是【标准】就不一样,这么多年来,也只出来一个html5,没听说哪个公司推翻了html5自己搞一个出来。

<!-- -->

广义的能力里,

\_编程能力,主要是对各种API的熟练程度、调试方法、算法应用,数据结构等。

\_前端架构设计,
往小里说,就是项目文件、目录的结构,函数接收、返回参数的顺序,对象和方法的松紧耦合,数据在程序中的流向...

往大了说,一个模块你写的很好,你未必能搞定100个模块。数量与难度的关系不是简单的乘法。这就需要你能从100个业务模块中抽象出业务逻辑,形成逻辑模型。这时就需要设计模式了,什么MVC、观察者、原型...等。

\_前端工程化
很多人把前端工程化理解为webpack用的熟练,其实这只是前端工作流的自动化而已。无非是机器代替你做一些重复的工作罢了。

工程是什么?
是很多人在做一件很复杂的事情。

所以前端工程化,其实是协作问题,跨部门,跨业务,跨团队,跨应用。代码风格协同,代码质量。例如,你的应用要获得兄弟部分的应用的日活数据,你怎么去得到?恩?要沟通、要协作。

<!-- -->

所以你通过招聘简章也能发现,越是小公司的技术要求越是具体;越是大公司它的要求越是宽泛。因为大公司里业务复杂、流程复杂、规模复杂,所以大公司对前端的技术要求更偏向于广义的能力方面。而又因为很多同学进入大公司之后,他接触不到大的、复杂的项目,所以就出现了“面试造飞船,入职拧螺丝”的情况,其实就是这个原因。

那么写到这里,同学们也应该明白,自己的技术提升方向在哪里了,【就是往广义的能力方向去学习】,而不是多学几种语言、多学几种框架什么的。

因为篇幅所限,这篇文章写到这里基本也就要结束了。

如果这方面还有什么其它的疑问,可以加我vx:blazeloulan,或在文章末尾留言给我。我感脚,我还是可以给出一些建议的。


我是老尚
44 声望24 粉丝

学习前端技术,明确学习方向。专注前端人自己的故事,关注技术、产品、人。