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

何为全栈?

  •  
  •   zhaode · 2019-06-24 19:29:08 +08:00 via Android · 12086 次点击
    这是一个创建于 2014 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经常能在 v 站看到全栈工程师,想问一下:需要精通哪些知识才能称为全栈? 想到一些基础的:

    1. linux/windows/Android/iOS 客户端开发
    2. 前后端开发
    3. 系统 /网络安全防护
    4. 机器 /深度学习算法 /框架
    5. 操作系统 /编译器等底层软件开发
    115 条回复    2019-06-26 10:27:36 +08:00
    1  2  
    ynohoahc
        1
    ynohoahc  
       2019-06-24 19:34:42 +08:00   ❤️ 12
    这是全能神
    zhaode
        2
    zhaode  
    OP
       2019-06-24 19:36:39 +08:00 via Android
    @ynohoahc 😂😂😂你这个称呼 xswl
    shawndev
        3
    shawndev  
       2019-06-24 19:38:48 +08:00   ❤️ 1
    foolstack engineer
    CodingNaux
        4
    CodingNaux  
       2019-06-24 19:41:29 +08:00 via iPhone
    全包
    annoy1309
        5
    annoy1309  
       2019-06-24 19:43:43 +08:00   ❤️ 32
    全栈一般有三个原因导致:
    1 公司规模太小或者太抠门,使得你必须什么都会要懂一点。
    2 和你对接的同事太过于睿智以至于你必须什么都要懂一点。
    3 你工作量不饱和导致有有想法去什么都去了解一点。
    nuistzhou
        6
    nuistzhou  
       2019-06-24 19:53:39 +08:00
    @annoy1309 有道理!
    opengps
        7
    opengps  
       2019-06-24 20:03:49 +08:00
    去小公司,一个人干全部活,比如前段,后端,数据库,文书,财务,人力就是全栈
    harde
        8
    harde  
       2019-06-24 20:11:12 +08:00   ❤️ 1
    一个人就是一家公司,还 TMD 是个全能公司。。。
    okoook
        9
    okoook  
       2019-06-24 20:12:40 +08:00 via iPhone   ❤️ 6
    写得了代码,画得出 ppt,收得了快递,打得过产品经理
    Raymon111111
        10
    Raymon111111  
       2019-06-24 20:45:49 +08:00   ❤️ 1
    全栈就是公司太小或者业务太小

    一个方向专精已经很不容易, 还要方方面面都会, 基本不太可能





    就问这么一句, 有多少人看过 mysql 的源码? 一个写业务代码的人, 终究是当不了 dba 的
    janus77
        11
    janus77  
       2019-06-24 20:47:28 +08:00   ❤️ 1
    全栈不需要精通谢谢,只需要会用就行的
    season4675
        12
    season4675  
       2019-06-24 20:52:07 +08:00
    比如做个 android app,你 Android 客户端会,底层操作系统会,还会前端后端,也就是说你一个人 cover 了整个项目……那就算全栈了
    php01
        13
    php01  
       2019-06-24 20:52:42 +08:00   ❤️ 1
    随便单拿出一个技术栈,都能以只会这个技术,而拿到一份当地该技术栈中等水平的收入的工作。
    guiling
        14
    guiling  
       2019-06-24 20:57:13 +08:00 via Android   ❤️ 1
    全干,干着干着就全栈了
    mobi
        15
    mobi  
       2019-06-24 21:00:17 +08:00   ❤️ 37
    很多人不明白,其实全栈的真正意义并不在于多学了几门技术,而在于说,你拥有了将一个想法完整的转化为一个产品的能力。

    这种能力让你从一个不能脱离生产线的螺丝钉、不能离开公司独立生存的雇员,变成了一个对自己的工作,对自己的生活,对自己的事业拥有选择权的一个人。

    你当然可以到大厂里面去打工,因为挣钱快嘛,但是当你不开心的时候,不想要这种生活的时候,可以自己开公司,可以自己做软件卖;当你有一些非常好的想法的时候,你不用去说服投资人和找帮你补前端或者后端工作的小伙伴,只需要用自己空闲的时间,就可以慢慢的把它给做出来。

    当你创业的时候,你不用天天担心,技术部门里面某一个单点的程序员突然离职(创业公司里非常常见),因为你知道最差的情况下,你是可以自己去把这个地方的东西给做掉的。大不了边熬夜边招人呗。

    这种控制力非常棒。

    我也不是在忽悠说,你现在就要去学一个什么全栈的课程,而是说你可以在自己现有技术栈的基础之上,以很低的成本去补全自己的这种能力。

    js 的把 node 和混合 app 搞搞,android 的顺便用 java 搞定下后端,php 的同学补下小程序开发。再多做几个产品练练手找找感觉,这种能力就慢慢出来了。

    作者:Easy,这是我特别认同的一段话,也是我一直向往的状态!
    dabaibai
        16
    dabaibai  
       2019-06-24 21:01:00 +08:00
    就是连淡茶倒水都得自己干的人
    akira
        17
    akira  
       2019-06-24 21:54:27 +08:00
    12 就已经全了啦
    jon
        18
    jon  
       2019-06-24 22:07:02 +08:00
    就是少拿钱多干活
    lccgsn
        19
    lccgsn  
       2019-06-24 22:31:25 +08:00
    ps 呢
    zhuzhibin
        20
    zhuzhibin  
       2019-06-25 00:13:20 +08:00 via iPhone
    @annoy1309 我觉得除了第二 全中
    zhuzhibin
        21
    zhuzhibin  
       2019-06-25 00:14:22 +08:00 via iPhone
    @guiling 难受 想哭 感动落泪
    zhuzhibin
        22
    zhuzhibin  
       2019-06-25 00:18:56 +08:00 via iPhone
    其实我有一个疑问 想让大家指点迷津 就是短时间内 小公司成为了一名全干工程师 我认为还是有收获的 但是如果长时间并且可能薪酬没有那么理想的情况下 你们会如何抉择?跳槽?继续沉淀?
    NeinChn
        23
    NeinChn  
       2019-06-25 00:22:52 +08:00   ❤️ 1
    @mobi
    其实就是扯淡,如果连画大饼的能力都没有
    连个后端 /客户端 /前端 /设计都招不到,还妄想什么创业....
    招人组建团队是一个最基本的能力
    如果只是为了勉强养家糊口自己做点东西接点外包还能理解
    如果真是想做点事情,那就免了吧
    IsaacYoung
        24
    IsaacYoung  
       2019-06-25 00:22:53 +08:00 via iPhone
    全干
    mumbler
        25
    mumbler  
       2019-06-25 00:54:23 +08:00 via Android
    @annoy1309 还有一种情况是热爱,想自己一个人做出完整产品的
    blackcurrant
        26
    blackcurrant  
       2019-06-25 01:07:49 +08:00   ❤️ 1
    从自己挖沙子做 cpu,到自己写操作系统。
    Jonssen
        27
    Jonssen  
       2019-06-25 01:22:08 +08:00
    全栈路过,一个人包揽所有活,累的像狗!
    hoyixi
        28
    hoyixi  
       2019-06-25 01:31:51 +08:00
    其实是: 全干
    rainman777
        29
    rainman777  
       2019-06-25 01:50:58 +08:00 via Android
    如果要做终端的话不得画 PCB 写 FW,还要搞 server 那边的什么数据库,mosquitto 乱七八糟的,还要开发 app,web 端。估计等做完早就凉透了
    dartabe
        30
    dartabe  
       2019-06-25 02:54:55 +08:00
    从招聘来看是 前端三大件 + nodejs + sql 哈哈
    lraining
        31
    lraining  
       2019-06-25 06:53:12 +08:00 via Android
    全栈需要有比较扎实的基础,一个人能 cover 项目所涉及的所有技术栈,对英语有一定要求。基本不会遇到无法解决的问题。好处是很有成就感,坏处就是总觉得时间不够用。
    aloyuu
        32
    aloyuu  
       2019-06-25 07:19:43 +08:00
    全栈 = 全会
    CasualYours
        33
    CasualYours  
       2019-06-25 08:29:52 +08:00
    @aloyuu 全栈 = 全会 === 全干
    wd
        34
    wd  
       2019-06-25 08:30:23 +08:00 via iPhone   ❤️ 1
    会 JavaScript 就是全栈了
    killeder
        35
    killeder  
       2019-06-25 08:40:53 +08:00 via Android
    全能干
    brust
        36
    brust  
       2019-06-25 08:42:48 +08:00
    啥都会一点,啥都不精
    MuscleOf2016
        37
    MuscleOf2016  
       2019-06-25 08:42:54 +08:00
    一般在我看来能 hold 住整个项目前后台运维架构等等的,问题都了解是什么的,基本就是了
    neroxps
        38
    neroxps  
       2019-06-25 08:44:24 +08:00
    @annoy1309 包括会做饭炒菜
    Lygljj
        39
    Lygljj  
       2019-06-25 08:45:43 +08:00   ❤️ 1
    12 楼的纯粹想当然的理想状态,23 楼说的才是对的,国内总是想当然的把很多东西粗略的理解成粗暴的 rpg,你以为打游戏一条一条点技能呢?
    沟通,带团队也是一种能力,在一定的职业积累后甚至比技术重要的多!我见过很多大公司里职级很高的人反而在各种社区没有什么名气,对于企业来说,全栈不是给你加薪的原因,决定你的薪水是你的工作能给公司带来多大的收益,一个人的力量在现在动辄服务百万计+的需求面前太渺小了。
    作为个人,追求什么技术我不予置评,但对于公司,要求所谓全栈,只能说明公司管理的无能,以及,没钱。
    karottc
        40
    karottc  
       2019-06-25 08:49:46 +08:00 via iPhone
    一般会 react-native 就被叫做全战了
    yalin
        41
    yalin  
       2019-06-25 08:56:26 +08:00
    全站就是从前端到后端的所有开发都是你一个人的事情,简单来说就是“单干”。
    luzemin
        42
    luzemin  
       2019-06-25 09:02:44 +08:00
    全栈就是一条龙换个说说法
    1ffree
        43
    1ffree  
       2019-06-25 09:05:58 +08:00
    我理解的全栈还是偏技术层面的。 服务器,部署,运维,网络,数据库,前端,后端 大概这些吧
    a971868864
        44
    a971868864  
       2019-06-25 09:10:25 +08:00
    "听说你们公司做项目是一条龙服务?" “对啊,我就是那条龙”
    hailaz
        45
    hailaz  
       2019-06-25 09:13:04 +08:00
    一般只是 web 全栈,能写 web 前端 web 后端那种。
    heiher
        46
    heiher  
       2019-06-25 09:16:13 +08:00
    全部站着办公 :D
    jingyulong
        47
    jingyulong  
       2019-06-25 09:22:02 +08:00 via iPhone
    技术全栈其实很可悲的,跟架构有很大区别。会的很多,会的只是皮毛。
    wenzhoou
        48
    wenzhoou  
       2019-06-25 09:29:09 +08:00 via Android   ❤️ 1
    前端后端框架都会那算入门。
    不会 PS 不行,icon 都得自己画,ps 画完了拿 SVG 画,SVG 画完了画 3d 的。
    不会美工不行,你这个首页整体搭配太丑拿不出手,还不能重复。
    不会 ppt 不行,写个介绍材料也得追求高大上,上司看了满意,招聘启事放出去要海报效果。
    不会 infra 不行,线上线下一个人捣鼓,开发机测试机生产环境自己做隔离。申请个域名加个 SSL 自己默默的弄好了,就不要邀功了。换硬盘加内存都归你我们不跟你抢。
    不会喝酒不行,维护客户关系硬着头皮上,天文地理美女琴棋你啥都得懂点儿,这时候你觉得还是直接拿回扣的客户好,直接。
    不会吹牛不行,招个人你必须要画饼画到自己都信以为真。
    不会制定规范不行,招来的小孩说大厂都是有作业规范的。
    不会工作细分评估不行,大牛说俺们就负责拷贝粘贴。
    不会调查 bug 不行,大小伙子说我明明这么做了可是还是报错,老大我也很崩溃啊啊啊。
    不会安全知识不行,什么 csrf 和 xss 还有 Redis 漏洞各种防范提前做好放到后面再做累死人了。
    不懂业务不行,你得和客户据理力争你这不对,你知道不知道业界规范啊。
    不会妥协不行,客户说就这么多钱所以先这么干了,那就先立个字据你盖章,回头要改可以要加很多钱哦。
    不会搪塞不行,到交活的时候一旦起火,赶紧先稳定客户情绪。
    不会要帐不行,没办法偶尔也会有奇葩老赖不管是主观的还是被动的不能不管吧。
    不会人前人后两面皮不行,项目过程怎么也得忍着大家好吃好喝好兄弟等结束了尼玛的就你小崽子不干活搅屎棍早都忍不了你了送走你以后再找你我从这里跳下去。
    大脑从早忙到晚全天多线程,看到所有事情第一做优先级比较,看到所有人第一分析他的诉求,学习新的东西第一提炼中心思想,有些技能直接训练成自己的本能,走路跑步上厕所都在思考各种问题。
    asionbo
        49
    asionbo  
       2019-06-25 09:32:02 +08:00
    有想法 ===> 单独输出产品
    fiht
        50
    fiht  
       2019-06-25 09:35:05 +08:00
    引用自 w3school:
    Full Stack Web Developer:
    A full stack web developer is a person who can develop both client and server software.

    不引申的情况下就是说又会写前端又会写后端,一个人能做一个网站 /App
    DomonLee
        51
    DomonLee  
       2019-06-25 09:39:11 +08:00
    就是全干。
    A388
        52
    A388  
       2019-06-25 09:44:00 +08:00
    就是全都会,全半灌水还叮当响
    cooi
        53
    cooi  
       2019-06-25 09:45:24 +08:00
    原本只是个写 ERP 的,得心应手。结果来公司两年,写过小程序,php 商城,vue+rails ,flutter 类原生,Android 蓝牙通信应用,发现啥都会一点,能解决问题,啥都没学好。
    zsen
        54
    zsen  
       2019-06-25 09:50:15 +08:00
    本职是 PM。然后有个项目就自己写了,属于 #5 说的 1/3 吧
    用 python(flask) 写接口,在 antd pro 的基础上写管理后台,用 wepy 写的小程序端应用,包括数据结构的设计、服务器配置等等,不敢说性能,就是满足需求啦。

    感觉是完全不能说懂,只能说会用。
    oukichi
        55
    oukichi  
       2019-06-25 09:51:58 +08:00
    技术人最大的问题在于总是不在意创造了什么,在意的总是技术细节。
    wxl1380610
        56
    wxl1380610  
       2019-06-25 09:55:16 +08:00   ❤️ 1
    @jingyulong 对,推荐别这么干 , 跳槽不好跳 , 专精 优势明显 , 跳槽去大厂都有优势 , 杂的话 ,没法跳槽 ,上面说有想法 然后单独输出产品 , 看着有点优势 ,但是毕竟一个人精力是有限的 . 能坚持下来的不多 。
    ThomasZ
        57
    ThomasZ  
       2019-06-25 10:16:42 +08:00
    全栈是一种畸形,不要以全栈为傲,在正常人中全栈就是一瓶子不满,没有根基
    86091566
        58
    86091566  
       2019-06-25 10:23:37 +08:00
    全栈其实是一种伪概念,核心还是要把计算机的基础打扎实,这样才能举一反三触类旁通,技术会更新,但是核心理念依旧是那些
    datou
        59
    datou  
       2019-06-25 10:29:56 +08:00
    全栈就是啥都得干
    LiMengBo
        60
    LiMengBo  
       2019-06-25 10:37:40 +08:00
    全栈别名又叫全干
    inoizyz
        61
    inoizyz  
       2019-06-25 10:43:58 +08:00 via Android
    栈嘛,就是给新来的干;全栈,全都给新来的干。
    wenzhoou
        62
    wenzhoou  
       2019-06-25 10:57:56 +08:00 via Android
    @ThomasZ 说一瓶子不满,我有意见。试问哪个大神不是一瓶子不满呢。技术本来就是学无止境。有用的东西,管他是什么学就好了。学好了用就是了。我觉得广度深度,我都要。
    ThomasZ
        63
    ThomasZ  
       2019-06-25 11:00:54 +08:00
    @wenzhoou emmm,用词不准确,就是想表达一下,脚下无根而已……
    atom234
        64
    atom234  
       2019-06-25 11:06:40 +08:00
    全栈(全干)小公司随便哪个人都是,啥事情全都干。
    whypool
        65
    whypool  
       2019-06-25 11:06:54 +08:00
    会抄就行
    julyclyde
        66
    julyclyde  
       2019-06-25 11:07:19 +08:00
    全栈就是 js
    wenzhoou
        67
    wenzhoou  
       2019-06-25 11:07:35 +08:00 via Android
    @ThomasZ 恩。如果基础知识缺乏会导致脚下无根。这种情况一是从上往下扎根,一是触类旁通。然而有的知识大概知道就可以。不做通信没必要了解 7 号信令。不做会计不需要知道传票。用的时候再去学,就会有积累。
    robertlyc
        68
    robertlyc  
       2019-06-25 11:08:56 +08:00
    全栈早就落伍了
    先在流行全干(all-do)程序员了 从 ceo,cto 到保安大叔和保洁大妈 全都自己干
    Ixizi
        69
    Ixizi  
       2019-06-25 11:42:51 +08:00
    我认为全栈应该是有技术壁垒 面向团队面向项目的一种角色
    vasummer
        70
    vasummer  
       2019-06-25 11:55:28 +08:00
    @annoy1309 正解!!!
    lk920724
        71
    lk920724  
       2019-06-25 11:56:02 +08:00
    解决问题
    ericgui
        72
    ericgui  
       2019-06-25 11:56:06 +08:00
    啥都会,啥都不精
    ho121
        73
    ho121  
       2019-06-25 12:00:04 +08:00 via Android
    难道不是从用沙子制作 cpu 起吗?
    tanrunhao
        74
    tanrunhao  
       2019-06-25 12:05:07 +08:00   ❤️ 1
    技能全不全栈不重要,重要的是有全栈的心,让手上的产品活下去,让心中的产品生出来。
    xuanqb
        75
    xuanqb  
       2019-06-25 12:10:20 +08:00
    全干
    littlewing
        76
    littlewing  
       2019-06-25 13:19:27 +08:00
    全栈 == 全干
    violetlai
        77
    violetlai  
       2019-06-25 13:36:35 +08:00
    小公司一个程序员,然后前端->后端->运维 偶尔还要和其他公司对接一下业务,公司的电脑坏了要去修一下,然后就是搬搬东西,换换水之类的吧
    MonoLogueChi
        78
    MonoLogueChi  
       2019-06-25 13:45:38 +08:00 via Android
    一个项目,能自己从头到尾撸下来,就可以称为全栈
    nekoneko
        79
    nekoneko  
       2019-06-25 14:00:46 +08:00
    我觉得 全栈 参考 林纳斯·托瓦兹 就好了
    yuwangG
        80
    yuwangG  
       2019-06-25 14:28:19 +08:00
    就是全干的意思
    ww940521
        81
    ww940521  
       2019-06-25 15:07:06 +08:00
    全栈就是啥都会点,哪里需要往哪里搬。
    我一个朋友做 iOS,结果先后做了小程序,安卓,flutte,vue,现在在做 java 后台,我都惊呆了。
    zaul
        82
    zaul  
       2019-06-25 15:13:59 +08:00
    再加一个设计?
    sayuria
        83
    sayuria  
       2019-06-25 15:32:12 +08:00
    很多是接私活被逼的,先做个静态的。然后加需求要做增删改擦。顺便做个公众号吧。公众号都做了,也不差个小程序。
    drunkbeta
        84
    drunkbeta  
       2019-06-25 15:35:15 +08:00
    全栈的意思就是全干 达到这个标准 你就是全栈工程师
    godbmw
        85
    godbmw  
       2019-06-25 15:52:25 +08:00
    打杂全干哈哈
    zw1one
        86
    zw1one  
       2019-06-25 15:59:03 +08:00 via Android
    先去学开挖掘机吧,好挖沙子。
    Light3
        87
    Light3  
       2019-06-25 16:23:16 +08:00
    在下 全干工程师
    兼的了前台 当的了维修工 还能写代码 搞规划 出方案..
    0xroot
        88
    0xroot  
       2019-06-25 17:03:40 +08:00
    @mobi 全干工程师好
    TonyHoAspire
        89
    TonyHoAspire  
       2019-06-25 17:08:10 +08:00
    看到 FullStack,感觉就是个笑话。

    芯片公司某些人可以做到下面这些:
    RF IC 设计,后台开发,Linux 驱动,嵌入式裸机,Android APK,原理图和 PCB 设计+焊接,BLE/WiFi stack,AI 炒股软件开发,MFC/Qt 桌面开发,Toolchain 开发
    ai277014717
        90
    ai277014717  
       2019-06-25 17:10:37 +08:00
    搬运代码不限于语言就是全栈了。
    googoehl
        91
    googoehl  
       2019-06-25 17:21:40 +08:00
    何为全干!
    kaedea
        92
    kaedea  
       2019-06-25 17:24:03 +08:00 via Android
    据我观察,自称全栈的,基本是全栈 HelloKitty 水平。真正的全栈大佬在了解到跨技术栈的难度之后,都非常低调。
    LowBi
        93
    LowBi  
       2019-06-25 17:29:54 +08:00
    就是全干啊,修电脑,软硬方面都干,做网站,前后端都写。就这样
    fullpowers
        94
    fullpowers  
       2019-06-25 17:42:08 +08:00
    @TonyHoAspire 终于看到一位令人满意的老兄,还有运动控制,图像识别,语义分析,FPGA 等等哈哈哈
    tkisme
        95
    tkisme  
       2019-06-25 18:39:06 +08:00
    就是全干
    reshuige
        96
    reshuige  
       2019-06-25 19:27:36 +08:00
    HTML CSS Javascript
    jQuery AJAX JSON XML
    sql mysql
    php java python C# 易语言 验证码识别
    github gitbook 修电脑 重装系统 文档编写
    rdonly
        97
    rdonly  
       2019-06-25 19:35:24 +08:00
    全干
    Takamine
        98
    Takamine  
       2019-06-25 22:56:48 +08:00
    全栈工程师一般小公司比较容易培养出来。:doge:
    NilXuan
        99
    NilXuan  
       2019-06-25 23:18:53 +08:00   ❤️ 1
    很认同 15 楼的说法;全栈=全干这一等式虽然也描述了全栈往往意味着任务重,琐碎,甚至像 v 友提到的“打杂”;
    但是全栈也意味着控制,意味着自由;意味着 idea 到 product 的转换能力;
    通往全栈的道路上需要避免“多而不精”,正确的姿势应该是“一专多精”;
    自己对技术的追求,就是全栈,就是一种随心所欲的创造自由,这也算是我选择成为程序员的初心;
    令人遗憾的是,我的确踏进了“多而不精”的陷阱,好在已经意识到这个问题,对自己的技术发展也有了初步的规划;
    最后,我认为,全栈意味着自由,意味着创造;
    ncisoft
        100
    ncisoft  
       2019-06-25 23:35:19 +08:00 via Android
    全栈是特定背景下的名词,不要望字生意,特指前端狗 nodejs 一把唆
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 12:36 · PVG 20:36 · LAX 04:36 · JFK 07:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.