揭秘前端开发:从入门到精通的实战指南

发表时间: 2024-06-20 14:05

1、前端工资是否比后端工资低?

我可以负责任的告诉你:据我所知,至少在杭州,网易和阿里巴巴的前端和后端价格是同一个批发价。

我说的是业务层,如果你坚持认为开发一个Web 3D引擎前端比开发一个普通的Java前端要贵,或者说开发Hadoop的数据比开发一个普通的前端要贵,那你就太吹毛求疵了。

我们所指的前后端一定是Web开发的前后端,属于Web业务开发。否则,编写中间件、大数据后端、Web 3D引擎、前端框架设计前端等都超出了传统Web开发的范畴。

我是说同一级别,因为个体差异很大,但是一般一个P6/7前端和一个P6/p7后端是一个价格。

1、从一定程度上来说,后端工资更高的观点是正确的。

为什么呢?如果算一下阿里巴巴前端和后端的平均工资,肯定后端的工资更高。

因为前端的地位这几年提高了。现在你去阿里的话,p7前端和后端(阿里的后端是Java)的价位是一样的,但是之前后端肯定高一些,而且阿里成立的时候后端就已经有了,很多后端出身的人都进入管理层了。但是都还是挂着p9/p10头衔的后端,前端也才干了10年左右,p10以上的前端其实也就一两个。

严格来说,到了 p10 级别,就没有前端后端之分了,只看你是前端出身还是后端,如果你以前是技术人员,那么前端后端都可以搞定,如果你以前是管理人员,那么就不再是技术了,就是纯粹的管理了。

因此,您现在不必担心这些问题,因为现在批发价是一样的,因为无论平均值是多少,重要的是您拿到手的东西。

2.个体差异很大,即使同一水平,也有人多些,有的人少些。

我其实是同级别工程师中薪水最高的。虽然谈论薪水是一个很棘手的问题,但每位员工或多或少都清楚自己的情况。

我去阿里的时候,开的价钱很高,一个原因是当时不想离开网易,不到一个价钱我是不会走的。还有一个原因是想知道自己到底有多大的价值。这涉及到一个程序员的生存策略:每年都要花两个月时间去面试——不管你想不想走。你需要不断评估自己的价钱,发现自己的不足,并及时弥补。

很多程序员不知道自己值多少钱,所以要么不敢要工资,要么要价高得离谱。如果你想知道自己值多少钱,测试市场是最好的办法。记住一件事:你的价格是由市场决定的,而不是你的能力。在稳定的市场中,你的能力可以和你的价格成正比。但市场从来都不稳定。看看当年Android/iOS有多火爆,再看看现在。人还是那群人,但市场却在变冷。

3.不管是前端还是后端都只是垫脚石。

很多年轻人(其实我也挺年轻的)都有一些执念,比如打算用一生的时间写 Java,成为 Java 高手,走上人生巅峰,其实这种想法是好的,但并不可取。

从技术角度来说,写一辈子 Java 并不能让你成为 Java 专家,你还需要学习 JVM 体系的 Scala、Kotlin,以及更底层的 C/C++,还有与 Java 理念不同的 Go、Erlang。到最后你会发现 Java 只是敲门砖。真正让你成为 Java 专家的,是对于不同语言理念的理解,是对于不同场景下如何发挥 Java 优势的理解,是对于如何规避 Java 劣势的理解,是对于 Java 优缺点的深刻理解。而不是觉得 Java 是最好的语言,写一辈子 Java。

从职业角度,请注意我在上一篇文章中用了“xx”这个词来形容高级工程师。对于高级工程师来说,没有前端和后端之分。前端和后端只是敲门砖,因为我们今天讨论的 Web 业务开发,说实话,在计算机难度中处于最底层。至于有答主提到的鄙视链,其实是中国队鄙视泰国队,鸡同鸭讲。

在 Web 领域如果想升到高 P,基本要走业务架构路线,这个路线很考验你的大局观。如果你只懂个前端或者 Java,那根本就不够格。如果是纯技术研究的 P10,那基本就是一条难走的路。说得更清楚一点,对于传统的 Web 开发工程师(前后端)来说,如果不通过管理升到高 P,基本要朝架构走,这时候靠的就是你的综合能力和好的大局观,你原来的前后端技术只是敲门砖。

对于P10以上,还能玩技术的,我给大家指几个方向:算法相关的岗位(深度学习,计算机视觉等),数据相关的岗位,图形相关的岗位(比如网易做游戏引擎的专家等),大型系统相关的底层岗位(阿里云),安全相关的岗位。

