V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hoseawu
V2EX  ›  程序员

现在做全栈是不是一个好方向

  •  2
     
  •   hoseawu · 2023-12-06 09:44:16 +08:00 · 11024 次点击
    这是一个创建于 382 天前的主题,其中的信息可能已经有所发展或是发生改变。

    某一线城市,做了 4 年的后端口今年在公司做全栈,收入还算可观。

    主要技术栈大概是目前是 NestJs/ExpressJs + React/Next.js 这样。

    本人对编程有着强烈的热爱,也开发过桌面软件( C#,Electron ),web ( vue ,react ),app ( rn ),后端(主要是 NodeJs )。但是能拿得出手的也只有 Js 系的开发(包括 web 前端和后端 api 开发)。

    目前做全栈和后端的热情还是比较高的,不知道怎么选择。

    如果选择全栈,我大概会继续精进 Js 相关的内容,包括框架源码,数据结构,V8 引擎的学习,还有一些附加的数据库/服务器优化等。

    如果选择后端,我大概会选择偏底层一些的方向且深入学习一门静态语言(目前打算转 Java ),计算机操作原理,网络相关知识等。

    因为以前都是自己对什么感兴趣就学习什么,从来没有考虑过工资工作什么的。 但是 毕竟年纪也不小了,且学历也确实不怎么样(专科),希望可以开始“面向工资”编程,而我能无缝衔接并且兴趣较高的两个方向也就是全栈和后端,请问各位大佬我应该怎么选择?

    65 条回复    2024-06-12 17:39:15 +08:00
    crazyTanuki
        1
    crazyTanuki  
       2023-12-06 09:59:42 +08:00
    你都是前后端分离模式开发吧,看 nextjs 趋势要回到前后端混合开发了,全栈应该是个大方向
    hoseawu
        2
    hoseawu  
    OP
       2023-12-06 10:01:22 +08:00
    @crazyTanuki 是的,主要是前后端分离模式开发,但是一些小项目也就 nextjs 承包了
    crazyTanuki
        3
    crazyTanuki  
       2023-12-06 10:04:48 +08:00
    @hoseawu 真心觉得前后端混合开发好乱...你平时后端开发有用 views 模板吗?
    Morriaty
        4
    Morriaty  
       2023-12-06 10:05:28 +08:00   ❤️ 1
    还以为是老帖,下意识的看了下发帖时间🤣

    工作了四年还能有如此纯粹的热情,挺好的。个人建议专而精比大而全要好。
    hoseawu
        5
    hoseawu  
    OP
       2023-12-06 10:07:48 +08:00   ❤️ 1
    @crazyTanuki views 模板是指 ejs 这种么?我有用 ejs 开发过自己的项目和 hexo 的博客主题,但是没有在工作中实战过。
    hoseawu
        6
    hoseawu  
    OP
       2023-12-06 10:10:22 +08:00
    @Morriaty 嗯呢,其实我也是这样想的。就是担心低学历找比较专业的工作会比较困难,想着如果是大而全类型的工作是不是对学历要求没那么高
    murmur
        7
    murmur  
       2023-12-06 10:16:36 +08:00
    做外包的话必须全栈,前端可以不精但是 vue 必须得会,如果你一辈子都能在互联网公司工作可以不全栈
    James107
        8
    James107  
       2023-12-06 10:16:49 +08:00
    我是在阿里云做了 7 年的后端开发,个人建议是后端不要进 Java ,做个大前端会更好。后端是个无底深坑,涵盖的东西非常多
    GF
        9
    GF  
       2023-12-06 10:17:58 +08:00
    同路线,只是希望不会被饿死
    shui14
        10
    shui14  
       2023-12-06 10:18:42 +08:00
    全栈本来就比较实际,绝大部分业务短平快。php/ruby 这些一直就没落伍,市场纯粹是人力便宜,加上所有公司不管大小都是想做平台,不考虑实际的搞基建
    目前缺乏 vercel/fly 这类平台,next 算是新 php ,它做业务开发完全没问题。搭配 nodejs web 框架也算凑合。就业岗位缩减时,全栈重新回来,只是 java 和 php 还是大头,serverless 这些缺少靠谱平台
    hoseawu
        11
    hoseawu  
    OP
       2023-12-06 10:22:51 +08:00
    @murmur vue2 算会吧,react 现在可以得心应手且有一定心得。不知道你说的精通是到什么程度。无所谓在不在互联网公司,如果一切都好(形势,薪资,兴趣),专注互联网也是不错的选择,
    7inFen
        12
    7inFen  
       2023-12-06 10:23:34 +08:00   ❤️ 1
    看好 tRPC 的发展,未来 5-10 年,可能不再有明显的前后端区分,只有业务和数据之分。
    hoseawu
        13
    hoseawu  
    OP
       2023-12-06 10:24:06 +08:00
    @James107 并不喜欢完全把重心放到前端上,毕竟感觉自己更大的兴趣与志向还是偏 coding 的,而不是打磨样式。
    hoseawu
        14
    hoseawu  
    OP
       2023-12-06 10:24:22 +08:00
    @GF 哈哈哈哈哈
    hoseawu
        15
    hoseawu  
    OP
       2023-12-06 10:26:43 +08:00
    @shui14 所以现在比较保守的选择还是全栈对吧
    QWE321ASD
        16
    QWE321ASD  
       2023-12-06 10:26:44 +08:00
    全栈是方便自己做工具和公司不能给安全感和无聊时打发时间干的.要是对编程没啥喜欢的和公司一副能养一辈子的样子.我觉得专精比全栈好
    hoseawu
        17
    hoseawu  
    OP
       2023-12-06 10:27:42 +08:00
    @7inFen 嗯,可以了解下
    gloye
        18
    gloye  
       2023-12-06 10:27:54 +08:00
    收入还算可观大概是多少
    CaptainD
        19
    CaptainD  
       2023-12-06 10:30:07 +08:00
    感觉做数据开发是个好选择,比较偏后端那种,区别于数仓和大数据开发
    hoseawu
        20
    hoseawu  
    OP
       2023-12-06 10:30:22 +08:00
    @QWE321ASD 不打算在目前公司长期干,也不知道以后能不能找到愿意干一辈子的公司 hhh
    gogogo1203
        21
    gogogo1203  
       2023-12-06 10:31:13 +08:00
    我最开始学的 go->html->jquery->css->js->React. 现在做产品绝大部分时间都是前端。后台用 supabase 的数据库即后台+sql function+edge function. 有了 chatGPT, 写 crud 太容易了。全栈应该很快就要成为默认项了(如果还没有的话)
    hoseawu
        22
    hoseawu  
    OP
       2023-12-06 10:33:10 +08:00
    @gogogo1203 我问的问题是深入研究哪个方向,基础的全栈现在已经没什么问题了,想要深入。
    rm0gang0rf
        23
    rm0gang0rf  
       2023-12-06 10:35:19 +08:00
    全栈?是不是得把设计 UI 加上 哈哈哈
    hoseawu
        24
    hoseawu  
    OP
       2023-12-06 10:36:11 +08:00
    @rm0gang0rf 那个在我心里属于设计方向了,有点心无余且力不足..
    James107
        25
    James107  
       2023-12-06 10:36:21 +08:00
    @hoseawu 如果你要做 Java 后台开发
    基础知识:Java 语法、JVM 机制、数据结构算法、高并发多线程、服务器 Linux 知识、网络知识编程( TCP UDP )设计模式、数据库优化
    框架:Spring SpringMVC Mybatis Springboot Springcloud ( Nacos dubbo seata...) Netty
    大数据:Hadoop hbase Hive Spark Flink K8s FBI 数据集成
    附带的 MySQL 系列、MQ 消息队列、Redis 、Zookeeper 、Docker 、Nginx 、Tomcat
    集群架构、DDD 驱动

    以上还只是简单列举了我们每天都要用的,在这基础上的变型产品有很多,比如 springboot ,阿里内部是潘多拉,dubbo 阿里内部是 HSF ,都需要去了解和学习
    gogogo1203
        26
    gogogo1203  
       2023-12-06 10:40:08 +08:00
    @hoseawu 纯技术层面,我觉得平台化和 chatGPT 的加持下已经大难点。chatgpt 还不能搞还剩下美学,动效和新一点的交互方式。类似 https://reactflow.dev/ 和 threejs 的一些 新视觉。
    gogogo1203
        27
    gogogo1203  
       2023-12-06 10:41:14 +08:00
    当然,我说得这些只针对独立开发。
    hoseawu
        28
    hoseawu  
    OP
       2023-12-06 10:45:52 +08:00
    基础知识我都会,附带的那些我也会,java 我也能开发。 “转”是指“深入”,不是从头学,主要是学习 java 现在使用的框架且把技术重心放到 java 语言与 jvm 原理。从头学太费劲了,不敢挑战...
    hoseawu
        29
    hoseawu  
    OP
       2023-12-06 10:47:29 +08:00
    @James107 基础知识我都会,附带的那些我也会,java 我也能开发。 “转”是指“深入”,不是从头学,主要是学习 java 现在使用的框架且把技术重心放到 java 语言与 jvm 原理。从头学太费劲了,不敢挑战...
    abelmakihara
        30
    abelmakihara  
       2023-12-06 10:49:58 +08:00
    无脑后端 不过转没那么容易
    脑子正常的前端照葫芦画瓢都会写 springboot 增删改查业务 没多大意义
    转要学一整个生态 而且需要和其他有经验的后端卷
    hoseawu
        31
    hoseawu  
    OP
       2023-12-06 10:53:27 +08:00
    @abelmakihara 哥,我正文写了四年后端工作经验,本来就是后端,今年才正式开始做全栈,现在是问深入哪个方向,你这等于没回答啊..
    abelmakihara
        32
    abelmakihara  
       2023-12-06 10:54:59 +08:00
    @hoseawu 那还考虑啥啊 专职后端就完了 傻了才去掺和前端
    7inFen
        33
    7inFen  
       2023-12-06 10:56:26 +08:00   ❤️ 1
    @James107 论广度,前端娱乐圈列出来的技术概念四五倍不止,论深度,webpack 打包估计七八成的前端都不会用。前端入门快,但难精通。前后端哪个承担更多,我觉得,大厂后端>前端,小厂前端>后端。
    smallWang
        34
    smallWang  
       2023-12-06 11:45:22 +08:00
    我是纯 nodeJs 后端,现在在学 react ,nodeJs 一把梭 哈哈哈哈哈
    shui14
        35
    shui14  
       2023-12-06 11:54:49 +08:00
    @hoseawu
    对于软件工程师,即便写前端或者后端,也应该知道整个流程的逻辑
    java 或者 php 是次要的,从逻辑上理解,大部分岗位都是面向框架八股文,平时投入精力太大,而且是平台需要才会存在,公司有需求才有意义
    全栈现在比起以前有个好处,合适的场景可供选择的工具更多。当然面向岗位编程,具备后端能力,不限制具体语言

    前段时间试的 vercel serverless function 混合多种语言
    https://v2ex.com/t/963777
    hunterzhang86
        36
    hunterzhang86  
       2023-12-06 12:22:34 +08:00 via iPhone
    有了 ChatGPT ,大概后面需要不太会成为障碍,全栈的程序员会越来越多
    eephee
        37
    eephee  
       2023-12-06 12:28:24 +08:00 via iPhone
    同求问收入的大致范围
    jones2000
        38
    jones2000  
       2023-12-06 12:40:01 +08:00   ❤️ 1
    4 年的开发, 你要考虑的是“你的自己的技术优势在哪里,你比刚毕业的应届生优势在哪里”。 强化自身的优势。
    whyrookie
        39
    whyrookie  
       2023-12-06 13:39:58 +08:00
    顺带问一句,全栈可以前端+Java 吗?这条路线的人多吗
    IvanLi127
        40
    IvanLi127  
       2023-12-06 14:00:17 +08:00
    我觉得即使想专做后端,也不应该选 Java ,再差也得是 Kotlin 。
    nianyu
        41
    nianyu  
       2023-12-06 14:04:41 +08:00
    同意楼上说的 外包必须全栈,在公司上班可以不需要
    dfkjgklfdjg
        42
    dfkjgklfdjg  
       2023-12-06 14:16:32 +08:00
    就业方向全干肯定比单纯的前后端机会多。但是很容易都干不好,总有一边是弱势以及脱离环境的。
    特别是年龄越大,精力和时间都会慢慢变少,双向发展就很容易两边都做不好。
    我们这边之前的全干就是写的 JS 代码被前端吐槽,写的 Java 代码被后端吐槽。

    “大而全”之后的发展路径最后应该会和 Coding 慢慢说再见,转向解决方案之类的岗位。

    -----
    @whyrookie #39 ,现在很多都是 Java 开发自学 Vue 然后充全栈开发。如果本来是前端开发的话,好像都是 Next/Nuxt ,很少会去单独学 Java 。
    galikeoy
        43
    galikeoy  
       2023-12-06 15:52:49 +08:00
    我的学习路径是 前端三件套->jq/vue->nextjs/koa->java, 目前就是全栈的 curd 机器,
    工资的话肯定是比前端高的(主要是我觉得前端要拿到我现在的工资,太难了),正在卷全职后端了
    galikeoy
        44
    galikeoy  
       2023-12-06 15:57:48 +08:00
    @whyrookie #39
    @galikeoy #43
    我就是先学的前端,然后 node 后端,再学的 java ,其实 java 真的太方便了,curd 不费脑,
    大部分人应该都是 java ,再学的点 vue 做全栈,像前端转全栈的算少数
    edisonwong
        45
    edisonwong  
       2023-12-06 17:08:23 +08:00   ❤️ 2
    我是 python > golang > swift > vue 完全兴趣导向。个人建议专精,只有专精,收入高,效率高。效率高了,你业余才有时间精力研究别的技术。潜全栈:有 gpt ,学习能力强的应届生很快就写出来,没优势; 深全栈:都深入不现实啊,高不成低不就
    yinmin
        46
    yinmin  
       2023-12-06 18:01:33 +08:00 via iPhone
    全栈肯定好啊。对内:将来更容易升 leader ;对外:能接单做私活; 将来:跳槽就职范围广些
    horizon
        47
    horizon  
       2023-12-06 18:34:40 +08:00
    国内啥公司用 nextjs
    RealJacob
        48
    RealJacob  
       2023-12-06 19:17:10 +08:00
    @horizon 看具体的业务吧,我在某大厂前端我们启的服务端渲染的项目就用的 next ,主技术栈还是 react 。其他的 nestjs ,node 啥的组里都有用到过,尝试新东西嘛
    roundgis
        49
    roundgis  
       2023-12-06 19:50:51 +08:00 via Android
    @crazyTanuki 你是說 php?
    iamtsm
        50
    iamtsm  
       2023-12-06 22:18:06 +08:00
    我是从最开始的 java 和 js 全栈偏后端,然后转 node 纯后端,然后又转 python 纯后端,业余也写开源产品和工具,基本都是前后/设计/运维一套梭。

    所以我个人是认为如果技术是全栈的,后续的选择性会很好,但是我觉得不应该局限于开发,可以涉猎一些设计,运维,运营方便的事情
    gogogo1203
        51
    gogogo1203  
       2023-12-06 22:58:26 +08:00
    @RealJacob 我好奇你们有讨论过 server component 吗?纯好奇。我实在不清楚:如果不部署到 vercel, 怎么用 server compoennt?
    dayeye2006199
        52
    dayeye2006199  
       2023-12-07 05:24:24 +08:00
    国外挺好的,创业公司尤其需要。
    国内基本上快挂了,因为个人开发,和小公司开发的生存空间快被挤死了
    westoy
        53
    westoy  
       2023-12-07 09:14:58 +08:00
    全干反而不值钱, 领七八千一个月的网建外包各个都是全干

    除非你想创业
    wocao666
        54
    wocao666  
       2023-12-07 09:31:21 +08:00
    如果是后端,想走全栈,那我觉得只需要清楚前端的主要技术栈就完全够了
    什么 ES6 、vue3 、vite 、nodejs ,够自己一个人开发出一套完整的应用就行,前端技术够用就行
    深度的话还是继续专研后端吧
    记住:什么都会等于什么都会一点点,什么都会一点点那就等于什么都不会
    keymao
        55
    keymao  
       2023-12-07 09:34:16 +08:00
    全栈不全栈的,其实说白了不就是用到什么就得会什么嘛,这块后端的人更有优势一些,会点前端更容易。
    whyrookie
        56
    whyrookie  
       2023-12-07 09:47:10 +08:00
    @galikeoy 多谢回复,我目前学习路线也是后端用 Java
    RealJacob
        57
    RealJacob  
       2023-12-07 10:38:05 +08:00
    @gogogo1203 用的不就是他的同构能力么,如果 server component 不能用那用 next 还有啥大的意义吗? next 的 server side 本质就是 node ,vercel 帮你提供的是更快更便捷的部署,以及自带的服务端日志等等能力。不代表他只能在 vercel 用啊,即便你自己启项目你也可以用 aws 的 amplify 以及其他类似服务去部署试试,除了要自己处理一些脚本文件和日志等等能力,功能上是不会有太大差别的。。。如果他真的只和 vercel 绑定这些核心能力,他不会是这么火的一个框架的。。。
    gogogo1203
        58
    gogogo1203  
       2023-12-07 12:20:12 +08:00
    @RealJacob 我的问题是:除了 vercel 自带的环境,react server component 怎么划分和执行 server component. 我看了这么久,没有找到除了在 vercel 部署外的第二个解决方案。
    gogogo1203
        59
    gogogo1203  
       2023-12-07 12:27:09 +08:00
    @RealJacob 我的主要疑惑: 我原来是 go 后台,react 通过 file server 部署。 现在如果用 server component, 是不是整个后台就要重写了。
    lujiaxing
        60
    lujiaxing  
       2023-12-07 13:32:45 +08:00
    不算是什么好方向. 应该说软件开发 (IT) 都不算是好方向.
    如果你不准备出国, 那么唯一的好方向就是考公务员.

    ---

    如果你就一门心思还是准备做开发的话. 全栈几乎是必然的.
    如果你确实很屌很牛逼 985 / 211 本科毕业 + 985 / 211 研究生以上, 阿里腾讯字节华为等大厂 offer 随便挑, 那你确实可以专精前端 / 后端. 这些大厂基本上进去从入职到离职基本上就只干一个活儿.

    如果你不是, 那全栈不是好不好方向的问题. 是必然的问题.
    事实上是: 中小型企业普遍不分前后端. 基本上招进来之后就是从 css 到 k8s 全干.

    后端的话建议就认真学好 java 跟 java 相关的 SpringBoot, Spring Cloud, Dubbo 等. 以及 Docker, Docker Swarm, K8S, ELK, 等. 前端 VUE 跟 React. 有多余的精力可以学一下 C/C++.

    至于 GO 等其他开发语言都不建议深入学 (感兴趣除外).
    比如 C# 现在岗位少, 工资低, 除了外企以外基本没有大厂在用.
    比如 GO 基本上用的都是大厂, 拿来魔改 K8S, Docker 等. 学 GO 能顺利找到工作的大前提基本是 985 / 211 本科毕业. 如果你不是就不建议学 GO.

    还有一个方向是鸿蒙开发. 鸿蒙宣布不再兼容 Android 之后有不少大厂高薪招聘鸿蒙开发工程师. 这可能是个风口.
    lujiaxing
        61
    lujiaxing  
       2023-12-07 13:33:45 +08:00
    至于 Node 全栈, 这个据我个人了解, 用 Node 全栈的公司不多.
    RealJacob
        62
    RealJacob  
       2023-12-07 14:32:52 +08:00
    @gogogo1203 不太理解你这个问题的意思,跟 go 后台有什么关系?还是你指的 rsc 不是在 next 里用的?如果在 next 里用的话并不需要关注 how it works 这件事啊
    hoseawu
        63
    hoseawu  
    OP
       2023-12-07 16:21:51 +08:00
    @horizon 小型自研公司的话还是很多的(但目前我们公司 nextjs 也只是用来写前端,并没有前后写在一起)
    hoseawu
        64
    hoseawu  
    OP
       2023-12-07 16:25:06 +08:00
    @lujiaxing 感谢回复,帮助很大,(我所在的城市 ndoejs 还是挺多的)
    beiwei2008
        65
    beiwei2008  
       193 天前
    Boss 直聘上用全栈做关键字搜索北京地区,待遇都挺一般的,并且真正招人的公司很少

    企业上项目选全栈大概率是为了节省人力成本,并且项目技术要求不可能太高,高要求的前后端分离,各找各专业人才也容易,全栈方向前后都精通的人也少。

    还是走专精尖+行业积累靠谱,全栈大而全,自己玩玩还行,职业发展方向还是算了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2805 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:46 · PVG 19:46 · LAX 03:46 · JFK 06:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.