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

后端实习中,想转前端,有很多问题想请教(长)

  •  1
     
  •   freedzs · 2023-02-23 22:57:27 +08:00 · 2870 次点击
    这是一个创建于 668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,小弟是在校生,现在在某大厂后端实习,时间不长,但是体验了后端的工作之后现在很想转前端,下面是我的一些想法和问题,希望各位前辈能不吝指导。第一次发帖,内容比较多且杂,随便挑一个部分谈一谈您的看法对我也是莫大的帮助,非常感谢!

    对后端和前端的理解

    经过一小段时间的实习,我个人对后端和前端理解是:“后端重业务,前端重技术”。这句话肯定有失偏颇,但是从我的观察来看,后端的工程师普遍不是很在乎你个人写的代码、思想等等(我干的活都是中台业务,搬砖那种,不涉及到很底层的东西),而是主要关注你是不是把业务做好了,这也就要求你必须对好几个部门在干什么都比较清楚,同时也对他们的领域有一定程度的学习(然而面试的时候问的全是技术本身的细节,或者八股)。而前端虽然也是需求驱动开发,但是实现方式比较多样化,也有更多可以自己操作的空间(我们组十几个后端,只有一个前端),开会的时候也不用去理解他们都在谈论什么业务,反正把接口跑通了就 ok 。我个人对公司在干什么业务以及其架构什么的非常不感兴趣,可能和性格有关吧,更喜欢一些小而美的东西,这一点上我觉得前端对我来说更有意思一些。

    另外本人的业余爱好基本都是艺术相关的,前端的设计属性可能也是个加分项(虽然我高度怀疑这一点,实际业务中大概就是某个同事给你指指点点设计一些丑爆了的页面?)

    学习过程

    由于之前看网上的言论都是“后端钱多、后端上限高、后端门槛高”等等(这个之后详说),所以一开始就学的后端。准备项目的时候由于都是一手操办,每个地方干了什么都非常清楚,也觉得很有逻辑很有意思,所以一直没怀疑过这个选择。但是在公司内就很不一样了,在网上看到过一个描述觉得很贴切——“屎山拉屎”,甚至不知道是拉在了尖上还是边上。

    不想在屎山拉屎也可以,要么做底层那些有技术含量的,但本人对自己智商十分了解,目前的业务算是熟练了就能会的东西,再难了就像高数的证明题一样,不会就是不会;要么混时间长了爬到管理岗,但可能是学生思维吧,我观察公司那些领导,成天就是开会下指令,偶尔讲个话,我觉得工作全干这种事也挺无趣的。

    最近在下班时间学习 React ,感觉难度对我来说非常合适,像是回到了舒适区一样,另外不管开发的是什么内容,能看到自己写的东西就感觉要舒服一点,好歹我能知道屎山被我拉完以后变成啥样了。

    网络看法

    上面提到,网上很流行的说法就是“后端钱多、上限高、门槛高、更容易晋升”,钱多不多我不太清楚;上限虽然高,但是我觉得以我的智商大概前端的上限也是摸不到的;门槛确实高,但是如果前端学得足够好,也应该能建立自己的技术壁垒吧;后端确实可以向着 CTO 发展,但是我个人也没有太高的追求,以后如果能干技术岗然后 WLB 就非常满足了。

    技术栈变化

    很多人会说前端技术栈变化太快,淘汰率高。找这家实习之前我一直自学的 Go 语言,结果进来后现学 Java ,痛苦异常。我之前也接触过 React 和 Svelte 框架,个人感觉这两个框架之间的差别远没有 Go 和 Java 的区别大,另外后端的技术实在是过多了,Java 、Spring 、数据库、缓存、MQ 、Spark 、Hadoop ,这些感觉基本是每个互联网大厂的标配了,还得和算法组那边对接,感觉等把这些都掌握的差不多了,前端那边也轮了好几遍了,我可能还宁愿专心钻研 JavaScript...

    市场需求

    这一点确实不太清楚,以后还准备出国工作,就更不清楚了,希望有前辈能提供信息。


    大概先写到这里,由于以上基本都是自己的脑补想法,所以实际也不知道是不是真的应该迈出这一步。胡言乱语非常抱歉,提前感谢每一条回复!

    25 条回复    2023-02-24 22:39:40 +08:00
    bjzhush
        1
    bjzhush  
       2023-02-23 23:21:00 +08:00 via iPad   ❤️ 1
    可以先不在工作上转,自己写写前端试试看,弄些练手的玩意,看看是不是自己想的那样。
    另外确定自己不是为了离开一个围城而进了下一个。
    前后端寿命跟项目相关,屎山一样都有,只不过前端大部分情况下以页面为单位,可能看起来不像后端长度和复杂度比较高。
    freedzs
        2
    freedzs  
    OP
       2023-02-23 23:40:28 +08:00
    @bjzhush 感谢回复

    > 离开一个围城而进了下一个

    这也确实是我担心的😂,从现在到暑假前应该会做几个项目,打算暑期实习找前端试试,实习翻车了总比正式工作了翻车好哈哈
    yl20181003
        3
    yl20181003  
       2023-02-23 23:45:54 +08:00 via Android
    除非感兴趣,不然别来前端,最近不是都说前端已死了
    momocraft
        4
    momocraft  
       2023-02-23 23:51:45 +08:00
    前端一样是屎山拉屎 屎山爆时抛弃成本不会比后端更高
    freedzs
        5
    freedzs  
    OP
       2023-02-24 00:01:25 +08:00
    @yl20181003 肯定是比后端更感兴趣。不过要真说“兴趣”的话也没多少,都是为了赚钱...
    其实死不死的感觉前后端都差不多,SAAS 再发展几年感觉后端很多低端岗位都可以拜拜了
    rimworld
        6
    rimworld  
       2023-02-24 00:07:06 +08:00   ❤️ 1
    谁能说得清以后呢,想做就去做。自己分析好选择的成本和代价。如果失败了的代价能接受,那就干。年轻人就是得撞破南墙了,就老实了。也可能一头就莽成功了。
    freedzs
        7
    freedzs  
    OP
       2023-02-24 00:14:48 +08:00 via iPhone
    @rimworld 确实如此,感谢!
    lesismal
        8
    lesismal  
       2023-02-24 00:44:01 +08:00   ❤️ 2
    > “后端重业务,前端重技术”

    既然楼主这样认为,那么后端留给其他人确实更好些。
    paledream
        9
    paledream  
       2023-02-24 01:20:16 +08:00   ❤️ 1
    1. 先做好本职工作,业余横向拓展
    2. 这两年就业困难,优先找抓住实习转正机会
    3. "后端重业务,前端重技术" X
    "业务开发都重业务,infra 更重技术" √
    岗位是公司提供的,公司靠业务赚钱;懂业务,对业务有见解的人更会被看重,否则只是纯纯资源,容易被替代。
    个人觉得工作中,技术水平在非顶尖的情况下(够用),软实力更被看重,是制胜利器。
    4. 列举前端的一些困境,如:代码复用低,重复劳动多;处理各类兼容性和线上疑难杂症(多出于移动端);生态多样而复杂;处于业务下游,对业务的参与关联度低 => 业务价值难以证明,就需要卷其他的
    5. 「求其上者得其中,求其中者得其下」

    仅为个人见解,不对此负责
    MrHyde
        10
    MrHyde  
       2023-02-24 01:30:36 +08:00   ❤️ 1
    前端天花板低

    我觉得你考虑一下今后 10 年的发展
    ccagml
        11
    ccagml  
       2023-02-24 08:47:38 +08:00 via Android   ❤️ 1
    我也觉得前端好,你后端实习可能还没有 On-Call ,半夜生产环境故障电话被打爆,很酸爽
    freedzs
        12
    freedzs  
    OP
       2023-02-24 09:02:27 +08:00 via iPhone
    @paledream 非常感谢!我会好好考虑这几点
    freedzs
        13
    freedzs  
    OP
       2023-02-24 09:04:03 +08:00 via iPhone
    @ccagml 组里有几位后端前辈说之前业务上线的时候经常通宵😂
    freedzs
        14
    freedzs  
    OP
       2023-02-24 09:15:28 +08:00 via iPhone
    @paledream 仔细想了一下,我觉得您说的这几点都非常有道理,尤其是业务方面的看法,打破了我之前的一些幻想,再次表示感谢!
    Loserzhu
        15
    Loserzhu  
       2023-02-24 10:11:34 +08:00
    近 20 年来,云原生、大数据、AI 、VR/AR 、元宇宙等,哪一波技术浪潮跟前端有关系的?
    wangjiang
        16
    wangjiang  
       2023-02-24 11:07:33 +08:00   ❤️ 1
    1. 前端所见即所得,对比后端来说正反馈多一些,这可能也是你认为更喜欢前端的原因,如果你能从后端开发中获得足够的正反馈,热情应该会多一些。
    2. 技术和业务的侧重取决于你所在的岗位和公司
    3. 前端技术栈重点还是 css js html ,掌握这三要素其他框架工具什么的也只是辅助学起来也很快,除此之外的 webassembly webGL nodejs 则为前端开发带来了更多的可能,需要你对其他领域有所涉猎,个人认为不要把自己限定在后端或者前端,岗位限定了你,但是你不可以限定你自己,只要是有兴趣就可以去尝试,但是单纯只是为了找工作的话,自己觉得能干的下去就行。
    carytseng
        17
    carytseng  
       2023-02-24 11:17:17 +08:00 via iPhone   ❤️ 1
    我搞后端 6 年了,从业务或者上层的角度看,不管任何技术,都是工具,为了业务而存在。那么跳出技术看前端,如果不是什么动效之类的,都是数据展示,从后端那数据装载,至于交互上的就是锦上添花,我觉得你更感兴趣的是设计方面的东西而不是前端这门技术
    freedzs
        18
    freedzs  
    OP
       2023-02-24 11:51:48 +08:00 via iPhone
    @wangjiang 感谢建议!很有帮助
    freedzs
        19
    freedzs  
    OP
       2023-02-24 11:52:37 +08:00 via iPhone
    @carytseng 可能确实是这样
    abelmakihara
        20
    abelmakihara  
       2023-02-24 17:21:37 +08:00 via iPhone   ❤️ 1
    冷知识 前端是开发流程的底端
    高度依赖于后端给接口 ui 出图 测试出问题第一个找你 ui 还原度严格点随便能改两天
    傻了才转前端 自己学学得了
    就跟新手入门 c#其实也很好 宇宙第一 ide 加所见即所得 也没几个人会去推荐 c#的 不能脱离大环境谈这些
    abelmakihara
        21
    abelmakihara  
       2023-02-24 17:23:38 +08:00 via iPhone
    另外后端的技术实在是过多了
    Emm 这不正是护城河高吗 这可是好事
    GKD
        22
    GKD  
       2023-02-24 18:55:55 +08:00
    前端键盘撒把米鸡都能写,建议后端,空闲学习下前端。
    freedzs
        23
    freedzs  
    OP
       2023-02-24 18:58:57 +08:00 via iPhone
    @abelmakihara 也有道理.. 不过我们组那个前端从来没人找他麻烦,可能是中台业务前端能用就行
    lcwylxx921
        24
    lcwylxx921  
       2023-02-24 20:53:50 +08:00   ❤️ 1
    这个帖子下的一些回复充分验证了垃圾后端只能看到与自己同水平的垃圾前端,从而觉得前端的技术一无是处,却完全意识不到这只是因为自己是井底之蛙而已。
    话说回来,作为同样对业务不感兴趣,只想做一些比较纯粹的技术的人,给楼主一些我的看法与建议。
    1. 前端某种程度上确实可以让你脱离具体的业务,大部分公司里负责将设计稿转成代码的前端并不怎么需要理解业务,只需要画页面调接口填数据即可。但这样的前端技术含量较低,重复劳动多,只是从业务搬砖变成了 UI 层面的搬砖,成长性还远不如业务搬砖,所以不建议。
    2. 想要脱离业务,又想做有意思且成长性高的工作,后端可以往 infra 靠,做云原生,数据库等基础设施。前端可以做一些通用且复杂度高的基于 UI 的 SaaS ,如富文本编辑器,Workflow UI ,基于 Web 的设计工具等等。但这需要你能找到对口的公司。
    3. 不要把自己限制在某一个端,而是从软件工程的角度思考问题。事实上很多软件领域的问题并不是被限定在某一个端的,而是需要从更底层的视角,如算法,数据结构,设计模式,编程范式,工程架构等等维度去找到解决方案,这部分属于属于程序员的自我修养了。与哪个端没关系,但如果你想脱离业务的话,这部分是必修课,也是你的竞争力。
    4. 想要成为具备全栈能力的开发者,学习前端的技术栈相对后端更有优势一些。TS 弥补了 JS 在大型项目上的不足,Node 则填补了 JS/TS 技术栈的后端开发能力。一个项目的前后端代码可以达到相通甚至复用。
    5. 如果不得不接触业务的话,试着从业务中抽象出通用的解决方案或者能力。
    freedzs
        25
    freedzs  
    OP
       2023-02-24 22:39:40 +08:00
    @lcwylxx921 感谢回复!

    > 不要把自己限制在某一个端,而是从软件工程的角度思考问题

    从长远的角度来看非常有道理。最近确实是被眼前的活给烦住了,这么一想只要能保持进步(难,哈哈)在哪个端可能也没有想象中那么重要。感谢建议!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   981 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 18:57 · PVG 02:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.