接实习/校招/社招面试辅导、试用期辅导、自学辅导,有需要的直接私聊我
前端程序员真的是在鄙视链底端吗?前端算程序员吗?
关注程序员耳东,编程转码真轻松
这个话题可能比较敏感一些,但是我还是想写一篇笔记聊聊这个问题
“ 前端程序员真的是在鄙视链底端吗? ”
其实从我实习的时候(2016年底)开始,类似的话就层出不穷,比如说:
- 前端是真的没啥技术含量,那不是有手就行?
- 啥?前端还需要学习数据结构算法吗?用得到吗
- 前端的技术是真的low,随便学两天就行
- 前端也能叫程序员?那不是页面仔吗
哈哈,相信看文章的你们也多多少少遇到过类似的吐槽,其实很正常,正所谓因为不了解所以才产生偏见,很多对前端不了解所以会想当然的产生一些轻视的情绪
问题来了,为啥在互联网上前端会被鄙视呢,为啥很多人会觉得前端不算程序员呢?
我觉得有以下几个原因
1. 早些年前端技术确实简单
不得不承认,早些年的前端技术确实比较简单,大概在2010年以前吧,那个时候前端最流行的技术还是jQuery,而且前端的代码也只是后端项目的一个文件夹而已,很多公司可能都没有前端工程师这个职位,大家可能会混淆UI设计师、美工和前端这3个概念,当时有很多前端也会被人叫做美工
那个时候,前端的工作就是切页面、调样式,拿着jQuery操作dom,整个工作过程确实没啥技术含量,甚至在很多小公司前端的工作完全是后端兼任,可能当时很多后端还不见得愿意去做,因为觉得太low了
但是,后来就完全不一样了
后来出现了react、vue、angular等等前端view层的技术库,这些技术基本上改变了前端的开发思路
接着是nodejs的横空出世,javascript这门语言不仅可以跑在浏览器,更可以跑在服务器,而且nodejs的出现加速了前端工程化的步伐,然后是webpack、babel等等一系列工程化技术的出现,为前端打造了完整的研发工具链
至此为止,前端工程师要开发一个前端项目,需要学习一整套的前端工程化工具,也是这个时候,各大公司开始推进前后端分离的策略,前端和后端也是在这个时候,开始做到团队分离、仓库分离、责任分离,前端工程师这个职位的重要性进一步凸显
再再后来,移动互联网的热潮来临,用户体验这个概念被提到了很高的位置,很多大公司开始提到“大前端”的概念,把iOS、安卓等等移动端技术都囊括到大前端的范畴中来,这个时候前端技术算是发展到了高潮期,很多公司开始花重金招前端,这期间也涌现出一些技术,比如react native、混合开发、移动端h5技术等等
到现在(2022)来看,前端技术并不是当初那么简单了,并不是随便一个岗位的人可以兼任,并且很多公司都有着比较大的专门搞前端的团队,所以现在的前端技术深度完全不用担心
2.前端技术入门容易
前端被鄙视的还有一个原因就是入门容易,这个确实是,随便学几个html标签和css,就可以在浏览器中写出效果来,看着确实是容易
其实我觉得入门容易算是一个技术的优点,但是可能在某些有优越感的人看来,这反而是个缺点,因为不容易拿来装X
前端技术的特点就是入门容易,但是因为要学的东西比较散,所以进阶和深入比较难,这也是市面上为啥初级前端很多,高级和资深前端比较少的原因
3.前端工作偏视觉,谁都能说两句
还有就是,前端工程师很多时候工作产物是偏视觉的,不管是pc端网页还是手机端app,无论会不会技术ta都能看得懂这是个啥,所以这就造成一个问题,谁好像都能上来说两句,都能上来指点你一下
比如说类似的话:
- 这不就是加个按钮吗,有那么难吗?
- 这不就是改个XXX吗,有啥技术含量?
诸如此类的话,层出不穷,其实这些话的本质也是对别人的工作不尊重,我们要注意别成为这样的人,但是如果别人在你面前说这样的话,那我们必须回怼
4.业务形态决定了技术偏向
最后一个原因,也是一个比较本质的原因,业务形态决定了技术偏向,什么意思呢?
现在大部分的公司业务都是比较偏业务的,比如说云服务、电商等等业务,这些业务的核心是数据和业务模型,往往这部分内容都是放在后端去管理的,前端项目只是一个入口
而且很多公司对于交互和用户体验的重视程度还是不够,这就导致了公司内部的技术偏向是更偏向于后端的,他们的话语权也更重一些
不过这个问题也很好解决,你可以跳槽去一些重前端的公司和团队,对用户体验和交互的要求更高,对前端技术的要求也就更高,而且前端不需要oncall,不必担心半夜服务挂了被警报电话吵醒
前端被鄙视的几个原因我在上面都写完了,我觉得现在的前端应该不用担心这个问题
首先从薪资上来说,各大公司的校招薪资,前后端基本已经持平,比如今年的大厂前端校招薪资,基本上在月薪2W+,这是个非常有竞争力的薪资水平,这说明从公司的角度来看,前端后端并没有什么差别,给的钱是一样的
然后再从技术要求的角度来说,现在前端面试,基础知识、计算机基础、手写算法、框架原理等等问题都会问到,准备前端面试再也不是那么简单地只会jQuery就可以了,所以在技术要求上也是很严格了,前端不用担心低人一等
最后在管理上,公司内部前端后端团队分离,都对产品服务,没有什么谁更low的高低之分,大家都是为业务和产品服务
现阶段要入行前端的,针对上面说的,我有以下几个建议:
- 对自己要求高一些,粉丝里面也有一些因为不想学数据结构来学前端的,我觉得这种想法是非常不好的,这属于自降身份的行为,对自己要求稍微高一些,把自己当做一个合格的工程师
- 在公司里面要不卑不亢,尤其是面对产品经理和后端的时候,不合理的事情要据理力争,没必要畏首畏尾
最后总结一下,不管前端还是后端,都是工程师,技术好了自然收入就高,没必要搞鄙视链,大家加油