zoukankan      html  css  js  c++  java
  • 全栈开发工程师,就是个神话~【转载+整理】

    原文地址

    这篇文章很有道理,如果放在十几年以前,说全栈工程师,还可以,那时的 Web 站点的访问量不是很大,大都是一台 Web 服务器和一台数据库服务器,采用分离的结构,更有甚者,Web 服务器和数据库服务器是同一台服务器,一个工程师,就可以完成所有的工作,包括,用 Oracle 或 MySQL 建立数据库,编写 Web 的前端和后端,前端包括 HTML,CSS,JavaScript,后端则可采用 Java,PHP,.NET,Ruby,更有用 Lisp 的(国外比较多)。现在的大网站,都是由当初的小网站起步的,即便是 Facebook,当初也是扎克伯格部署在宿舍里的。但现在,光靠一个人,这几乎是不可能完成的任务,尤其是想搞出个高可用,高性能的 Web 站点,比如,电商网站,每年双11淘宝的访问量,估计你也看过,12306 在每年春运的宕机~加之,均衡负载(各个层的均衡负载),CDN,读写分离,分库分表,主库备库,(消息)中间件,服务发现,现在的云,虚拟化,各种容器……等等一系列令人眼花缭乱的技术和策略,其中的任何一个都可以写本书出来~对了,还有移动端,再说全栈工程师,就显得极为不靠谱,谁有这么大能力和精力,把这些一套的东西,都弄明白呢,不只要弄明白,还要让各个构件衔接起来~

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

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

    1 aapxdvOS2pegg0DAqoOrYw

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

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

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

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

    最后,Scott 总结道:

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

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

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

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

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

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

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

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

  • 相关阅读:
    解决PKIX:unable to find valid certification path to requested target 的问题
    Linux 上的常用文件传输方式介绍与比较
    用VNC远程图形化连接Linux桌面的配置方法
    红帽中出现”This system is not registered with RHN”的解决方案
    linux安装时出现your cpu does not support long mode的解决方法
    CentOS SSH配置
    es6扩展运算符及rest运算符总结
    es6解构赋值总结
    tortoisegit安装、clon、推送
    es6环境搭建
  • 原文地址:https://www.cnblogs.com/liuning8023/p/4823430.html
Copyright © 2011-2022 走看看