写点什么

全栈开发工程师就是个神话

  • 2015-09-15
  • 本文字数:1315 字

    阅读完需:约 4 分钟

“全栈开发工程师(full stack developer)”一词经常出现在企业招聘的岗位描述中。但 Hello Pretty 联合创始人兼首席技术官 Scott Hadfield 在近日发表的一篇博文中指出,全栈开发工程师就是一个神话,即使不完全如此,用人单位也很难找到一个这样的人。

为了进一步阐述这一观点,他列出了下面这样一个并不详尽的“栈”:

用人单位对全栈开发工程师的预期远远超出一般人的能力。全栈开发工程师至少需要对栈中的每个组件都有足够深入的了解,以便能做出明智的选择及向管理层解释。上图所示的技能表每年每层都会增加新的组件,每隔几年又会增加新的层。因此,Scott 认为,在招聘时寻找全栈开发工程师不仅不合理,简直就是愚蠢。

不过,Scott 也承认,确实有人具备全栈能力。也有许多距离全栈尚远,但仍然令人惊叹的开发人员、设计人员和项目管理人员。而有些自称全栈工程师的人也仅能列出上述一半多的组件,就更不用说组件之间的交互了。于是,他写道:

我看到的几乎所有使用全栈一词的情况(尤其是在招聘海报中),用人单位真正的意思只是寻找“令人惊叹的人”。

另外,Scott 指出,全栈开发工程师或许根本就不应该编写代码,而应该更多地充当系统架构师或集成工程师的角色。在使用“全栈开发工程师”这样一个流行术语时,应该说明是哪个“栈”,比如是 Web 栈,还是移动栈。

最后,Scott 总结道:

全栈开发工程师就是一个神话,不是因为不存在这样的人,而是因为这个术语没意义。

Scott 的博文在 Hacker News 上引发了激烈的讨论。网友 andrewstuart 对“全栈开发工程师”的理解在参与讨论的网友中具有一定的代表性:

我对全栈开发工程师的定义是,他们能够自己构建和部署一个完整的、可以工作的应用程序,而不需要其他任何人的帮助。那意味着他们能够编写前端、后端代码,能够配置服务器,当然还能够设计数据库表。

不过,有网友认为运维技术也应该是开发过程的核心部分。如果花费大量时间构建的应用程序因为运维细节无法按计划部署,那会导致大量的返工。

有许多网友都持有与 andrewstuart 类似的理解,他们认为全栈开发工程师并不是一个神话。BadassFractal 就是其中一例:

我就做全栈开发,包括 Ops(通过各种 CM 工具配置 AWS 并向上部署应用程序……)、DB(PostgreSQL 用了 5 年……)、后端(独立构建类似 Rails 的框架……)、前端(可以综合运行原始 DOM、Backbone 及 React)等所有这一切。

缺点是,我在其中任何一个方面都不是真正的核心专家,因此,其中任何一个领域中的任意一名优秀专家都比我强。

BadassFractal 的后一部分观点颇具代表性。jvehent 也认为,一个人可以成为全栈开发工程师,但却无法成为一名全栈专家。对此,有网友指出,企业应该给这两种人都留有空间。另有网友表示,如果企业在招聘时只盯准了前端和后端均是专家级的开发人员,那非常可惜,因为在一个多人团队中,他们全面的能力并不能得到有效的发挥。

网友们还有其它一些有趣的观点。感兴的读者可以自行阅读


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-15 19:0012705
用户头像

发布了 1008 篇内容, 共 414.1 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

第五周总结

小兵

架构师训练营 1 期第 9 周:性能优化(三)- 作业

piercebn

极客大学架构师训练营

【架构师训练营第 1 期 09 周】 作业

Bear

极客大学架构师训练营

架构师训练营 - 第九周作业

一个节点

极客大学架构师训练营

架构师训练营第 9 周学习总结

netspecial

极客大学架构师训练营

作业--week09

张荣召

9.1数据库基本原理

张荣召

第五周作业1

jingx

大型网站架构 - 缓存|异步|负载均衡

知悦

CompletableFuture让你的代码免受阻塞之苦

Silently9527

java8 CompletableFuture 多线程与高并发

wee5 技术选型(一) 作业

杨斌

从0开始用Hexo框架搭建个人博客(无坑版)

清菡软件测试

Hexo

week5 技术选型(一) 学习总结

杨斌

极客大学架构师训练营第五周作业

井中人

极客大学架构师训练营

架构师训练营—第九周学习总结

Geek_shu1988

9.3JVM垃圾回收性能分析

张荣召

架构师训练营第 1 期第 9 周学习总结

好吃不贵

极客大学架构师训练营

一致性哈希算法

Sandman

极客大学架构师训练营

JVM垃圾回收原理

A p7+

架构师训练营第5周总结

Sandman

极客大学架构师训练营

周练习 9

何毅曦

9.4Java代码优化技巧及原理

张荣召

架构训练营第五周作业

一期一会

架构师训练营 - 第九周总结

一个节点

极客大学架构师训练营

架构师训练营—第九周作业

Geek_shu1988

9.2JVM虚拟机架构原理

张荣召

学习总结--week09

张荣召

一次用户故事拆(SPIDR)法实践

Bruce Talk

Agile 用户故事 User Story

数据库基本原理

天天向上

极客大学架构师训练营

第五周总结

孤星

我的亲历:一行代码,百万人民币打水漂

白色蜗牛

Java 程序员 架构 程序人生 职场

全栈开发工程师就是个神话_语言 & 开发_谢丽_InfoQ精选文章