NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 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:0012349
用户头像

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

关注

评论

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

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

Java 集合中的排序算法浅析

京东科技开发者

jdk 后端 Java、 排序算法 企业号 2 月 PK 榜

面试官:你是怎样进行react组件代码复用的

beifeng1996

React

假如面试官问你Babel的原理该怎么回答

loveX001

JavaScript

迷恋管理是一种病

虎妞先生

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

程序员小毕

数据库 程序员 JVM 架构师 Java性能优化

vivo版本发布平台:带宽智能调控优化实践-平台产品系列03

vivo互联网技术

版本发布 CDN带宽

Python设置显示屏分辨率

Python 分辨率

搞懂Druid之连接创建和销毁

小小怪下士

Java 程序员 后端 Druid

文盘Rust -- 本地库引发的依赖冲突

京东科技开发者

后端 Clickhouse 本地计算 rust语言 企业号 2 月 PK 榜

ModStartBlog v6.7.0 后台管理优化,页面宽度调整

ModStart

面试官:说说React-SSR的原理

beifeng1996

React

Prompt Learning: ChatGPT也在用的NLP新范式

Baihai IDP

人工智能 自然语言处理 nlp ChatGPT 企业号 2 月 PK 榜

「读源码」为什么注册路由时没有传入上下文,在接口方法中却能取到?

王中阳Go

Go golang 高效工作 学习方法 程序员

开学季,5门优选好课助你在新学期狂飙!

博文视点Broadview

瓴羊Quick BI为企业决策者提供可视化分析服务

小偏执o

关于微服务架构的思考

HummerCloud

微服务 云原生

擅用瓴羊Quick BI报表分析工具,数据分析事半功倍

夏日星河

ChatGPT风口下的技术“狂飙”,天翼云荣登ZeroCLUE榜首

天翼云开发者社区

腾讯前端必会面试题(必备)

loveX001

JavaScript

在统信UOS上二进制安装GreatSQL

GreatSQL

MySQL UOS 统信 greatsql greatsql社区

Percona 8.0.30中show engine innodb status导致coredump排查及分析

GreatSQL

MySQL MySQL 高可用 :MySQL 数据库 greatsql greatsql社区

瓴羊Quick BI即席分析工具:创设数据分析捷径

巷子

疑似45亿条递信息泄露,“三类主体”如何应对?

极盾科技

数据安全

基于飞桨PaddleClas完成半导体晶圆图谱缺陷种类识别

飞桨PaddlePaddle

paddle 开源 飞桨

BeyondCampus-护航高校网络安全

权说安全

网络安全 零信任

百度前端必会react面试题总结

beifeng1996

React

unittest使用parameterized参数化后如何调用添加到测试套件中

Python 单元测试 自动化测试 unittest 测试套件

面试了20+前端大厂,整理出的面试题

loveX001

JavaScript

有爱相伴,宠爱有家,皮皮App发起关爱流浪动物主题公益活动

联营汇聚

最初设计时就会避开钽电容,这是为什么呢?三大理由告诉你原因

元器件秋姐

元器件 电容 钽电容

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