从事前端真的没有后端工资高?

22,259 阅读10分钟
原文链接: www.zhihu.com

我可以负责人的告诉题主,据我所知至少在杭的网易、阿里前端跟后端是一个批发价。(我说的是业务层的,你非得说开发Web 3D引擎的前端比一个普通的Java价格贵,或者玩hadoop的数据研发比一个普通前端高这就是属于杠精了)。

我们指的前后端一定是web开发的前后端,属于web业务开发,不然写中间件、大数据的后端,写web 3D引擎、前端框架设计的前端都属于脱离传统web开发的范畴了

我指的是同水平的情况下,因为个体的差异十分大,但是普遍一个P6/7的前端跟一个P6/p7的后端是一个价格。

题主因为还是在上学,我再多说几句,很多大学老师其实离软件行业很远了,我们不排除一些大牛老师跟企业保持着密切的合作,比如我老师浙大翁恺,我之前在网易的时候还经常与我们有合作(现在不清楚了),网易云课堂上有大量他的课。

所以老师对行业的一些看法并非可以全信,来知乎问问是好的,但是知乎上每个人的观点也不一样,现在就有人说后端价格更高这个观点,我再给你讲得详细一点。

1.一定程度上上持后端薪资更高的观点也是对的,为什么?如果你算一下阿里前端的平均薪资和后端平均薪资,一定是后端高,因为前端的地位提高就这几年的事情,现在你去阿里p7前端跟后端(阿里后端就是java)是一个价格,可是之前一定是后端高,加之后端在阿里创建之初就有了,很多后端出身的人早进入管理层了,但是他们依然是挂着p9/p10的头衔的后端,前端不过是10年前后才发力的,p10以上的前端其实就那么一两个。

严格来讲到了p10这个级别已经没什么前后端这一说了,只不过是前端出身或者后端出身而已,如果是一路走技术路线上来的,前后端啥的都是通吃的,如果走的管理,其实已经不算技术了,那就是纯粹的管理。

所以你现在根本不用担心这些问题,现在批发价是一样的,因为不管是平均数怎么样,到自己手里的才是王道。

2.个体差异很大,即使同一个级别拿的也有多有少,我其实在同级别的工程师里是属于最高薪那个级别的,虽然讨论薪资是高压线,但是每个员工都或多或少知道自己的情况,当时去阿里的时候我开的价格很高,一个原因是我当时并不想离开网易如果不到一定价格我是不会走的,还有一个原因是想探一下自己的价值到底有多高。

这就牵扯到一个程序员生存策略了,每年一定要拿出两个月出去面试(不管你要不要走),需要不断评估自己的价格和发现自己身上的缺点及时弥补,很多程序员不知道自己值多少钱,要么不敢要工资、要么狮子大开口,想知道自己值多少,去市场上试水是做好的办法,要记住一点,你的价格是市场决定的,而不是你的能力,你的能力在稳定市场情况下可以跟价格成正比,但是市场永远不是稳定的,看看当年的安卓/ios多风光,再看看现在,人还是那批人,市场却要凉了。

3.不管是前端还是后端只是个敲门砖,很多年轻(其实我也挺年轻的)的小伙伴们都有一些执念,比如打算写一辈子Java成为Java大牛,走向人生巅峰,其实想法是好的,但是不可取。

我们从技术角度来说,因为写一辈子Java是当不了Java大牛的,你依然需要学习JVM系的Scala、Kotlin,更底层的c/c++,还有Go、Erlang这些拥有Java不同哲学的语言,最后发现你Java只是你的敲门砖,真正让你成为Java大牛的是你懂的不同语言的哲学,懂得不同场景下发挥出Java的优势,规避Java的劣势,深知Java的优缺点,而不是抱着Java是最好的语言,写一辈子Java。

我们从职业生涯的角度来说,我在前文中用描述高P的工程师的词汇不知道主要到了没,『xx出身』,对于高P而言没有前后端,前后端知识敲门砖,因为我们今天讨论的Web业务层面的开发,说实话都是处于计算机难度底端的玩意,之于一些答主说的鄙视链其实就是中国队鄙视泰国队,菜鸡互啄。

在Web这条线上想走到高P,基本上都是走业务架构这条路,这考验的就是大局观了,你只会一个前端或者一个Java根本不够格,纯粹研究技术上P10的基本上属于蜀道难了,说的清楚点,对于传统的Web开发工程师(前后端)不通过管理走高P基本上只有往架构方向走,这个时候靠的是你全面的能力和良好的大局观,你当初的那些前端技术、后端技术就是个敲门砖。

