前几天,公司组织技术沙龙活动,引出了一个话题“衡量优秀的卓越的前端工程师的标准是什么呢?”你们纷争不断,会后我总结一下大体的说法,但愿给奋斗在前线的工程师一点建议,有不对的地方望你们指正。javascript
本文从二个维度去分析这个话题,每个维度表明不一样方向的工程师的努力方向。css
一:自身技术的发展;html
二:前端的灵魂思想前端
在进行这个两个维度的考虑的以前,我想强调一下一个合格的前端工程师的一些基本素养吧(ps:素养可能还不是很确切,可是很差意思我词穷啊)java
前端工程师(F2E)jquery
看到这个简称,或许不少小白很迷茫,这是什么呢?你不知懂,那么就请点击进去仔细看看。不过这个解释我以为有点太老了,不是很准确。做为一个开发人员,你须要知道软件工程师的一些简称:软件工程师的简称git
在一块儿大公司的交流,尤为大型外企对接项目,一个开发人员仅仅有编码能力是不够的,并且须要你有着很强的交流沟通技巧,这里提到了前端工程师的一些专业术语、英语水平能力和沟通技巧。看到这里,你会说咱们公司都用不着,这里只能说咱们目光短浅了,距离标准远了一点而已。我之前也是这么想的,可是遇到咱们公司的技术沙龙,明白了之前真的是目光短浅,或者说我尚未目光吧。程序员
看到上面两个工程师,从图标看每个工程师的职业都有着不一样的寓意,表明着不一样的领域。为何前端工程师一个狮子呢?不是其它的动物?而java工程师是那么多的人呢?从设计角度出发:前端工程师是否是很特殊呢?这也能让咱们想到为何这两年的前端工程师职位比较火,为何你们都想从事这个行业?这里我想说的是:前端工程师,须要你细心一些,同时要有敏锐的感受,高的用户体验思惟,由于前端工程师更多的是去提早体验用户的全部的操做,去设计和实现用户的所需的一些系统功能的。github
一个前端工程师:你须要不断地去思考你的行业、你的公司、你的产品未来的一些变化、不一样的用户的喜爱程度;这些都须要咱们去不断地学习,扩充本身的能力和知识领域;你们都看过前端工程师的招聘信息,为何一个前端工程师,除了强大的css、熟练的html、熟悉的javascript以外,你须要懂得后台的一门语言,数据库和一些美工的软件photoshop等。由于工做的伙伴都知道,在实际开发中,咱们在高度还原UI设计人员的设计稿的时候,咱们要去反复去推敲设计的一些逻辑关系,有的甚至牵扯到业务逻辑,同时在coding的同时,咱们须要去和后台的工程师去交流如何提供接口,若是去监测一些异常问题,以及UI不懂前端的一些实现工程而形成的漏洞,这些都有可能形成我coding的一些坑,或者一些隐藏的bug;web
说到这里,建议你们去关注一些博客,或者微信的公众号,了解本身的一些缺少的知识,而且作好总结。对于前端工程师而言,你不只仅须要去考虑如何实现整个功能,同时你须要明白为何这么去写。还有工做中须要的问题你是怎么处理的,记录下来你的处理办法,同时总结问题。还有的就是一个合格的初级前端工程师,应该有本身的一些基本功能模块的强大的兼容性的代码块。
一:自身技术的发展
若是你历来没有从用户的角度去考虑如何去编写代码,如何提升系统的优越性,那么你思考什么呢?前端程序员也是一个动脑的职位啊,若是你没有这个思惟去考虑,那么你动脑的地方在哪里?若是是代码,那么恭喜你进入了自身技术的发展的领域。可是不幸的告诉你:你走上了一个永无止境的路,你将处于不断探索中,不断地去寻求本身的技能不足;若是你没有良好的心态,那么有可能,你在开发的道路中只能走到一半,或者说你可能走到一两年,远一点就是十年左右而已,转行罢了。
可是话说回来,并非从事技术的发展没有到达光明的彼岸,关键是你的技术到什么程度了,有没有特别牛,仍是一个大牛级别的。好比咱们所熟知的W3C,靠近标准,那么你就是成功者;这里我想说咱们须要让本身去靠近标准,接近它,同时了解标准的机制,好比咱们所须要掌握的浏览器的解析机制、render过程、以及http协议原理,相比不少人如今有的尚未熟知果render过程,闭包,原型链等。
自身技术的发展,我以为你首先在掌握前端开发的一些基本的技能的基础上,能够去看Javascript权威指南,还有github去建立本身的项目,使用git管理本身的代码,同时使用云服务器去管理本身的数据库,去作一个完整的项目,同时我以为在看书和学习的过程当中,你们必定要动手去实现它,由于有些理论和经验在博主当时的状况下是能够的,可是如今可能使用的开发版本升级,其语法和思想都有了新的变化和进步。
前两天我开发中遇到了angular2的一个最多见的功能省市的三级联动,可是我就是用到下面的语法
[(ngModle)]在编译的过程当中就会报错的,后来改为(ngModle)就没有错误了,这里就是想告诉你们:你看到的知识点有可能过期了,也有可能有错误,你须要去验证它。这里建议开发者去建立一个本身的博客,去记录本身的一些平常处理问题的办法,而且不断去反复看本身的想法。
我记得咱们公司的总监说:’coding并非很值钱的地方,值钱的是你做为一个前端工程师能够很肯定地告诉公司和企业,我这么作必定能够赢得客户,赚到钱“。
其实这句话具备很大的对立,可是若是高级工程师看来,的确如此,由于当你达到必定的阶段的同时,你考虑的是如何去作好产品,或者说你看到原型图的时候,你总体框架已经跃然纸上了,的包括后期的优化,产品的更新,包括你所用的技术:异步加载、如何去实现权限管理、整个项目的编码风格等更重要的是产品的设计已经符合了广大的用户,这样你的编程才有价值。
2、前端灵魂的思想
我相信从事编程的程序猿们都有着必定的灵魂,本身coding的思想,coding的风格。优秀开发者,本身代码可读性很是高,同时他几乎已经脱离coding的境界,而是更多地去着眼于web的数据表现形式和对于一些开发标准的考虑。因此我建议不少开发人员再搞清楚本身的开发设计以前不要去急着敲代码,分析好每个细节,甚至你想好了每个Class、每个函数fn、每个对象、你须要提供的一下的公共调用的方法、和须要高度耦合的模块,哪里须要引入一些插件,最终这些的表现就是咱们看到的,也是用户所用的一web界面。
这里举一个例子:为何电商类的网站很能赚钱?为何淘宝优化一下网站会产生大量的订单?为何百度首页进行一个优化搜索量会有一个变化。还有一些页面的功能如何丧失了会怎么样呢?这些细节、数据表现形式就是未来web工程师的一个核心竞争力,你若是懂得了,掌握了,那么你可能会开发出一个不同的产品。或者开源类的库,好比jquery和bootstrap。
看看这是三个不一样的登陆界面,可是相比而言,从客户的体验度来讲,以为第一个更好些。
这里想说做为一个前端工程师,你不只仅应该考虑如何去实现功能,更多的是考虑如何增长用户的满意度和未来web的数据表现形式,有可能未来会继续创新,出现新的数据表现形式,也就是html6.0的时代,这须要你有很强的技术功底,也了解各大浏览器的机制。