对于普通的 Web 开发来说,即使你把前端和后端写得很漂亮,你也不可能靠纯技术达到 P 的高水平。请时刻意识到你是在计算机难度的底层,因为前端和后端技术本身并不是很深奥,基本都是工业实践的结果。你看到很多 xx 公司从 xx 实验室、xx 大学挖走深度学习专家、数据科学家,但你见过挖走教授来做 Web 开发吗?

总结:

1.前端和后端目前在大厂至少是一个批发价。

2、个人能挣多少钱取决于市场、个人能力和谈判能力,和平均工资无关。

3. 不管是前端还是后端,都只是你以后发展的垫脚石而已。传统的 Web 开发一点都不难,如果想更上一层楼,了解前端和后端是最低要求。

2.如何规划自己的职业生涯?

最后提问者问到如何规划自己的职业生涯。从上面可以清楚的看出:前端只是你的敲门砖。接下来我们来说说踏入前端大门之后的几个大方向:

1、Web开发:前端和后端是Web开发的两端。其实在很多外企,同城的Web开发根本不存在前端和后端这种称呼,都叫“软件工程师”或者Web开发者。其实我们需要转变一下观念:前端和后端并不是对立的,而是一个纯粹的家庭,只是一些国内外市场强行把它们分成了前端和后端而已。说到底,前端和后端都要懂。所以,你在保持前端高水平的同时,也要提高一些后端技术,但一定要分清主次,前端才是主。

2、数据方向:数据是未来互联网时代的石油,所以这个方向也不错。在前端就是可视化相关的技术,阿里巴巴有很多数据可视化的实践,因为阿里巴巴自称是一家数据公司(中石油?)。如果想做这个,建议大家去知乎搜一下相关的入门资料。提前说一句,可视化不只是用echarts渲染个图表而已,这个领域很复杂,高校里做这方面的研究者很多,搜一下浙江大学的陈炜,可以多了解一下。反正肯定比web开发高,以后再进一步,还是离不开hive、hadoop这些大数据相关的东西。可视化是整个数据链路的最外层,最后还是要把整个链路层都搞明白,才能往P上去。

另外,Web开发分为Web前端和Web后端,这是从Web服务的角度看的。数据研发是基于Web开发,用数据赋能Web开发,懂可视化的必须具备前端能力,懂Hadoop的必须会Java,是Web开发的一个拓展方向。

3、大前端方向:移动端的iOS/Android早已没落,但不代表它死了。只是所有公司都意识到了没必要原生开发。你知道维护Android/iOS/web三个团队要多少钱吗。这么小的用户量和难度,初创期干脆all in小程序就行;等做大了再去做Android/iOS,也不用all in。30%原生+70%混合用户根本看不出差别,成本和效率都不知道。一些大公司,比如阿里巴巴,RN、Weex实践的很多;由于公司内部Android/iOS的没落,前端在一定程度上把iOS和Android都收编了,统称大前端(兼节点),比较出名的有饿了么、美团。这种收编一定程度上也是政治需要,像美团这样的公司必须把精力放在后端上。 刘平川说,Android/iOS纳入,node团队加入之后,大前端的人数已经和后端持平了,大前端的领头人威力可想而知:学一点iOS/Android总归是没有坏处的。

4、图形:图形的缩影无疑是游戏行业,当然阿里巴巴也有自己的游戏业务。前端自然和图形息息相关,除了上面说的可视化,还有相关3D引擎的开发,比如俞波团队内部正在孵化antG(未开源),淘宝已经有前端3D引擎的开源项目,支付宝里面的蚂蚁森林就是前端开发的,用到了canvas/webgl相关技术。做这一行要求也很高,图形相关算法、3D引擎开发都需要图形相关知识,严格来说很难算传统意义上的前端,更像是图形在浏览器端的应用,未来的开发肯定需要借鉴传统的图形方案,所以C/C++必不可少。同时3D/2D在浏览器端比较耗性能,需要webassembly支持,原生语言更是必不可少。

总之,无论广度还是深度,目标都是在技术上比别人高一个维度。

“我是一名资深程序员,在前端领域工作了 5 年,辞去了工作,现在从事讲师的工作。今年年初,我花了一个月的时间整理了一份 2019 年最适合学习的 Web 前端资料清单,从最基础的 HTML+CSS+JS 到移动端 HTML5 再到各种框架。我想把这份清单分享给每一位前端开发者。这里是新手的聚集地,初学者和高级开发者都欢迎。”

添加QQ群:931661106(招募中)