比较推荐前端(因为我也是前端)(划掉),说一下我的理由
1.前端的技术壁垒薄
你觉得“前端有点杂乱以及技术迭代太快”,是因为前端正在发展期,ES6 发布到现在 10 年都没有,各种框架跟后端(说的就是 Java )已经竞争到稳定下来的生态比确实还太年轻。但这对非科班的同学其实是个好事,积淀少意味着更容易学透,你把前端的发展史捋一捋很容易理清楚现在的框架这些“想要解决什么”。Java 虽好但是积淀有点过于厚了(你看看
https://github.com/Snailclimb/JavaGuide ),而且多出的很多是为了解决企业级的需求,你必须要有一个合适的舞台才能发挥这些特性。
2.前端覆盖面广
前端技术栈目前几乎能覆盖到所有平台上,除了网页和小程序,还有桌面端( Electron )、手机端( React Native )、浏览器(油猴脚本和浏览器插件)等,加上 NodeJS 的后端,前端技术栈能在大部分平台上单人搓出一个完整的“应用”。从工作上讲,这会让你找工作的灵活度相对较高(比如前段时间突然开始火的海外智能合约工程师)。从个人来讲的话,特别是对技术感兴趣的人,业余能做出一个对自己或者某个社区有帮助的 App 的感觉是很好的,让程序不仅是打工的技能,也是生活中的一个爱好。前面说的 Java 的企业级特性于此恰恰不同,更像是为企业打工特化的(无贬义)。
3.独立开发者的可能
这个可能虚无缥缈一点,但正如第二点所说,当你的技术栈拥有快速制作任何平台的 demo 的能力,你又拥有一些好的产品经理的特质、善于发现需求的话,你就有独立制作出一款优质应用并以此获取收益的可能。特别是借助现在特化的专业服务,比如 ChatGPT API 发布的时候,全平台覆盖的技术栈能让你在短时间内把 AI 糊到任何存在用户的地方。在极端情况下(比如这次的互联网裁员潮)这种灵活性能为你提供一些额外的可能。
当然也并不否认楼上说的,你学历本来就不错,认真钻后端(算法,etc )进大厂可能比走前端路线工资要来得高。路线没有对错,而是看个人的偏好和选择。我更倾向于 WLB 一点。
一个额外的建议是,尽量把英语学好,毕业可以试试投一些外企,可能拿得没国内大厂那么多,不过不加班、氛围好,有些外企(比如我前司)还提供 re-locate 到海外 office 的,作为润的跳板也不错。
算法和数据结构可以看看 coursera 上北大的课
https://www.coursera.org/specializations/biancheng-suanfa ,更偏向面试的就得自己看专门的书和 leetcode 刷了。
练手的项目推荐试试油猴脚本,需要逆向去理解网页和浏览器环境,对 JS 基本功和 DOM 之类的蛮有帮助的。或者 Electron 的带爬虫性质的阅读器(漫画站、小说站、音乐播放器等),Electron 需要基本的前端工程化和框架(比如 React ),爬虫需要你对 HTTP 和 HTML 有深入的理解。最重要的是实际帮到你的用户(以骗取 star )(划掉)。
最后,React 安利一下胡子大哈的 React 小书,原文地址已经失联了,只有这个 csdn 转载的。这本是我觉得最能让人理解框架的思想的。
https://blog.csdn.net/Mr_zzr/article/details/125800788絮絮叨叨写了一堆,感谢看完。