V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hoseawu
V2EX  ›  程序员

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

  •  2
     
  •   hoseawu · 143 天前 · 8162 次点击
    这是一个创建于 143 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    工作了四年还能有如此纯粹的热情,挺好的。个人建议专而精比大而全要好。
    hoseawu
        5
    hoseawu  
    OP
       143 天前   ❤️ 1
    @crazyTanuki views 模板是指 ejs 这种么?我有用 ejs 开发过自己的项目和 hexo 的博客主题,但是没有在工作中实战过。
    hoseawu
        6
    hoseawu  
    OP
       143 天前
    @Morriaty 嗯呢,其实我也是这样想的。就是担心低学历找比较专业的工作会比较困难,想着如果是大而全类型的工作是不是对学历要求没那么高
    murmur
        7
    murmur  
       143 天前
    做外包的话必须全栈,前端可以不精但是 vue 必须得会,如果你一辈子都能在互联网公司工作可以不全栈
    James107
        8
    James107  
       143 天前
    我是在阿里云做了 7 年的后端开发,个人建议是后端不要进 Java ,做个大前端会更好。后端是个无底深坑,涵盖的东西非常多
    GF
        9
    GF  
       143 天前
    同路线,只是希望不会被饿死
    shui14
        10
    shui14  
       143 天前
    全栈本来就比较实际,绝大部分业务短平快。php/ruby 这些一直就没落伍,市场纯粹是人力便宜,加上所有公司不管大小都是想做平台,不考虑实际的搞基建
    目前缺乏 vercel/fly 这类平台,next 算是新 php ,它做业务开发完全没问题。搭配 nodejs web 框架也算凑合。就业岗位缩减时,全栈重新回来,只是 java 和 php 还是大头,serverless 这些缺少靠谱平台
    hoseawu
        11
    hoseawu  
    OP
       143 天前
    @murmur vue2 算会吧,react 现在可以得心应手且有一定心得。不知道你说的精通是到什么程度。无所谓在不在互联网公司,如果一切都好(形势,薪资,兴趣),专注互联网也是不错的选择,
    7inFen
        12
    7inFen  
       143 天前   ❤️ 1
    看好 tRPC 的发展,未来 5-10 年,可能不再有明显的前后端区分,只有业务和数据之分。
    hoseawu
        13
    hoseawu  
    OP
       143 天前
    @James107 并不喜欢完全把重心放到前端上,毕竟感觉自己更大的兴趣与志向还是偏 coding 的,而不是打磨样式。
    hoseawu
        14
    hoseawu  
    OP
       143 天前
    @GF 哈哈哈哈哈
    hoseawu
        15
    hoseawu  
    OP
       143 天前
    @shui14 所以现在比较保守的选择还是全栈对吧
    QWE321ASD
        16
    QWE321ASD  
       143 天前
    全栈是方便自己做工具和公司不能给安全感和无聊时打发时间干的.要是对编程没啥喜欢的和公司一副能养一辈子的样子.我觉得专精比全栈好
    hoseawu
        17
    hoseawu  
    OP
       143 天前
    @7inFen 嗯,可以了解下
    gloye
        18
    gloye  
       143 天前
    收入还算可观大概是多少
    CaptainD
        19
    CaptainD  
       143 天前
    感觉做数据开发是个好选择,比较偏后端那种,区别于数仓和大数据开发
    hoseawu
        20
    hoseawu  
    OP
       143 天前
    @QWE321ASD 不打算在目前公司长期干,也不知道以后能不能找到愿意干一辈子的公司 hhh
    gogogo1203
        21
    gogogo1203  
       143 天前
    我最开始学的 go->html->jquery->css->js->React. 现在做产品绝大部分时间都是前端。后台用 supabase 的数据库即后台+sql function+edge function. 有了 chatGPT, 写 crud 太容易了。全栈应该很快就要成为默认项了(如果还没有的话)
    hoseawu
        22
    hoseawu  
    OP
       143 天前
    @gogogo1203 我问的问题是深入研究哪个方向,基础的全栈现在已经没什么问题了,想要深入。
    rm0gang0rf
        23
    rm0gang0rf  
       143 天前
    全栈?是不是得把设计 UI 加上 哈哈哈
    hoseawu
        24
    hoseawu  
    OP
       143 天前
    @rm0gang0rf 那个在我心里属于设计方向了,有点心无余且力不足..
    James107
        25
    James107  
       143 天前
    @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  
       143 天前
    @hoseawu 纯技术层面,我觉得平台化和 chatGPT 的加持下已经大难点。chatgpt 还不能搞还剩下美学,动效和新一点的交互方式。类似 https://reactflow.dev/ 和 threejs 的一些 新视觉。
    gogogo1203
        27
    gogogo1203  
       143 天前
    当然,我说得这些只针对独立开发。
    hoseawu
        28
    hoseawu  
    OP
       143 天前
    基础知识我都会,附带的那些我也会,java 我也能开发。 “转”是指“深入”,不是从头学,主要是学习 java 现在使用的框架且把技术重心放到 java 语言与 jvm 原理。从头学太费劲了,不敢挑战...
    hoseawu
        29
    hoseawu  
    OP
       143 天前
    @James107 基础知识我都会,附带的那些我也会,java 我也能开发。 “转”是指“深入”,不是从头学,主要是学习 java 现在使用的框架且把技术重心放到 java 语言与 jvm 原理。从头学太费劲了,不敢挑战...
    abelmakihara
        30
    abelmakihara  
       143 天前
    无脑后端 不过转没那么容易
    脑子正常的前端照葫芦画瓢都会写 springboot 增删改查业务 没多大意义
    转要学一整个生态 而且需要和其他有经验的后端卷
    hoseawu
        31
    hoseawu  
    OP
       143 天前
    @abelmakihara 哥,我正文写了四年后端工作经验,本来就是后端,今年才正式开始做全栈,现在是问深入哪个方向,你这等于没回答啊..
    abelmakihara
        32
    abelmakihara  
       143 天前
    @hoseawu 那还考虑啥啊 专职后端就完了 傻了才去掺和前端
    7inFen
        33
    7inFen  
       143 天前   ❤️ 1
    @James107 论广度,前端娱乐圈列出来的技术概念四五倍不止,论深度,webpack 打包估计七八成的前端都不会用。前端入门快,但难精通。前后端哪个承担更多,我觉得,大厂后端>前端,小厂前端>后端。
    smallWang
        34
    smallWang  
       143 天前
    我是纯 nodeJs 后端,现在在学 react ,nodeJs 一把梭 哈哈哈哈哈
    shui14
        35
    shui14  
       143 天前
    @hoseawu
    对于软件工程师,即便写前端或者后端,也应该知道整个流程的逻辑
    java 或者 php 是次要的,从逻辑上理解,大部分岗位都是面向框架八股文,平时投入精力太大,而且是平台需要才会存在,公司有需求才有意义
    全栈现在比起以前有个好处,合适的场景可供选择的工具更多。当然面向岗位编程,具备后端能力,不限制具体语言

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

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

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

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

    除非你想创业
    wocao666
        54
    wocao666  
       142 天前
    如果是后端,想走全栈,那我觉得只需要清楚前端的主要技术栈就完全够了
    什么 ES6 、vue3 、vite 、nodejs ,够自己一个人开发出一套完整的应用就行,前端技术够用就行
    深度的话还是继续专研后端吧
    记住:什么都会等于什么都会一点点,什么都会一点点那就等于什么都不会
    keymao
        55
    keymao  
       142 天前
    全栈不全栈的,其实说白了不就是用到什么就得会什么嘛,这块后端的人更有优势一些,会点前端更容易。
    whyrookie
        56
    whyrookie  
       142 天前
    @galikeoy 多谢回复,我目前学习路线也是后端用 Java
    RealJacob
        57
    RealJacob  
       142 天前
    @gogogo1203 用的不就是他的同构能力么,如果 server component 不能用那用 next 还有啥大的意义吗? next 的 server side 本质就是 node ,vercel 帮你提供的是更快更便捷的部署,以及自带的服务端日志等等能力。不代表他只能在 vercel 用啊,即便你自己启项目你也可以用 aws 的 amplify 以及其他类似服务去部署试试,除了要自己处理一些脚本文件和日志等等能力,功能上是不会有太大差别的。。。如果他真的只和 vercel 绑定这些核心能力,他不会是这么火的一个框架的。。。
    gogogo1203
        58
    gogogo1203  
       142 天前
    @RealJacob 我的问题是:除了 vercel 自带的环境,react server component 怎么划分和执行 server component. 我看了这么久,没有找到除了在 vercel 部署外的第二个解决方案。
    gogogo1203
        59
    gogogo1203  
       142 天前
    @RealJacob 我的主要疑惑: 我原来是 go 后台,react 通过 file server 部署。 现在如果用 server component, 是不是整个后台就要重写了。
    lujiaxing
        60
    lujiaxing  
       142 天前
    不算是什么好方向. 应该说软件开发 (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  
       142 天前
    至于 Node 全栈, 这个据我个人了解, 用 Node 全栈的公司不多.
    RealJacob
        62
    RealJacob  
       142 天前
    @gogogo1203 不太理解你这个问题的意思,跟 go 后台有什么关系?还是你指的 rsc 不是在 next 里用的?如果在 next 里用的话并不需要关注 how it works 这件事啊
    hoseawu
        63
    hoseawu  
    OP
       142 天前
    @horizon 小型自研公司的话还是很多的(但目前我们公司 nextjs 也只是用来写前端,并没有前后写在一起)
    hoseawu
        64
    hoseawu  
    OP
       142 天前
    @lujiaxing 感谢回复,帮助很大,(我所在的城市 ndoejs 还是挺多的)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2706 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 11:05 · PVG 19:05 · LAX 04:05 · JFK 07:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.