一、
- 相对而言,前端入门容易一点,但技术纷杂、变化快,难精;后端涉及的专业知识和关键技术面广,要求高,学习成本高、入门和上手的时间长,但技术持久性强,易积累。
- 前端重于呈现和用户体验,后端重于算法和架构;前端是一对一的,后端是一对多的,对于后端而言面对动则百万、千万级的用户高并发访问,能胜任一个高性能和高并发后台系统的开发工作,不是一朝一夕之功。另外,从目前的系统架构来说,大部分逻辑算法和数据处理都是在后台系统中实现的,所以算法设计和数据处理开发也是后端的重要内容,但这方面的技能和素质要求更高。
- 总之,粗略地谈,前端入门容易,岗位需求量大,竞争激烈;后端入门难,但工作相对稳定,发展前景好,多为企业核心人员。
二、
p10以上还能纯玩技术的,我指出几个方向,算法相关岗位(深度学习、计算机视觉等)、数据相关岗位、图形学相关岗位(比如网易开发游戏引擎的大牛等)、大规模系统的底层相关(阿里云)、安全相关。
普通的web开发,即使前端写出花、后端写得上天了,也无法靠纯技术走到高P。请时刻认知到自己处于计算机难度的最底层就行了,因为前后端技术本身没什么高深的,基本上都是工业界实践的结果。你看到很多xx公司从xx实验室、xx高校挖了个深度学习专家、数据科学家,你见过挖了个某教授来做web开发了?
三、
最后,题主问到如何规划自己的事业。上文说的很清楚了:前端只是你的敲门砖。下面,谈谈几个靠前端敲门后的大方向:
web开发:前端、后端是web开发的两个端,其实在很多国外公司没前后端这个说法,都叫做『软件工程师』或者web developer。其实,要转换一个思想:前后端并不是对立的,而是纯粹的一家人。只是被国内外的一些市场强行分成了前后端,归根到底,是需要前后端都懂得,所以在你保持前端高水平的情况下,精进一些后端技术是必要的,但是要分清主次,前端为主。
数据方向:以后数据就是互联网时代的石油嘛,这个方向也不错。在前端这边就是可视化相关的技术,在阿里这边有大量的数据可视化实践,因为阿里号称自己是数据公司(中石油?)。想做这一行建议搜知乎相关如何入门。提前说下,并不是用echarts渲染个图表就叫可视化了,这行水非常深。在高校有很多这个方向的研究人员,所以搜浙大陈为了解下,反正逼格比web开发高是一定的,以后再精进也还是离不开大数据相关的东西什么hive、hadoop之类的,可视化是整个数据链路最外层,最后走高P还是需要理解整个链路层的。
进一步说,web开发分web前端和web后端,是以web服务的角度来看待的,数据研发这个是在web开发的基础上用数据附能,懂可视化的一定是有前端能力的,懂hadoop的一定java玩的溜,属于web开发的拓展方向。
大前端方向:移动端的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语言是更少不了了。
版权声明:本文为CSDN博主「java高级架构进阶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44946117/article/details/90273371