来自知乎,匿名用户前端
https://www.zhihu.com/question/268677313/answer/386910532java
这是来自知乎的问题,是一个大二学生问的,说老师在讲课时说,从工资来看,后端开发要比前端高,而且说,掌握公司核心技术的都是后端。他问事实是否真的如此,而后问该如何规划本身的工做。node
这里整理的是个匿名答案,答主应该是在网易工做过,后来去了阿里。答案颇有参考意义,特此整理出来(原回答的大小写有部分错误,未一一修正)一块儿学习讨论。分两部分:ios
前端和后端的工资真像c++
前端的职业发展程序员
我能够负责任的告诉题主:据我所知,至少在杭的网易、阿里,前端跟后端是一个批发价。web
关于以上,我说的是业务层的。假如你非得说开发Web 3D引擎的前端比一个普通的Java价格贵,或者玩hadoop的数据研发比一个普通前端高这就是属于杠精了。面试
咱们指的先后端,必定是web开发的先后端,属于web业务开发。否则写中间件、大数据的后端,写web 3D引擎、前端框架设计的前端,都属于脱离传统web开发的范畴了。算法
我指的是同水平的状况下,由于个体的差别十分大,可是广泛一个P6/7的前端跟一个P6/p7的后端是一个价格。canvas
题主由于仍是在上学,我再多说几句。不少大学老师,其实离软件行业很远了。咱们不排除一些大牛老师跟企业保持着密切的合做。好比我老师浙大翁恺,我以前在网易的时候还常常与咱们有合做(如今不清楚了),网易云课堂上有大量他的课。
因此,老师对行业的一些见解并不是能够全信,来知乎问问是好的;可是知乎上每一个人的观点也不同,如今就有人说后端价格更高这个观点,我再给你讲得详细一点。
由于前端的地位提升,就这几年的事情。如今你去阿里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开发了?
总结:
先后端目前在大厂至少是一个批发价。
你做为一个个体能拿多少取决于市场,也取决你的我的能力和谈判能力,更平均薪资无关。
不论是前端仍是后端,只是你以后发展的敲门砖,传统web开发没有难度可言,想走高P懂先后端,是最最起码的要求。
如何规划本身的职业?
最后,题主问到如何规划本身的事业。上文说的很清楚了:前端只是你的敲门砖。下面,谈谈几个靠前端敲门后的大方向:
web开发:前端、后端是web开发的两个端,其实同城web开发,在不少国外公司没先后端这个说法,都叫作『软件工程师』或者web developer。其实,要转换一个思想:先后端并非对立的,而是纯粹的一家人。只是被国内外的一些市场强行分红了先后端,归根到底,是须要先后端都懂得,因此在你保持前端高水平的状况下,精进一些后端技术是必要的,可是要分清主次,前端为主。
数据方向:之后数据就是互联网时代的石油嘛,这个方向也不错。在前端这边就是可视化相关的技术,在阿里这边有大量的数据可视化实践,由于阿里号称本身是数据公司(中石油?)。想作这一行建议搜知乎相关如何入门。提早说下,并非用echarts渲染个图表就叫可视化了,这行水很是深。在高校有不少这个方向的研究人员,因此搜浙大陈为了解下,反正逼格比web开发高是必定的,之后再精进也仍是离不开大数据相关的东西什么hive、hadoop之类的,可视化是整个数据链路最外层,最后走高P仍是须要理解整个链路层的。
进一步说,web开发分web前端和web后端,是以web服务的角度来看待的,数据研发这个是在web开发的基础上用数据附能,懂可视化的必定是有前端能力的,懂hadoop的必定java玩的溜,属于web开发的拓展方向。
640?wx_fmt=jpeg
大前端方向:上文提到,移动端的ios/安卓早就式微了,可是并不表明死了。只是全部公司都意识到,不必上原生开发了。知道养安卓/ios/web三个团队多浪费钱嘛,就那么点的用户量和难度,创业期直接all in小程序就好了;等作大了再上安卓/ios,并且也不用全上,30%的native+70%hybrid用户根本看不出差别,并且成本和效率不知道强了多少。一些大厂,好比阿里,在大量实践rn和weex;因为公司内部安卓/ios式微,必定程度上,前端把ios和安卓收编了,统称大前端(还有node)。比较出名的,是饿了么和美团,这种收编必定程度上也是政治的须要。像美团这种企业,必定是重后端的。距刘平川说收编完安卓/ios后加上node团队,大前端人数与后端持平。能够想象大前端的leader的话语权了:学一点ios/安卓没坏处。
图形学方向:图形学的集大成者无疑是游戏行业,固然阿里也有本身的游戏业务,前端天然是与图形学有千丝万缕的联系,除了上面提到了可视化,还有相关3d引擎的开发工做。好比,玉伯的团队正在内部孵化antG(未开源),淘宝那边已经有前端3d引擎的开源项目,支付宝内部的蚂蚁森林,就是前端开发的。用的正是canvas/webgl相关的技术。作这一行要求也很是高了,图形学相关的算法,3d引擎的开发,这都须要图形学相关知识。要严格来说,很难算传统意义上的前端了,更像是图形学在浏览器端的应用,以后发展确定是须要借鉴传统图形学的方案,因此c/c++少不了,同时,3d/2d在浏览器端吃性能,须要webassembly加持,native语言是更少不了了。
总之,要么在广度上下功夫,要么在深度上下功夫,其目的就是在技术上高出其余人一个维度。