p10以上还能纯玩技术的我指出几个方向,算法相关岗位(深度学习、计算机视觉等)、数据相关岗位、图形学相关岗位(比如网易开发游戏引擎的大牛等)、大规模系统的底层相关(阿里云)、安全相关。

你普通的web开发,前端写出花、后端写得上天了,也靠纯技术走不到高P,时刻认知到自己处于计算机难度的最底层就行了,因为前后端技术本身没什么高深的,基本上都是工业界实践的结果,你会看到xx公司从xx实验室、xx高校挖了个深度学习专家、数据科学家,你见过挖了个某教授来做web开发了?

总结:

  1. 前后端目前在大厂至少是一个批发价。
  2. 你作为一个个体能拿多少取决于市场,也取决你的个人能力和谈判能力,更平均薪资无关。
  3. 不管是前端还是后端,只是你之后发展的敲门砖,传统web开发没有难度可言,想走高P懂前后端是最最起码的要求。

最后题主问到如何规划自己的事业,我上文说的很清楚了,前端只是你的敲门砖,我指几个靠前端敲门后的大方向:

  1. web开发: 前端、后端是web开发的两个端,其实同城web开发,在很多国外公司没前后端这个说法,都叫做『软件工程师』或者web developer,其实要转换一个思想,前后端并不是对立的,而是纯粹的一家人,只是被国内外的一些市场强行分成了前后端,归根到底是需要前后端都懂得,所以在你保持前端高水平的情况下,精进一些后端技术是必要的,但是要分清主次,前端为主。
  2. 数据方向:以后数据就是互联网时代的石油嘛,这个方向也不错,在前端这边就是可视化相关的技术,在阿里这边有大量的数据可视化实践,因为阿里号称自己是数据公司(中石油?),想做这一行建议搜知乎相关如何入门,提前说下,并不是用echarts渲染个图表就叫可视化了,这行水非常深,在高校有很多这个方向的研究人员,所以搜浙大陈为了解下,反正逼格比web开发高是一定的,以后再精进也还是离不开大数据相关的东西什么hive、hadoop之类的,可视化是整个数据链路最外层,最后走高P还是需要理解整个链路层的。

说的再清楚点,web开发分web前端和web后端,是以web服务的角度来看待的,数据研发这个是在web开发的基础上用数据附能,懂可视化的一定是有前端能力的,懂hadoop的一定java玩的溜,属于web开发的拓展方向。

3. 大前端方向: 上文提过了,移动端的ios/安卓早就式微了,但是并不代表死了,只是所有公司都意识到没必要上原生开发了,知道养安卓/ios/web三个团队多浪费钱嘛,就那么点的用户量和难度,创业期直接all in小程序就行了,等做大了再上安卓/ios,而且也不用全上,30%的native+70%hybrid用户根本看不出差异,而且成本和效率不知道强了多少,一些大厂比如阿里在大量实践rn和weex,由于公司内部安卓/ios式微,一定程度上前端把ios和安卓收编了,统称大前端(还有node),比较出名的是饿了么和美团,这种收编一定程度上也是政治的需要,像美团这种企业一定是重后端的,距刘平川说收编完安卓/ios后加上node团队,大前端人数与后端持平,可以想象大前端的leader的话语权了,学一点ios/安卓没坏处。

4. 图形学方向: 图形学的集大成者无疑是游戏行业,当然阿里也有自己的游戏业务,前端自然是与图形学有千丝万缕的联系,除了我们上面提到了可视化,还有相关3d引擎的开发工作,比如玉伯的团队正在内部孵化antG(未开源),淘宝那边已经有前端3d引擎的开源项目,支付宝内部的蚂蚁森林就是前端开发的,用的正是canvas/webgl相关的技术,做这一行要求也非常高了,图形学相关的算法,3d引擎的开发这都需要图形学相关知识,要严格来讲很难算传统意义上的前端了,更像是图形学在浏览器端的应用,之后发展肯定是需要借鉴传统图形学的方案,所以c/c++少不了,同时3d/2d在浏览器端吃性能,需要webassembly加持,native语言是更少不了了。

总之要么在广度上下功夫,要么在深度上下功夫,其目的就是在技术上高出其他人一个维度。

当然还有从业务方面考虑的,以后再说吧,这方面就是要知道你的技术是为商业服务的,企业不是高校,骗骗经费就能活得潇洒,产生利润,并让你的leader知道你的价值才是王道。