V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FutherAll
V2EX  ›  职场话题

聊一下客户端转服务端的前景怎么样?

  •  
  •   FutherAll · 2020-04-14 23:14:09 +08:00 · 6304 次点击
    这是一个创建于 1443 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从职业发展的角度看这样的决策,各位觉得如何?

    劣势可能是说放弃原有的工作经验和背景,从零开始
    优势是扩展技术面,以后发展空间更大
    48 条回复    2020-04-16 15:41:51 +08:00
    HongJay
        1
    HongJay  
       2020-04-14 23:24:29 +08:00
    属于放弃所有优势,建议转大前端
    FutherAll
        2
    FutherAll  
    OP
       2020-04-14 23:28:01 +08:00 via iPhone
    @HongJay 其实是有点疲于画 UI 了,转前端可能也差不多,不知道后端是什么情况
    sty
        3
    sty  
       2020-04-14 23:48:51 +08:00 via Android
    后端好找工作,都是初级要求的话,比客户端简单
    FutherAll
        4
    FutherAll  
    OP
       2020-04-14 23:57:16 +08:00 via iPhone
    @sty 为什么?我感觉客户端对基础要求的更低一点
    zhgg0
        5
    zhgg0  
       2020-04-14 23:58:24 +08:00
    5 年客户端开发转后端两年了,相比客户端,后端开发真简单,客户端各种乱七八糟的兼容问题太烦了。后端也更容易学,并且需要学的知识有范围,各种中间件原理都看一遍就行了;并且那些知识基本永不过时,数据结构基础好就学得很快。感觉这两年转后端的进步,比之前 5 年的进步还大。
    FutherAll
        6
    FutherAll  
    OP
       2020-04-15 00:06:21 +08:00 via iPhone
    @zhgg0 请教一下转之前后端的基础如何?
    我只是自己写过一些简单的 demo
    zhgg0
        7
    zhgg0  
       2020-04-15 01:05:09 +08:00
    @FutherAll 之前是安卓,转的 java 后端,转之前 JavaWeb demo 都没写过,转后直接和别的后端开发同样的需求,不会的就让别人稍微提点下。
    Mohanson
        8
    Mohanson  
       2020-04-15 01:15:02 +08:00 via Android
    能转的话可以考虑下转啦,后端对认识计算机体系结构会有帮助,相比框架,工具,后者更是圈子里的硬通货(跑在操作系统上的程序会比跑在浏览器的程序有更多机会了解操作系统和计算机本身
    RRRSSS
        9
    RRRSSS  
       2020-04-15 01:24:49 +08:00   ❤️ 1
    我就是前端转后端,其实主要是思路的转变,业务上干活也差不多。

    给你比较一下,我之前前端是 TypeScript,转后端 Java,什么类型、接口这些概念都能理解,上手很快。

    说了那么多,还是要看自己努力的程度的,比如我之前团队就是不用 TS,我就自己学,在自己的业务项目上用,才能理解静态类型语言的魅力。再比如之前团队有个自己维护后端项目是 Nodejs 写的,有人离职,没人接手,我就主动接下来了,然后顺便学习了 Docker 、Nginx 。突然感觉自己这几年还是挺励志的,哈哈。

    前端转后端,除了语言,最重要的是思路的转变,前端讲究还原度、体验,后端讲安全、qps 。

    说了这么多,要是感兴趣的话,投个简历呗,大家一起学习。

    邮箱:Z2FveWlib2JvYm9AeGlhb21pLmNvbQ==
    fookwood
        10
    fookwood  
       2020-04-15 01:25:50 +08:00
    我跟 @zhgg0 一样,五年安卓转的 Java 后端,因为兴趣和有项目需求转的,技术感觉还 OK 吧,没什么大的障碍,就是找工作的时候,没有什么优势,猎头也不太愿意推 Java 相关岗位
    RRRSSS
        11
    RRRSSS  
       2020-04-15 01:27:23 +08:00
    接上一条,还要考虑你自己的情况,比如年纪,比如是否愿意在技术上再花一些功夫,毕竟不是说转就转的。

    举个例子,你的目标是一座山峰,要是你现在的路就能上山顶,又何必走另一条路呢
    JayFang1993
        12
    JayFang1993  
       2020-04-15 09:31:21 +08:00
    你笑客户端画 UI 我笑服务端增删改查
    FutherAll
        13
    FutherAll  
    OP
       2020-04-15 09:44:09 +08:00 via iPhone
    @Mohanson 确实有这个想法,但是感觉转变有点大,所以比较犹豫
    FutherAll
        14
    FutherAll  
    OP
       2020-04-15 09:45:13 +08:00 via iPhone
    @RRRSSS 多谢老哥,先记下了,我准备在内部看看机会,没坑的话再到外面找
    FutherAll
        15
    FutherAll  
    OP
       2020-04-15 09:46:14 +08:00 via iPhone
    @JayFang1993 确实也有这个顾虑,不知道写起业务来是不是都是 crud
    dilu
        16
    dilu  
       2020-04-15 10:10:13 +08:00
    @FutherAll #15 不要怀疑,就是就是面试造航母,实际 CRUD
    jackchao7432
        17
    jackchao7432  
       2020-04-15 10:14:53 +08:00
    不建议,你在客户端能达到的高度,基本上也决定了你能在服务端能达到的高度。发展空间取决你自身素质,属于极少数人。
    weirdyu
        18
    weirdyu  
       2020-04-15 10:23:38 +08:00
    服务端发展空间明显高于客户端。
    TimeRain
        19
    TimeRain  
       2020-04-15 10:27:18 +08:00
    后端开发一点也不比前端移动端简单,建议不转,抓住自己优势
    FutherAll
        20
    FutherAll  
    OP
       2020-04-15 11:08:58 +08:00
    @jackchao7432 主要是想从职业发展的角度再看看,比如假如转了,以后再找工作可能是不是就有劣势了,毕竟相当于空白了一段工作时间
    FutherAll
        21
    FutherAll  
    OP
       2020-04-15 11:09:59 +08:00
    @dilu 看到好多人这么说。。。对比一下客户端呢,感觉客户端需要覆盖的繁琐的面太多了
    dilu
        22
    dilu  
       2020-04-15 11:35:10 +08:00
    @FutherAll #21 实际上,服务端要覆盖的东西更多 甚至还有会点前端
    rudy24
        23
    rudy24  
       2020-04-15 11:41:46 +08:00
    为什么不能回复?
    damngood
        24
    damngood  
       2020-04-15 11:43:35 +08:00
    这个开发难度。。。 作为一个常年两边都捣鼓的人来说, 都差不多, 这个看需求.

    有的需求难度在客户端, 有的需求难度在服务端.

    就拿我自己做过的项目来说:
    1. 之前做的一个 Apple 平台上的项目, 客户端实现字典, 而且支持模糊查询, 还有大量图文排版还要兼顾性能等等等, 这种项目客户端的难度也不小. 而且这还不算是高难度的.

    2. 之前做的一个棋牌服务, 大量的计算都在服务端. 为了让计算更快, 消耗更少的 cpu 和内存在算法和各种地方都要仔细考虑. 而且这也不算是高难度的.


    但是最关键的一点区别是, 做服务端的时候很少有人在后面指点说这个左边移一点那个右边移一点, 几乎没有.
    crackhopper
        25
    crackhopper  
       2020-04-15 11:53:33 +08:00
    爱折腾就试试。我全部都做过,目前看来最大的好处就是创业会比较需要;坏处就是比单独深入在某个领域的人来说,不够精通,找工作劣势。
    FutherAll
        26
    FutherAll  
    OP
       2020-04-15 12:00:07 +08:00
    再补充一下我的感觉:
    1. 客户端主要是平台依赖性比较高,日常开发基本是直接面向用户的体验,需要覆盖的繁琐面比较广。发展方向长远看一个是往架构方向,一个是往底层方向。
    2. 最近了解了一些服务端开发模式,好像大部分的开发业务可能都是在写 API 、调服务,包装解析数据等等,大的公司都有比较完善的中台服务,可能日常开发也很少能接触到比如网络、DB 、消息队列这种。但是从长远的角度看,是不是有往这些方向发展的可能
    BoomJoe
        27
    BoomJoe  
       2020-04-15 15:51:12 +08:00 via iPhone
    我之前也有类似的想法,主要是自己做客户端遇到瓶颈,业务上也没有深入的机会。团队也有客户端转后台的。后来学了一段时间 go 后面发现其实做前后台,都会有类似的情况。当然对比之下后台技术栈更广,也更稳定。大前端变化更快。
    而且习惯了客户端开发,一开始会感觉后端逼格更高的错觉😂。但是回头想一下客户端可以深挖的东西也很多,逆向安全,跨平台,热更,网络乃至性能优化。可以尝试去了解一下。
    对于这种情况其实我更倾向于回头再学一次基础,比如计算机系统,网络,算法数学结构,因为不管以后做什么都可以用到~
    这是我个人的见解,希望对楼主有用
    vivili
        28
    vivili  
       2020-04-15 16:01:00 +08:00
    并不能搞钱,并不能阻止你三十岁后退休。总结没啥卵用
    FutherAll
        29
    FutherAll  
    OP
       2020-04-15 16:53:59 +08:00
    @BoomJoe 多谢多谢是感觉客户端对于业务开发的需求比较大,复用度比较低。感觉
    FutherAll
        30
    FutherAll  
    OP
       2020-04-15 16:55:31 +08:00
    (上条按错了)
    @BoomJoe 多谢多谢,主要是感觉客户端对于业务开发的需求比较大,代码的复用度比较低。
    转到后端的话不知道会不会好点
    FutherAll
        31
    FutherAll  
    OP
       2020-04-15 16:56:26 +08:00
    @vivili 想再折腾一下,再过两年可能就真没机会了
    BoomJoe
        32
    BoomJoe  
       2020-04-15 19:41:21 +08:00
    @FutherAll 我理解的话,不要仅仅只关注到代码语言层面上,很多解决方案或者抽象思想是殊途同归的,举个例子像大前端的代码架构设计其实思想都是通用的,不管 MVC, MVVM, MVP 在大前端基本思想都是一样,都是模块解耦,提高复用,数据驱动 UI,只不过可能平台不一样处理细节有差异。17-18 年已经开始鼓吹 iOS 没人要了,但是看看目前 iOS 的招聘需求还是很缺的。
    你说的代码在后台复用高其实我觉得也还好,特别是微服务或者说容器流行起来,我个人理解开发语言对后台开发的影响更少了,甚至我也遇到过不同服务用不同语言开发。但是都离不开对基础的理解,而且多数目的都是为了高可用高并发的目标推进,根据业务进行不同的架构设计,对数据库、消息队列、rpc 、负载均衡等进行不同选型。如果一般的业务开发,其实也是各种调包
    BoomJoe
        33
    BoomJoe  
       2020-04-15 19:42:35 +08:00
    @FutherAll 另外客户端复用度比较低这个,其实你可以看看 google 的一些项目,比如 chromium,也是一个客户端,但是也是差不多兼容全平台了
    FutherAll
        34
    FutherAll  
    OP
       2020-04-15 20:31:44 +08:00 via iPhone
    @BoomJoe 但是感觉国内公司都是敏捷开发,堆需求,真的就是大部分时间都在调各种复杂的交互。
    revalue
        35
    revalue  
       2020-04-15 20:38:16 +08:00
    @BoomJoe 这才是复用率低,每个平台都要兼容代码。平台越多越累
    Sivan
        36
    Sivan  
       2020-04-15 20:43:16 +08:00
    其实都属于大前端范围,语言学会后,经验可以复用。大前端范围空间也很广。
    转后端才是之前的经验几乎白费,但是拓宽横向知识,在纵向积累达到一定深度前可能只在小团队做技术管理岗会有优势。
    ArJun
        37
    ArJun  
       2020-04-15 20:52:53 +08:00
    如果你在学校的基础扎实,mysql 和数据结构算法基础还可以推荐转,转的成本也低
    但是你如果没有一点后端基础,那还是先慢慢学吧,不然比较坑了
    FutherAll
        38
    FutherAll  
    OP
       2020-04-15 20:55:53 +08:00 via iPhone
    @Sivan 有这个顾虑,而且接触到的一些技术部门 leader 都是客户端出身的,可能是样本量比较小,或者是客户端离产品和产品形态更接近
    FutherAll
        39
    FutherAll  
    OP
       2020-04-15 20:57:09 +08:00 via iPhone
    @ArJun 基础知识还好,但是 mysql 、mq 这些基本没用过,如果日常开发入手对这些依赖大吗?感觉好像是偏中台一点的
    ArJun
        40
    ArJun  
       2020-04-15 21:17:55 +08:00
    @FutherAll crud 基础都不会,你想写 bug 吗··
    还有后端对于整体架构要求挺多的,虽然用不上,但是基本会问微服务,分库分表,mysql 性能优化,大数据处理等等..
    ArJun
        41
    ArJun  
       2020-04-15 21:19:26 +08:00
    数据库和数据结构算法是后台的根基,掌握的成熟程度严重影响你的未来薪资,
    当然也有吹牛成功个别的特殊案例
    newtype0092
        42
    newtype0092  
       2020-04-15 21:28:25 +08:00
    转了 3 年了,不用画 UI 、不用配适各种机型、不用处理 Android 和 iOS 各种版本差异问题是真的爽。。。。
    后端很多东西只要你有精力可以看到很深的地方,客户端底层很多情况下接近黑盒了,厂商驱动、各家魔改操作系统、各种流氓与反流氓操作,真的难受。
    总的来说,如果你很有想法,喜欢 show 自己的点子,客户端(前端)能让你快速搞出好玩好用的东西,如果你不太有自己的想法,只是想钻一下技术,那后端肯定收益更高更长远。
    FutherAll
        43
    FutherAll  
    OP
       2020-04-15 21:33:14 +08:00 via iPhone
    @ArJun 了解了,最近好好补一补
    FutherAll
        44
    FutherAll  
    OP
       2020-04-15 21:33:56 +08:00 via iPhone
    @newtype0092 几年工作经验转的,出来面试的话感觉如何
    mars0prince
        45
    mars0prince  
       2020-04-16 10:20:32 +08:00
    不推荐,程序员职业生涯本来就很短,服务端后端到最后都是拼加班,要是刚工作一两年还可以考虑,三年以上就没意义了
    newtype0092
        46
    newtype0092  
       2020-04-16 10:26:17 +08:00
    @FutherAll 也 3 年左右吧,内部转的。
    语言应该不是问题,本来做客户端什么 java 、C++、C#、Lua 之类的都写过,换成后端的 Java 、PHP 、GO 、Python 之类也是大同小异,主要看下语言特殊特性就行。
    计算机网络和数据库是很重要的两块,我以计科专业基础还算扎实,这块没学过的话一定要好好补一下,不然以后很难受,基础有了很快熟悉一下 Nginx 、MySQL 、Redis 之类的就能上手。
    Linux 应该要用的 6 一些,毕竟一直和服务器打交道,建议能上 mac 上 mac,没条件就格了 windows 直接装 Linux 日常用,开始恶心点但很快就习惯了。
    newtype0092
        47
    newtype0092  
       2020-04-16 10:30:31 +08:00
    @mars0prince 这个倒是,客户端你再紧急的需求提审了就不能有什么大动作了,热更新现在也各种被针对,不会有太紧急的情况。
    后端线上出了问题真的就是救火了,哪怕休假的时候,真的出问题了得想一切办法处理,不然后果很严重。。。
    mars0prince
        48
    mars0prince  
       2020-04-16 15:41:51 +08:00
    @newtype0092 我打错了,是客户端后端,我的意识程序员到最后就是拼 PPT 能力,或者拼加班能力,或者全拼,和你从事前端、后端、客户端,关系不是很大
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3452 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:10 · PVG 19:10 · LAX 04:10 · JFK 07:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.