为什么你需要成为一个全栈开发工程师? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技问题时复制粘贴 AI 生成的内容
zhangolve
V2EX    程序员

为什么你需要成为一个全栈开发工程师?

  •  
  •   zhangolve 2016-12-06 13:10:43 +08:00 5159 次点击
    这是一个创建于 3239 天前的主题,其中的信息可能已经有所发展或是发生改变。
    花了点时间,完成了一篇文章翻译

    最近几年,我们开始给开发者划分两种不同的职业路径:前端和后端。但是我们总是忘记了第三种选择:全栈

    全栈开发已经被提出有一段时间了,它曾经被直接叫做“开发”。

    但是由于开发工作的复杂性持续增长,我们的 UI (用户界面)需要从其背后的逻辑中解耦出来。于是,现在,我们也就有了两个不同的领域,前端和后端。

    让我们探索全栈开发,看看当考虑到各方面与之关联的挑战时,沿着这样一条路径走下去,是不是行得通。

    我在一家名叫 Fortech 的公司担任全栈开发工程师,我工作的一大部分是来领导一支全栈开发工程师团队。

    在我们的团队里,如果需要的话,每个人都能够在前端和后端之间切换,我们团队的文化也基于此。

    但是什么是全栈呢?

    更多请戳:

    翻译 : http://www.zcfy.cc/article/1878
    原文: https://medium.freecodecamp.com/full-stack-between-reality-and-wishful-thinking-43110005f2a2#.vmvlzet2z
    第 1 条附言    2016-12-06 17:13:29 +08:00
    话说我本意是想分享这篇刚刚翻译的文章,欢迎 v 友针对这篇文章中的观点提出意见或者翻译中的问题,结果怎么感觉大家都没看点进链接,直接回答 title 中的问题了呢。
    不过话说回来,倒是也无所谓。。。。
    28 条回复    2016-12-07 08:54:48 +08:00
    xiamx
        1
    xiamx  
       2016-12-06 13:31:55 +08:00 via Android
    希望能翻译地更本土化一些
    jsou
        2
    jsou  
       2016-12-06 13:35:09 +08:00
    为什么你需要成为一个全栈开发工程师?
    因为当你写后端时觉得前端是 sb,写前端时觉得后端是 sb.还不如自己写
    lrh3321
        3
    lrh3321  
       2016-12-06 13:39:23 +08:00
    @jsou + 1

    再加一个,喷走 DBA ,然后自己兼职 DBA
    fwrq41251
        4
    fwrq41251  
       2016-12-06 13:45:15 +08:00
    不是以 freelancer 为目标的,全栈还不如精通一端。
    wyntergreg
        5
    wyntergreg  
       2016-12-06 13:46:37 +08:00
    @lrh3321 +1

    再加一个,自己离职走后,接任的全栈看着代码觉得自己是 sb
    JulyXing
        6
    JulyXing  
       2016-12-06 13:52:13 +08:00
    成为全栈工程师是的原因是和项目各个环节的人都可以解释清楚事情。
    jellybool
        7
    jellybool  
       2016-12-06 13:54:18 +08:00   1
    总结一句话:都是被逼的...
    t0p10
        8
    t0p10  
       2016-12-06 14:00:08 +08:00
    为老板省钱。。。。
    iiduce
        9
    iiduce  
       2016-12-06 14:01:44 +08:00
    以前在公司的时候,努力让自己成为全栈,一方面是希望将来自己单干,另一方面觉着有时团队合作相互沟通,人员参差不齐,效率好低。

    在公司,也要看公司文化,有的公司就让你各司其职。记得之前公司有一个重要产品空白,因为人手一些原因一直没人去做。那时也是年轻气盛,自己用业余时间独自完成了。拿给领导看时,领导很是惊讶,然后称赞。但是在年终工作报告时给我的评语是“不要单打独斗,注意团队合作”。那年年终选先进工作个人,就凭这款产品,我完全够资格入选,但事与愿违。而且之后领导从没有当众提及过,这个产品是由我独自开发的。
    SolrJ
        10
    SolrJ  
       2016-12-06 14:19:05 +08:00
    @iiduce 对,人员参差不齐很影响效率。总是有种要把别人代码重写的冲动
    PeterPanX
        11
    PeterPanX  
       2016-12-06 14:22:01 +08:00
    关于产品,关于运营,关于“全栈 pm ”(三)
    shijingshijing
        12
    shijingshijing  
       2016-12-06 14:23:11 +08:00
    @lrh3321 还有运维, NND 我改一个东西,你跟我叽叽歪歪半天,这也不行,那也不行,各种权限限制。喷走你之后,老子改完就 push ,立竿见影,那成就感杠杠的~
    PeterPanX
        13
    PeterPanX  
       2016-12-06 14:24:05 +08:00   1
    关于产品,关于运营,关于“全栈 pm ”(三)
    https://zhuanlan.zhihu.com/p/21570740
    关于产品,关于运营,关于“全栈 pm ”(二)https://zhuanlan.zhihu.com/p/21387997
    关于产品,关于运营,关于“全栈 pm ”(一)
    https://zhuanlan.zhihu.com/p/21378316

    知乎刘锤写的全栈 PM 系列,和程序员同理
    echo1937
        14
    echo1937  
       2016-12-06 14:55:45 +08:00   1
    “全栈工程师”的概念和前几年流传的“ T 型人才”、“金字塔技能模型”是一个道理,背景是当下 IT 行业存在跨界多、培训出身多、本科 IT 毕业生质量不甚理想等等现状。说到底就是知识面窄,学习能力弱,导致跨工种 /部门沟通起来费劲、低效、推诿甚至扯皮,这种“互相认为对方是 SB ”的情况相信大家都遇到过。

    Google 连 SRE 部门都有 50%的人员招聘按照标准软件开发工程师的要求来录取, Facebook 之类的公司招起人来更是只分 Product 和 infrastructure ,因为人家招的动不动就是博士和专家,有足够的知识储备和技能保证,差不多拉一个出来就是架构师。

    但招黑的是,到了国内这个名词成了某些人炒作的手段,成了包装自我的名词,掀起反软件工程的反智风潮,甚至还出现了只会 JS 的“全栈工程师”,这就很烦了。
    loading
        15
    loading  
       2016-12-06 15:22:13 +08:00 via Android
    当初只有我一个人干。
    ZeroOne
        16
    ZeroOne  
       2016-12-06 16:54:20 +08:00
    页面,后台开发中。。。。
    cxbig
        17
    cxbig  
       2016-12-06 16:59:53 +08:00
    本以为招几个人来能分摊压力。事实表明有他们加入,会让我浪费更多时间。最后还是自己都干了比较省事。
    lcc4376
        18
    lcc4376  
       2016-12-06 17:29:06 +08:00
    基本上所有後端工程师都是全栈, 但前端玩不的前端工程师
    bramblex
        19
    bramblex  
       2016-12-06 17:52:03 +08:00
    @cxbig

    能让一群人干复杂工作的效率比一个人高的前提是需要一个好 leader 。一个人既然你能招进来,其实就说明它们的实力已经勉强能用了,只要不是纯粹捣乱,都可以产生正向的作用……
    paw
        21
    paw  
       2016-12-06 18:22:49 +08:00
    全栈不是意味着所有工作都需要你来做,而是在项目确定接口方案预估整体压力等时候,你能更好的沟通,不至于扯了半天牛头不对马嘴的谁了说不明白谁。
    gdsagdada
        22
    gdsagdada  
       2016-12-06 18:27:54 +08:00
    因为:老婆孩子丈母娘,过年送礼新衣裳
    echo1937
        23
    echo1937  
       2016-12-06 18:36:54 +08:00
    @bramblex 你开心就好。
    bramblex
        24
    bramblex  
       2016-12-06 18:57:45 +08:00
    @echo1937

    一群水笔居然觉得另外一群水笔会 JS ?按你们的门槛,我六年级的时候就会 JS 了
    linxl
        25
    linxl  
       2016-12-06 19:00:16 +08:00
    需求自己提原型自己画自己设计自己切图自己排版自己写接口自己调用接口自己上线...
    全天候 84 小时
    bramblex
        26
    bramblex  
       2016-12-06 20:08:39 +08:00   2
    算了,上点干货吧,不撕逼了。

    所谓全栈的出现是有多方面原因的,但最最最主要原因是产业的成熟。因为产业成熟了,大家有了标准的规范、高质量的轮子,以及铺天盖地的教程。就是在这样良好的土壤里,才能孕育出我们现在所谓的全栈。

    1. UI 框架的成熟

    如果没有以 Bootstrap 为代表的一系列 UI 框架,那么后端会被 css 无情地摁在地上摩擦致死。各位后端都想想自己手写 css 的时候都做出了些什么玩意儿……

    2. 各种 MVVM 框架的成熟

    说句不好听的,在学习各种 MVVM 这件事上,那些只会 JQ 、只有丰富踩坑经验的前端在面对后端的时候,同样是毫无还手之力的。一个熟悉 MVC 的后端可以轻松理解 MVVM 的设计逻辑,而一个只会 JQ 的前端还没搞明白为啥他不应该直接操作 DOM 。

    3. WEB 后端框架的成熟

    各种 《 10 分钟造一个博客》大家应该有所耳闻吧。现代的 WEB 框架,还真的有能力 10 分钟给你搭出一个博客来。这样的入门门槛,别说是有代码基础的前端啦,就是纯小白,入门也没有太大难度。

    4. 浏览器标准的统一

    上古混沌时期的的 WEB 前端,其实并不需要很好的编程能力,更多需要的是踩坑经验,解决各个浏览器不同的标准,不同的实现,甚至不同的 Bug 。所以上古混沌时期后段想摸前端,那真的会一次有一次地被摁在地上摩擦。

    最后,真的要感谢那些踩坑填坑造轮子写教程的前辈们,否则真的是一端就能被坑得焦头烂额了,哪有时间精力全栈?
    Jimrussell
        27
    Jimrussell  
       2016-12-06 23:33:16 +08:00
    @iiduce
    你那领导故意忽略你的功劳, 是因为他已经发现你某方面的能力已经超过他了... 这种中年小男人型的领导早点离他远些吧...
    murmur
        28
    murmur  
       2016-12-07 08:54:48 +08:00
    牛逼年限长的叫全栈 刚出来的叫打杂的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2677 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 14:36 PVG 22:36 LAX 07:36 JFK 10:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86