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

一线城市伪全栈能存活吗

  •  
  •   xinjiang · 2019-01-07 11:59:12 +08:00 · 9854 次点击
    这是一个创建于 2181 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本菜鸟勉强算是一个伪全栈程序员:) 一开始走的就是全栈路线,可能是兴趣使然,碰到啥东西都想去了解,有点强迫症,受工资影响和想去北上获得更多的技术成长和见识,打算年后去上海,但是听说大公司一般需要的是某方面专精的人才,所以想请教下各位 v 友一线城市的实情。 不太想走单前端或者纯后端的专精路线,一直崇尚的是一个人能够开发出一个项目的水准。

    前端 vue、react、jquery 开发经验,前端分离或者不分离,webpack 和 koa 什么的都弄得七七八八。 后端也从以前的单体应用到现在的微服务,容器云什么的都有所涉猎 总体来说自我感觉非常良好,可能是见识少的原因~

    想请教下一线城市全栈工程师的存活率高不高,会不会强行被扭转成前端工程师或者后端工程师

    79 条回复    2019-01-08 16:12:27 +08:00
    chaoyuleo
        1
    chaoyuleo  
       2019-01-07 12:24:32 +08:00   ❤️ 8
    后端啥语言也没说,那我就默认 Node.js 了。
    你可能对自己认知出现了偏差,可能你都算不上伪全栈,大概率只是 “会用 Node 写点后端业务代码并且前后端都稀松的前端工程师”。
    bzj
        2
    bzj  
       2019-01-07 12:43:36 +08:00
    经常遇到很多自称全栈的工程师,结果连 git 都不会用
    x7395759
        3
    x7395759  
       2019-01-07 12:45:40 +08:00
    linux 操作系统用过几种?
    xinjiang
        4
    xinjiang  
    OP
       2019-01-07 12:57:35 +08:00
    @chaoyuleo 后端 java @x7395759 linu 操作系统用过 centos
    xinjiang
        5
    xinjiang  
    OP
       2019-01-07 12:58:15 +08:00
    @bzj 有自己搭建的 gitlab 私服和 svn 服务器,还有 maven 私服
    wjl4107336
        6
    wjl4107336  
       2019-01-07 13:03:31 +08:00
    全栈就是个伪命题
    blless
        7
    blless  
       2019-01-07 13:04:45 +08:00 via Android
    有写过 rpc 吗
    a1044634486
        8
    a1044634486  
       2019-01-07 13:06:04 +08:00 via Android
    能二次开发开源产品吗。。
    xinjiang
        9
    xinjiang  
    OP
       2019-01-07 13:06:23 +08:00
    @chaoyuleo 后端 java,如果按照 java 开发工程师的话应该算是中级工程师以上,独立开发一个应用的后台完全没问题,包括数据库索引、redis 缓存等等都是基本技能
    xinjiang
        10
    xinjiang  
    OP
       2019-01-07 13:06:45 +08:00
    @wjl4107336 所以我说是伪全栈啊
    xinjiang
        11
    xinjiang  
    OP
       2019-01-07 13:07:13 +08:00
    @a1044634486 大佬,我要是这么牛逼还去一线涨见识干啥
    a54552239
        12
    a54552239  
       2019-01-07 13:08:56 +08:00
    先去本地大公司面试一下不就懂了
    xinjiang
        13
    xinjiang  
    OP
       2019-01-07 13:09:37 +08:00
    @blless 汗颜,没听说个这个名字,是指写 resutful 风格的 api 吗,大佬求科普
    ezzze
        14
    ezzze  
       2019-01-07 13:10:15 +08:00   ❤️ 1
    还是建议 lz 专精做某一端的好,这几年做的:盒子(选硬件),盒子(定制系统)+ 盒子界面( webview+h5 )+spice-gtk, 服务器前端:angular,服务器后端:python,libvirt,mq,golang (监控系统),到头来也没啥能拿出来吹牛逼的东西。
    xinjiang
        15
    xinjiang  
    OP
       2019-01-07 13:11:08 +08:00
    @a54552239 本地感觉已经是大公司了,前后端的技术架构都是来自华为和阿里的牛人,主打产品都是 saas、paas 这样的平台产品
    mcguffen
        16
    mcguffen  
       2019-01-07 13:12:42 +08:00
    很抢手啊,上海全栈大多都是招 nodejs 工程师,中小型企业多一点。比如张江的美味不用等。
    xinjiang
        17
    xinjiang  
    OP
       2019-01-07 13:13:11 +08:00
    @ezzze 我感觉也一样啊,横向行纵向不行啊,感觉会被纵向专精的人鄙视啊,但是爱好就是啥都搞
    xinjiang
        18
    xinjiang  
    OP
       2019-01-07 13:52:45 +08:00
    @mcguffen 回复竟然还有频率限制,被禁言了半小时,就是准备年后去上海,经常听说是中小公司才需要全栈,大公司嫌弃,去上海底气不足
    mizzle
        19
    mizzle  
       2019-01-07 14:01:47 +08:00
    企业招人更多是看是否适合,是否去一线主要看自己想要什么节奏的生活。
    ChrisTsai
        20
    ChrisTsai  
       2019-01-07 14:19:49 +08:00
    想进大厂,很简单,看学历。
    学历不好,单一方向又不精,想进大厂可能性不大。
    red0range
        21
    red0range  
       2019-01-07 14:29:22 +08:00
    不能

    内容太少,不过看描述像是 API 工程师。一线就是要你专精一个领域,你觉得最有亮点的是知道“数据库索引和 redis 缓存”
    emm,多加点油吧。。。
    xinjiang
        22
    xinjiang  
    OP
       2019-01-07 14:34:59 +08:00
    @red0range 我的锅,是我带偏了,我不是在和大家讨论我是不是算得上是全栈...,而是准备为年后跳槽打听下情况,我的技术水平多少也只有我自己清楚了,不怎么善长表达
    petelin
        23
    petelin  
       2019-01-07 14:35:05 +08:00   ❤️ 1
    自我感觉良好的, 最后都不怎么良好. 最简单的办法, 去投简历, 面一下前端, 面一下后端. 就知道自己有没有资格了.
    xinjiang
        24
    xinjiang  
    OP
       2019-01-07 14:39:23 +08:00
    @petelin 好建议,但时候先就这么办
    red0range
        25
    red0range  
       2019-01-07 14:48:06 +08:00   ❤️ 2
    @xinjiang 建议使用 nowcoder 了解行情

    可 google 以下关键字

    蚂蚁 java 后端 面试 site:nowcoder.com
    数据研发 面试 site:nowcoder.com
    TomVista
        26
    TomVista  
       2019-01-07 14:53:34 +08:00
    @chaoyuleo 你这个回复所说的人,比如我,有什么职业发展推荐吗,感谢.:dog
    tqcenglish
        27
    tqcenglish  
       2019-01-07 14:57:17 +08:00 via iPhone   ❤️ 1
    我说下今天的面试经历吧, 在当前公司做 crud 伪全栈工作,后端使用 node 和 golang 加 各种 orm 感觉能接下各种需求变更. 今天面了一个后端 golang,面试第一步给个小本子实现 atoi,一脸懵逼好不容易用 node 实现一点,第二步 手写 sql 语句查询 还是写不出来. 很无奈说了一句 不适合后端开发. 还是不能太依靠 goggle 编程呀😢
    xnode
        28
    xnode  
       2019-01-07 15:19:46 +08:00
    @tqcenglish 手写 sql? 现在都是这种要求吗
    tqcenglish
        29
    tqcenglish  
       2019-01-07 16:44:52 +08:00
    @xnode 对,毕竟 orm 那么多。 这个也显得很重视基础嘛。
    xnode
        30
    xnode  
       2019-01-07 16:46:41 +08:00
    @tqcenglish 会要求只是写查询 还是 sql 建表
    tqcenglish
        31
    tqcenglish  
       2019-01-07 16:58:21 +08:00
    分组查询统计这种,出现这种也是与面试公司业务有关所以才有考察吧。
    janus77
        32
    janus77  
       2019-01-07 16:58:48 +08:00   ❤️ 1
    去小公司分分钟当技术主管啊,就看你愿不愿意了
    dabaibai
        33
    dabaibai  
       2019-01-07 17:01:05 +08:00
    会 C/C++/C#/Golang 可以的
    byteli
        34
    byteli  
       2019-01-07 17:02:00 +08:00
    @tqcenglish 第二个我和你相反了走了另外个极端,因为业务原因我基本没用过 orm,全是手写。
    zuoakang
        35
    zuoakang  
       2019-01-07 17:30:03 +08:00
    自从来到来现在的公司,才知道,全栈并不是指 web 页面开发、而是啥都会。
    lemayi
        36
    lemayi  
       2019-01-07 17:36:27 +08:00
    个人觉得作为一个全栈工程师,不管真伪,最好的是精进的办法是做一个自己想做的产品,然后慢慢打磨这个产品。产品,技术各个方面都会精进的。
    lfzyx
        37
    lfzyx  
       2019-01-07 17:38:44 +08:00   ❤️ 3
    我不知道上面都在冷嘲热讽些啥,在我看来楼主比那些 CRUD 业务开发程序员好多了
    hp66722667
        38
    hp66722667  
       2019-01-07 17:48:25 +08:00
    crud 怎么了,老子是就是各种 crud,哈哈
    blless
        39
    blless  
       2019-01-07 18:21:58 +08:00 via Android
    rpc 是微服务基础,rpc 不了解我觉得对框架理解应该也不深。离全栈还远
    xinjiang
        40
    xinjiang  
    OP
       2019-01-07 18:26:39 +08:00   ❤️ 4
    @lemayi 我也是这么认为的,我觉得全栈面向的不是什么技术,而是面向产品,面向程序,全栈也不是他会什么技术,而是当他碰到产品方面的技术层面的任何问题,无论他会不会,他都会尝试着去解决问题,不是他主动会什么,而是程序需要什么他就会什么,更多的是一个种博爱技术的理念,以上仅本菜鸟不成熟的观点,V 友不喜轻喷
    lsido
        41
    lsido  
       2019-01-07 18:29:05 +08:00 via iPhone
    有单哪里都能活
    xinjiang
        42
    xinjiang  
    OP
       2019-01-07 18:30:23 +08:00
    @blless 大佬受教了,微服务架构方面确实还没有深入过,微服务方面只有 Spring Cloud 等搭建使用经验
    juju123
        43
    juju123  
       2019-01-07 18:37:26 +08:00
    创业公司喜欢招你这种全栈,大公司就会招前端或后端。
    yqrm
        44
    yqrm  
       2019-01-07 18:38:13 +08:00   ❤️ 2
    只要对编程的兴趣和学习能力在,必然能存活,骚年加油
    CaanDoll
        45
    CaanDoll  
       2019-01-07 19:13:44 +08:00
    LZ 加个好友聊聊人生吗,有点像😊
    lidfather
        46
    lidfather  
       2019-01-07 19:23:06 +08:00 via Android
    @blless 你仿佛在搞笑
    abbatuu
        47
    abbatuu  
       2019-01-07 22:31:00 +08:00
    全栈包含 装系统 杀毒的话 你很容易就能在非 it 行业的民营企业存活
    ymj123
        48
    ymj123  
       2019-01-07 22:42:03 +08:00 via Android
    看了前几楼,你这个全栈要被挑战了。哈哈。
    ymj123
        49
    ymj123  
       2019-01-07 22:43:57 +08:00 via Android
    @abbatuu 加个手机刷机吗?
    imgode
        50
    imgode  
       2019-01-07 23:15:40 +08:00
    破站真的越来越低龄化了
    blless
        51
    blless  
       2019-01-07 23:26:31 +08:00 via Android
    @lidfather 哪里搞笑请直说,我很确定没有开玩笑。虽然随口说了一点,rpc 虽然简单,但是熟悉或者自己实现还是有难度的。现在主流的 rpc 还有流控,降级,负载均衡,鉴权等等模块,说是微服务基础哪里不对?
    lidfather
        52
    lidfather  
       2019-01-07 23:43:46 +08:00 via iPad
    @blless rpc 有什么好纠结,抽象一点,并不能说没写过 rpc 对框架理解就不深刻
    smdbh
        53
    smdbh  
       2019-01-08 00:55:06 +08:00
    会总比不会好,但总要有一样是不虚的( eg,放在绝大多数公司都是前 10%水平)
    zkeeper
        54
    zkeeper  
       2019-01-08 04:03:56 +08:00   ❤️ 2
    一堆上来就打击楼主的, 也不知道各位的功力有多么强.

    就冲楼主写的这句话"可能是兴趣使然,碰到啥东西都想去了解,有点强迫症", 我就觉得楼主前途光明. "兴趣"二字, 很多人嘴上说, 但是实际去做的很少很少.

    楼主, 我看好你. 你去了大公司有可能被转为纯前 /后端, 但是只要你的好奇心还在, 任何领域你都可以进步很快.

    如果是我招聘, 我宁肯要楼主这样有主动性的, 也不想要一个懂得多但是其他方面普通的人. 你懂得再多也不可能面面俱到
    zkeeper
        55
    zkeeper  
       2019-01-08 04:16:22 +08:00   ❤️ 2
    另外, 看到楼上的手写 atoi, 手写 SQL, 我感觉直接抓我现场写我也写不出来, 或者写出来各种 bug. 但是我平时工作仍然绩效不错.

    平时工作中碰到任务, 考验的不是抓过去现场码代码的能力, 而是:
    1. 定义任务边界的能力: 如果定义跟其他服务的接口, 令其清晰, 预留功能扩展的能力, 不需要经常改变接口
    2. 理清任务需要实现的功能点, 考虑各种边缘情况, 并根据这些点写出功能测试代码
    3. 资料收集分析能力, 碰到不熟悉的地方, 怎么快速通过搜索引擎, 各种网站快速找到高质量的文档, 快速入门
    4. 理解并设计出一个新 feature 除了基本功能外还要考虑的地方, 比如: 1. 性能(tps, rt) 2. 资源占用 3. 运维便利性, 如 log print, metrics 等方便后续定位问题的措施 4.各种边界情况都要考虑到并定义预期的结果, 并测试 5. 上线此功能对现有用户的影响.... 等等
    5. 如何设计内部的各种类, 以及他们之间的关系, 既要有设计, 又不能过度设计.
    6. 配置如何加载及变更, 等等
    7..外延太多了就不一一列出来了. 比如某个功能, 既可以在这个组(模块)实现, 也可以在那个组实现. 是要抢过来还是推出去, 为什么. 以及如何做才能有理有据, 不至于影响各组之间的关系....

    以上这些, 我感觉比单纯手写某个函数要有用的多, 也是工作中经常要用到的能力. 一个人能抓过来现场写这些库函数代码或者常见算法并且写的很漂亮, 我理解有两种可能性, 一种是他天纵奇才, 另一种是他刷题很用功, 正好赌中了.

    对 CS 一知半解, 靠刷题进大公司的在硅谷太多了, 真正好用不好用只有天知道.
    alen1995
        56
    alen1995  
       2019-01-08 07:29:31 +08:00 via iPhone
    哈哈一样 后端 Java 前台 react vue 一开始只是单纯得觉得作为一个程序员得弄个网站出来 不知不觉就学了很多技能 emm 现在在搞小程序又进入一个坑…

    个人感觉 nodejs 全栈还是可以的 java 全栈的话无论从招聘网站还是生态来看不适合 这也是自己纠结的一个点 虽然 nodejs 也会 但毕竟 java 用了两年学得比较深比较拿得出手

    不知道 v 友有什么好的建议没 有没有必要转 nodejs 全栈,还是继续 java 全栈,或者专攻 java
    TomVista
        57
    TomVista  
       2019-01-08 08:04:06 +08:00
    @alen1995 建议 java 我大学学的 java 现在 nodejs 和 c# 鸡儿后悔,可惜 java 没用过的时间太长,捡不起来了.
    quietjosen
        58
    quietjosen  
       2019-01-08 08:23:52 +08:00 via iPhone   ❤️ 1
    人家抱团取暖,我们同行相轻,开发这个领域实在是太……哎,何必呢?大牛应该没多少时间在这里嘲讽别人吧?

    支持楼主,至少你在追求精进,已经碾压无数人了。
    sampeng
        59
    sampeng  
       2019-01-08 08:32:04 +08:00
    其实我一直纳闷
    nodejs 的伪全栈市场并不大,招人不好招,技术因子也很小。为什么还一窝蜂的跳进去。有这时间,为什么不学学 java,php,python 一流。
    xusongfu5050
        60
    xusongfu5050  
       2019-01-08 08:36:05 +08:00
    不用想太多,人活着就是要梭哈~
    hubahuba
        61
    hubahuba  
       2019-01-08 08:36:15 +08:00
    等你知道全栈是个贬义词的时候,也就来过上海了
    iiduce
        62
    iiduce  
       2019-01-08 08:45:48 +08:00
    是不是全栈看是否能凭本事自己养活自己就知道了。
    tommyzhang
        63
    tommyzhang  
       2019-01-08 08:49:21 +08:00   ❤️ 1
    楼主加油 去他妈的全不全栈 你学习了开心了就有前途的 努力吧
    Nasei
        64
    Nasei  
       2019-01-08 08:54:03 +08:00 via Android
    我上学的时候,全栈还是个比较屌的名字,路线图也是大的吓人,硬件都包括一部分
    现在好像变成前端加后端了?甚至上面还有 java 全栈 node 全栈这些特定技术栈?都玩成这样了也别怪别人看到全栈就不爽了
    xinjiang
        65
    xinjiang  
    OP
       2019-01-08 08:59:58 +08:00
    @CaanDoll 可以可以,乐意之至
    qinyusen
        66
    qinyusen  
       2019-01-08 09:01:34 +08:00
    皮一下,我一直以为,全栈是产品经理+项目经理+开发经理。

    比如我们定义的全栈(机器人行业)就是 简单 web 通信 + 软件 + 某类算法 + 简单大数据分析 = 全栈

    至于现在,开心就好。
    qinyusen
        67
    qinyusen  
       2019-01-08 09:08:50 +08:00   ❤️ 1
    @Nasei 哈哈,我们也是,那时候全栈,要懂 BSP 和嵌入式,大数据只要能用个 hadoop ( JAVA ) + R 分析东西,python qt 做 UI 和控制脚本少不了, 算法实现的代码该写也得写( C++),opencv 啥的都得门清儿,web 控制中心该写也得写, 有了数据,数据库的管理和托管(自动备份 etc )该写也得写。

    现在好多号称全栈的,cmake 管理多平台版本发布,交叉编译都不会写,算毛全栈,那不就是

    只要一个产品经理+一个全栈不能融了第一波钱起公司的,多数都是伪全栈。见过几个真全栈,都是 40 岁往上飘各行各业都干到过比较深,还在一线写 code 的人。
    beggarvip
        68
    beggarvip  
       2019-01-08 09:09:04 +08:00 via Android
    互联网以及 it 公司项目种类以及技能需求千差万别,对全栈也有 n 种大相径庭的定义
    CaanDoll
        69
    CaanDoll  
       2019-01-08 09:12:11 +08:00
    @xinjiang QQ:20562615😄
    xinjiang
        70
    xinjiang  
    OP
       2019-01-08 09:13:34 +08:00
    看到了各位 V 友的回复,发现确实是我理解有误,以后不能再用全栈或者伪全栈来标榜自己,最多只能算是一个前后端都会的 coder,虽然也能独立开发一个项目,但是比起全栈能扛起程序的各方面和细节的大旗,我估计还差的很远,搞技术是个苦逼活,要不停的拥抱各种新技术,生活也是诸多烦恼,还是开心就好
    alen1995
        71
    alen1995  
       2019-01-08 09:19:18 +08:00 via iPhone
    看了楼上的回复 不敢再自称伪全栈了
    一直以为是指能独立开发项目的所有软件技术部分 也就是 前后端开发+运维部署
    原来还要硬件和产品经理 ^_^
    glfpes
        72
    glfpes  
       2019-01-08 09:31:44 +08:00
    能存活啊,能干活就能帮老板赚钱,那就没有不能存活的道理。

    但是目标是个人成长的话不如去北京。反正也不打算在一线安家不是,那就选择最适合成长的地方吧。而且北京工资也高一个档次。
    hq136234303
        73
    hq136234303  
       2019-01-08 10:01:31 +08:00
    @blless 单纯写一个 rpc 简单例子其实不是很难,难的是做的那些负载 容错 等等呀。
    lifeintools
        74
    lifeintools  
       2019-01-08 10:08:37 +08:00
    咱俩差不多,我在小公司打杂 基本前后端 DBA 运维都要做。
    jsun
        75
    jsun  
       2019-01-08 10:17:34 +08:00
    在我看来能自称全栈,最起码得是去大厂面试社招岗位的前端和后端都能收到 offer。LZ 自称伪全栈没毛病,随着时间的积累,我相信 LZ 能成为真正的全栈。
    shuizhengqi
        76
    shuizhengqi  
       2019-01-08 11:00:10 +08:00
    前端 框架 angular,react,版本包管理 npm 安装以及配置,后端 python django,java spring boot,pip 和 maven 私有源搭建和管理,手写 sql,服务器,centos nginx 配置调优,docker 使用及开发,shell 脚本书写,服务部署,环境搭建以及问题排查。目前就会这么多,感觉自己才是个伪全栈
    1134506391
        77
    1134506391  
       2019-01-08 14:27:20 +08:00   ❤️ 1
    建议一精多会,后台的话要实现一个完整的商城项目你就合格了(权限管理,商品管理,用户管理,订单支付),前端要精通一项
    libook
        78
    libook  
       2019-01-08 14:46:21 +08:00   ❤️ 1
    我是被扭的,不过也觉得自己比较适合这个方向。

    是否使用全栈开发模式取决于公司业务情况和团队组织架构。

    如果业务规模较小,比如刚刚启动的新业务,某一端的工作量可能远远不足以交给一个全职人员来做,这时候很多就会选择全栈开发人员,前端、后端、运维一个人负责,工作量能填满产能就可以了。
    当然也可以让其他项目组的开发人员兼职做新项目的启动开发。
    当业务变多了,一个人很难 hold 住全栈工作了,可能会考虑拆分,或者人员职能专能化;我经历的是后者,现在是纯后端开发。

    如果你想去初创公司或大公司的新事业部,可能全栈会比较合适,但如果是业务已经成熟的公司,专能人员可能机会更多一些。

    个人感觉不管是不是全栈,你总得有自己专精的部分,简历上可以都写写,面试官会根据招聘需求来评估,都会都不精没啥亮点的话肯定也难找到工作。
    Neojoke
        79
    Neojoke  
       2019-01-08 16:12:27 +08:00   ❤️ 1
    其实应该是跟公司规模和成本需求挂钩的吧?
    比方说,有哪个初创的小公司是招聘只会某一门具体的技术的人呢?招个后端起码得会写页面吧?又有哪个大公司,招了全栈工程师,要求他把前后端、移动端、大数据、运维都搞定的?
    凡事都不能太极端对吧?
    一线城市大公司多,创业公司也多啊,如果你是那种多端都能扛起来,可以直接实战满足需求的,创业公司很适合。如果你是一精多长,其他端不仅能够实战满足基本需求,还了解其他技术栈的具体应用、技术陷阱、多端配合的最佳实践以及技术瓶颈,那也非常适合大公司啊,大公司也非常缺乏具有高技术视野层次的人,这类人往往可以在更抽象的业务场下做出创新的东西,而资深的工程师,实际上在大公司之间淘汰和竞争非常激烈。
    总而言之,全栈的生存能力还是比较强的,我个人认为,但是这个全栈的理解应该区分场景,如果是初创公司,就要求有非常强的多端快速原型能力,而在大公司则要求全栈更高,更精通每个技术栈的技术陷阱,使用场景等等。
    说白了,一个生存能力的强的工程师,一定是有非常好的基础功底,有非常优秀的将新技术转化为实际生产力的能力,再往后就是当项目和组织变大,需要全栈工程师去思考如何整体避坑,如何整体提出创新的解决方案。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2683 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:45 · PVG 20:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.