每一个程序员应该都听说过程序员鄙视链,做c的看不起做c++的,做c++看不起做java的,做java看不起做.net的,这些所有都看不起搞前端的,可以说,前端程序员应该处于程序员鄙视链的底端。
前端在行业中,之所以被鄙视的原因,完全是因为,入门简单,早期的前端俗称美工、切图仔,每天的工作就是切图、写写html、写写css,在java亦或者c语言开发者眼中,就是渲染一下网页,没多大难度。
然而,在现在的工作中,前端工程师已经不仅仅是切切图,在一定程度上,我甚至认为前端比后端更难、更重要。
前端工程师在工作更接近于用户,一个好的前端工程师不仅代码写的好,在用户体验上也需要花功夫去研究,在传统的CMS系统开发中,后端随便找个UI框架配合jq一把梭,界面中规中矩,基本上以实现功能为主,在这方面,前端做的界面不仅酷炫且用户体验很好,一个对设计、交互很有理解的前端同样令人佩服。
在技能方面,node的出现,可以说开启了前端模块化、组件化的进程,新技术层出不穷,各种mvc、mvvm框架流行了起来,如angular、vue、react等,各种构建工具,如webpack、gulp等,html5的出现,使得这种各种js游戏引擎飞速发展,依托于微信的公众号开发、小程序开发可以创造巨大的流量,包括未来的PWA渐进式应用以及现在的app混开技术等,可以说,前端这几年进入了飞速发展的阶段,我认识的朋友做前端,每周都要花时间去学习新东西,以免被这个行业淘汰,吐槽最多的就是前端要学的东西太他妈多了,学习的难度丝毫不必后端低。
我个人是从没有瞧不起前端程序员的,但是我发现很多后端程序员在前端程序员面前莫名的强势。比如,有次我朋友被后端怼了,原因是后端让前端从服务器获取时间,有没有给对应的接口,后端给的理由是,你前端页面是放到服务器上,那你直接用js获取本地时间不就是服务器时间吗?说的我朋友“哑口无言”。
前端其实是一个特别苦逼的工作,后端要出了api接口,前端才有活干,通常情况下,加班加的最晚的是前端,每次系统或者页面发现bug,哪怕其中有些是后端的问题,测试、市场***时间找的人也是是前端,每次ui一变,后端未必修改,前端肯定修改,同时前端还需要适配各种各样的浏览器,某些浏览器兼容性简直无法直视。
虽然前端的市场很大,但是我依然不建议朋友们入前端坑,市面上非常缺前端,但是缺的都是高级的前端,初级的前端同样处境不好,培训班每个月都有新出来的前端学员,竞争压力非常大,且程序员这个行业本身就比较辛苦,如果没有一定爱好,没有一定的坚持,没有一定的追求,在本身就是这么累的环境中,就算拿着一份工资还不错的工作,又有什么意思呢?