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

看着市面上大量 Go 岗,如何调整心态?

  •  2
     
  •   ccde8259 · 2021-04-24 00:59:31 +08:00 via iPhone · 11167 次点击
    这是一个创建于 1340 天前的主题,其中的信息可能已经有所发展或是发生改变。
    其实是一种典型的吃着碗里的看着锅里的心态问题。吃着 Java 的饭的童鞋看着大量 Go 岗心里会不会抖一下?反过来 Go 选手们怎么看待 Java 岗?类似的情况在前端就是,Vue 选手怎么看 React 岗,React 选手怎么看 Vue 岗?这种技术栈焦虑可能导致的最坏的情况就是两个都学两个都菜,哪个都去不了……
    第 1 条附言  ·  2021-04-24 12:35:49 +08:00
    Review 一下大家的观点
    语言工具论者认为在某些角度上不过是换个姿势再来一次。但反对者认为语言范式夹带着思维方式,不得不裹挟着接受。范式的数量远少于语言数量,所以掌握范式比起掌握语言更加有意义。抑或将两者解耦,既然大家都是 OOP,那就写 Java 风格的 Go 代码,就没有什么切换成本……当然还有大神全都要。
    74 条回复    2021-04-26 15:03:13 +08:00
    ZRS
        1
    ZRS  
       2021-04-24 01:19:35 +08:00
    语言就是工具
    rpish
        2
    rpish  
       2021-04-24 01:25:12 +08:00
    一个不成熟的观点:市面上的 Go 岗和 Java 高级开发岗基本重合,只是换了个工具罢了.
    生态关系,初级开发还是选 JAVA,中高级才需要考虑扩展下 Go 的知识,不过都这水平了,学习新技术应该是很自然的吧.
    xstmjh
        3
    xstmjh  
       2021-04-24 01:33:31 +08:00
    2L 说的没错,java 经常写着写着要去调 k8s 的东西,就 go 方便了
    interim
        4
    interim  
       2021-04-24 01:34:40 +08:00   ❤️ 29
    @ZRS 语言代表了思维方式,而不仅仅是工具。天天拿这句话说没意思。
    dcoder
        5
    dcoder  
       2021-04-24 01:35:44 +08:00
    看自己已有的积累, 如果新入行或者 Java 经验不多,当然首选 Go.
    Go 学起来快, 历史包袱小, 新的公司更偏好. 学习性价比和收益更高.
    shakukansp
        6
    shakukansp  
       2021-04-24 01:43:45 +08:00
    Vue 和 react 真差不多,信我
    123jiayue
        7
    123jiayue  
       2021-04-24 01:47:30 +08:00 via iPhone   ❤️ 2
    话说我在这里老是看到不少说 go 没啥岗位 你又说很多岗位😄
    ccde8259
        8
    ccde8259  
    OP
       2021-04-24 01:54:02 +08:00 via iPhone
    @123jiayue 人总是会高估自己拿不到的,低估自己拥有的……所以这种多也是一种心理上的多而不是一种客观上的多……
    dayeye2006199
        9
    dayeye2006199  
       2021-04-24 04:01:13 +08:00   ❤️ 2
    这个观察多半是错觉,数量肯定还是 java 不成比例的多。
    但如果真是去拿 go 搞 crud,这个和 java 搞有啥体验上的本质区别?
    如果是拿 go 去搞后端基础件开发,补的东西就不光是学个语言这么简单了,都算换了一个方向工作了。
    LxExExl
        10
    LxExExl  
       2021-04-24 04:23:40 +08:00
    技术栈有啥焦虑的...技术都是通用的,思想也是类似的,想跳槽自己买本书看下语法不就行了吗?
    darklowly
        11
    darklowly  
       2021-04-24 05:50:34 +08:00
    @LxExExl 现在这年代,一本出想转一个方向,不太可能哦。
    yzbythesea
        12
    yzbythesea  
       2021-04-24 06:03:20 +08:00
    我去年从 Java 后端跳槽去做 Go 后端,转型大概 1 个月就能流利出活了。个人觉得语言真的就只是个工具,没必要过度焦虑。
    ericgui
        13
    ericgui  
       2021-04-24 06:06:45 +08:00 via iPhone
    @yzbythesea 前端咋样?
    musi
        14
    musi  
       2021-04-24 07:37:22 +08:00
    Vue 选手怎么看 React 岗和 Java 的童鞋看 Go 岗还是有区别的,vue 和 react 用的语言是一样的,使用场景也是一样的,对应到后端的场景应该是 django 和 flask 的关系。作为公司层面选型技术栈要考虑多方面的问题,比如对目前团队的友好程度,比如招人情况等等。因为技术是发展的,所以语言也发展也是正常情况,不必过多焦虑。
    musi
        15
    musi  
       2021-04-24 07:41:47 +08:00   ❤️ 2
    还有,我觉得学习得有自己的沉淀。上面说到语言也会快速发展,但等到我们年龄大了之后呢?精力和脑力都跟不上年轻一代了,那是不是就被优化掉了?
    我觉得最主要的还是分析问题和解决问题的能力,理论知识看看书和文档基本上都能学会,无非是想不想学和有没有精力去学,但是分析问题和解决问题的能力是需要自己一步一步去积累的
    musi
        16
    musi  
       2021-04-24 07:42:55 +08:00
    上面只是工作还没满一年的菜鸟的一些愚见,有不对的地方欢迎指正
    kunkunzhang
        17
    kunkunzhang  
       2021-04-24 07:47:11 +08:00
    @ZRS 铁器和火这些工具的使用极大地促进了人类文明,工具不重要吗?
    charlie21
        18
    charlie21  
       2021-04-24 08:15:03 +08:00 via iPhone
    思维方式代表了思维方式
    很可惜,你必须把思维方式和编程语言解耦,否则别干了
    Cbdy
        19
    Cbdy  
       2021-04-24 08:16:18 +08:00 via Android
    小孩才做选择
    hello2060
        20
    hello2060  
       2021-04-24 08:47:46 +08:00
    @kunkunzhang 铁器是重要啊,那你用铁制品的时候关心是 java 语言制造的铁器还是 go 语言制造的铁器吗?
    calvinHxx
        21
    calvinHxx  
       2021-04-24 09:01:25 +08:00
    基础好转语言不是随便转嘛。3 天过完基础,一星期上手,一个月就差不多可以独立开发项目了,oop 设计模式的思维通用的,db 设计通用的,中间件也是通用的,后台框架思维也是通用的。
    cosmtrek
        22
    cosmtrek  
       2021-04-24 09:33:58 +08:00
    语言,一方面是自己感兴趣学,一方面是跟着项目走。没必要为了学而学。。。
    domodomo
        23
    domodomo  
       2021-04-24 09:48:47 +08:00
    编程语言就是画笔
    项目就是作品
    作品画的好不好全看画家的思想和基本功,而不是用什么笔
    binux
        24
    binux  
       2021-04-24 10:12:09 +08:00 via Android
    @chnyuwen 可以多用几种编程语言开阔一下思维。
    yazinnnn
        25
    yazinnnn  
       2021-04-24 10:16:41 +08:00
    打不过就加入.jpg
    abcbuzhiming
        26
    abcbuzhiming  
       2021-04-24 10:22:18 +08:00
    @chnyuwen 语言代表了思维方式?这话不对吧,应该是语言的范式代表了思维方式,问题是语言范式就那几种,过程范式,对象范式,函数范式。再特殊一点还有类似 SQL 的这种 4GL 。

    语言不代表思维方式,语言的范式代表了思维方式,但是语言的范式的种类远没有语言本身多。同样范式的高级语言的差别没有你们想的那么大
    JerryCha
        27
    JerryCha  
       2021-04-24 10:53:10 +08:00
    菜逼才做选择,标准前端 all in ARV
    ericls
        28
    ericls  
       2021-04-24 11:05:53 +08:00
    @chnyuwen 你这句话只适用于那些只用一种语言而拒绝学习别的语言的人吧。。。
    zjsxwc
        29
    zjsxwc  
       2021-04-24 11:22:17 +08:00
    单纯说 java 其实包括了安卓和服务端两端的岗位数目,而安卓和服务端的 java 岗位也是不同的。
    paoqi2048
        30
    paoqi2048  
       2021-04-24 12:05:03 +08:00
    C++就默默地看着你们(
    GrayXu
        31
    GrayXu  
       2021-04-24 12:32:43 +08:00
    airplayxcom
        32
    airplayxcom  
       2021-04-24 13:04:18 +08:00 via iPhone
    这么多年了,我还真不相信还有公司会招 java 新手。
    yhxx
        33
    yhxx  
       2021-04-24 13:29:43 +08:00
    Java 和 Go 不知道,Vue 和 React 还是很熟的,根本不存在怎么看的说法,我们招人也不会因为你只会 Vue 不会 React 就连个面试机会都不给,熟悉一个,学另一个看几个小时文档就好了
    tourist2018
        34
    tourist2018  
       2021-04-24 13:46:39 +08:00
    @chnyuwen #4 还真就是工具
    而且我不知道楼主为啥有这种想法 Go 岗位多少和你 Java 有啥关系么?
    ikaros
        35
    ikaros  
       2021-04-24 15:48:07 +08:00
    成都没啥 go 岗位 倒是 java 很多
    lixon166
        36
    lixon166  
       2021-04-24 16:14:01 +08:00
    21 天精通 xxx 定律不会变的
    jessun1990
        37
    jessun1990  
       2021-04-24 16:17:39 +08:00
    Go 学习成本很低的。我自学了 2 个月左右就开始投简历了。

    要是 LZ 不嫌弃,现在开始看 Rust,我赌三年之后 Rust 岗位也会多起来。
    drackzy
        38
    drackzy  
       2021-04-24 17:06:34 +08:00
    已经 java 不建议转 go 了,go 转 java 反着转不好转。实际 go 职位没有那么多。
    yanluya
        39
    yanluya  
       2021-04-24 17:22:41 +08:00
    PHP 转 go 中。坚持就是胜利,没有什么做不到的
    interim
        40
    interim  
       2021-04-24 17:45:54 +08:00
    @tourist2018 杠精你好。请问我的回复中有提到 Java ?我又是回复楼主了?真的够杠的。
    agdhole
        41
    agdhole  
       2021-04-24 17:47:50 +08:00
    收了很多封内推信,总结出来一个全世界制霸的方向
    前端,typescript,react (
    lewis89
        42
    lewis89  
       2021-04-24 17:48:07 +08:00 via iPhone
    @rpish 拿 Java 写了这么多年的事物脚本,连 oop 长啥样都忘光了
    raaaaaar
        43
    raaaaaar  
       2021-04-24 17:59:06 +08:00 via Android
    的确,两个语言要说思维方式的不同其实就是泛式的区别,一个过程一个对象,区别还是挺大的。

    既然这两个比较,那就默认后端岗位了,说实在的,语言上真的没什么好说的,无非是自己的工具链,语法糖这些的积累,但是要转真的不难,重点还是那几个基础知识,网络,操作系统,数据库,这些东西才是重要的,不只是说转语言,要把一个语言 /后端学好,也是学这些东西。

    所以说结论就是,重心放基础上,语言都好说。
    OHyn
        44
    OHyn  
       2021-04-24 18:45:30 +08:00
    前端来说一下,我是先 Vue 后 React 。如果是现成的项目,参与进来继续开发,那看几小时文档就可以了。
    前端这边,困难的地方在项目前期---拿到需求,捋清楚逻辑关系,后面就顺水推舟了。
    还有一个是搞基建,这个和 Vue or React 就没太大关系了。
    tourist2018
        45
    tourist2018  
       2021-04-24 18:47:25 +08:00
    @chnyuwen #40 。。。这就杠了,是不是不同意你想法的都是杠精了?你以后别混论坛了
    James369
        46
    James369  
       2021-04-24 19:10:11 +08:00   ❤️ 1
    我反对语言工具论者,有点过于轻挑。虽然一门语言可以在半个月甚至一周之内掌握。但是往小的说,相关配套的工具你得熟悉,全然不同的类库你得掌握,如果语言有新的特性,还会产生新的设计范式。往大的说,就是一个生态和阵营的切换,这些都是逝去的沉没成本。
    hello2060
        47
    hello2060  
       2021-04-24 19:20:47 +08:00 via iPhone
    @James369 所以 Google Facebook Amazon 招人从不要求语言背景是因为他们有钱,付得起这沉没成本?
    ravenl
        48
    ravenl  
       2021-04-24 19:30:29 +08:00
    语言是材料
    interim
        49
    interim  
       2021-04-24 19:48:55 +08:00 via Android
    @tourist2018 请问你是阅读理解有问题还是怎么样?
    Akiya
        50
    Akiya  
       2021-04-24 20:23:21 +08:00 via iPhone
    之前写 C#的,用 go 写 oo 难受的一批,但是没办法,为了钱还是得转
    wupher
        51
    wupher  
       2021-04-24 20:47:07 +08:00
    两者都写,周边不少也两者都会,尤其是 PHP 背景工程师。

    - 旧项目除非别人同意,原来是什么还是什么,这个没办法。
    - 新的业务类型项目我尽量使用 Kotlin,这是当前使用最顺手,灵活的 OO 语言。语法糖也多,可以完全利用 Java 栈的优势。不同意,比如有队友,就用 groovy/Java 了。
    - 中间件或公用服务类尽量使用 golang,其实并不把它当 OO,还是觉得它就是 FP + struct(data)
    - k8s 相关就不用选择了
    - 希望有机会尝试 rust
    neoblackcap
        52
    neoblackcap  
       2021-04-24 20:49:23 +08:00
    打不赢就加入他们
    lx3608
        53
    lx3608  
       2021-04-24 22:01:47 +08:00   ❤️ 1
    go 做复杂业务的 CURD 不如 java,毕竟面向对象系统很不完善;但是做中间件相关 go 就优势很大了。
    duhb
        54
    duhb  
       2021-04-24 22:40:50 +08:00 via iPhone
    @ZRS 天天都是这句话,有意思?工具也有"好坏"之分。就比如能做开发的 IDE 多的是,用记事本盲写代码也行啊,你咋不用,有差别就是有差别,死犟死犟的干嘛!
    yzbythesea
        55
    yzbythesea  
       2021-04-25 03:56:28 +08:00
    @ericgui 前端我做的很少。没啥经验。
    TypeError
        56
    TypeError  
       2021-04-25 06:40:00 +08:00 via Android
    面向工资编程,
    我主要写 go,Java 写得少,
    因为 go 复杂过时的知识很少,容易上手,但精通还是得看计算机基础是不是扎实
    socketpeng
        57
    socketpeng  
       2021-04-25 06:47:14 +08:00
    @paoqi2048 U1S1 我作为一个初级 C++开发。。。看到 GO 是真的慌
    tianyamomo
        58
    tianyamomo  
       2021-04-25 08:33:45 +08:00
    c++选手稳如老狗
    wunsch0106
        59
    wunsch0106  
       2021-04-25 08:41:25 +08:00
    都是打工人, 面向企业编程罢了,什么给的多什么方向发展好就转什么
    sagaxu
        60
    sagaxu  
       2021-04-25 09:31:13 +08:00 via Android
    Go 岗位有 Java 的 1/3 吗?
    rickiey
        61
    rickiey  
       2021-04-25 09:49:44 +08:00
    @sagaxu 但是 Java 太卷了,go 看着情况估计几年后和 Java 也一样
    amwyyyy
        62
    amwyyyy  
       2021-04-25 09:52:31 +08:00
    我已经在学 go 了,有机会就平滑切换
    luozhiyun
        63
    luozhiyun  
       2021-04-25 09:55:18 +08:00
    有啥好慌的,学习呗,我原来也是做了两年多的 java,然后转到 go 之后开始研究 go,到目前为止也写了有十几篇 go 语言相关文章,感觉也没这么难吧。
    想学习 go 的话,可以参考一下我的博客,地址是: https://www.luozhiyun.com/archives/tag/go
    MinQ
        64
    MinQ  
       2021-04-25 10:06:53 +08:00
    @rickiey 总是会有新的东西出现,刚出来的时候大家也都不会
    wangritian
        65
    wangritian  
       2021-04-25 10:34:47 +08:00
    语言是否代表思维方式,取决于你学习语言时有没有做更深层的思考
    如果你对操作系统、线程协程、网络协议、数据库原理、web 框架、各种中间件等等都有了解,语言真的只是工具
    abersheeran
        66
    abersheeran  
       2021-04-25 11:36:27 +08:00
    编程语言对于程序员来说
    就像是乐器对于音乐家的意义

    虽然乐理皆通
    但总有最爱的或最擅长的一样乐器

    至于 Vue 和 React
    只能算是某种乐器的两个曲式模板

    俗话说的好
    不会写诗的程序员
    就不是一个好音乐家
    yaphets666
        67
    yaphets666  
       2021-04-25 12:32:40 +08:00
    vue 和 react 是框架 java 和 go 是语言 不是一回事
    h82258652
        68
    h82258652  
       2021-04-25 12:39:06 +08:00
    然后过几年楼主又可以发一条:
    看着市面上大量 Rust 岗,如何调整心态?

    学多门不如精一门,当然如果这一门精了,那开阔视野学点别的完全没问题。
    solider245
        69
    solider245  
       2021-04-25 16:58:31 +08:00
    这不就和练英雄一样?版本强势英雄当然受大家喜欢,但是绝大多数人上分最后还是靠最适合自己的英雄。强行练新英雄或者版本强势英雄,对于大多数普通人来说,基本上都是掉分为主。当然,练一手强势高下限的英雄,能够在必要的时候补位的话,绝对是一个加分项!
    jason19659
        70
    jason19659  
       2021-04-25 17:47:19 +08:00
    java 已经卷的不行了,go 才刚开始卷,考虑转 go 了
    angryfish
        71
    angryfish  
       2021-04-25 18:59:24 +08:00
    何不考虑 rust
    sagaxu
        72
    sagaxu  
       2021-04-25 21:35:27 +08:00 via Android
    @rickiey go 已经一样卷了,盯着 runtime 内部实现灵魂拷问,职位数少,转的人可不少
    monkeyWie
        73
    monkeyWie  
       2021-04-26 11:24:18 +08:00
    go 岗位就不可能多,go 写 CRUD 跟吃屎一样难受,只要不是无脑跟风的应该不会招 go 来写业务吧,go 目前只适合基础服务、中间件、k8s 相关的岗位。
    zhaohua
        74
    zhaohua  
       2021-04-26 15:03:13 +08:00
    最早转 go 的是 php,然后 nodejs,现在 java 也要转 go 了吗.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4696 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 04:00 · PVG 12:00 · LAX 20:00 · JFK 23:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.