什么是全栈开发者?

简介: 纯粹基于道德而掌握开发堆栈的每一方面的预期是合理的吗?可能不是,但Facebook这样要求。一个Facebook的员工在OSCON告诉我,Facebook只雇佣全栈开发者。那么全栈开发者是什么意思呢?对我来说全栈开发者是对每一层都熟悉的人,如果不真正对所有的软件技术感兴趣不会对它们精通。好的开发者熟悉整个堆栈,他们是知道如何使生活周边的事更容易的人。这就是为什么在办公室我如此反对偏执的原因,当然,政治及沟通挑战在大型组织中还是按固有的套路。我认为Facebook所持有的招聘政策是:如果聪明的人用脑用心,就能在更短的时间内构件更好的产品

纯粹基于道德而掌握开发堆栈的每一方面的预期是合理的吗?可能不是,但Facebook这样要求。一个Facebook的员工在OSCON告诉我,Facebook只雇佣全栈开发者。那么全栈开发者是什么意思呢?


对我来说全栈开发者是对每一层都熟悉的人,如果不真正对所有的软件技术感兴趣不会对它们精通。


好的开发者熟悉整个堆栈,他们是知道如何使生活周边的事更容易的人。这就是为什么在办公室我如此反对偏执的原因,当然,政治及沟通挑战在大型组织中还是按固有的套路。我认为Facebook所持有的招聘政策是:如果聪明的人用脑用心,就能在更短的时间内构件更好的产品。


全栈的层:

1. 服务器、网络和服务器环境

  1. 知道哪里可能崩了和为什么会崩,没有什么是理所当然的。
  2. 适当的使用文件系统,云存储、网络资源,必须具备数据冗余和可用性的概念。
  3. 知道应用的伸缩性对硬件的需求。
  4. 什么是多线程和竞争条件?想想看,在开发机上你可能看不到这些,但是现实环境中它们就是会发生。
  5. 全栈coder还要能与运维并肩作战。提供有价值的错误信息和日志。确保它们是可靠的,因为运维会在你之前看到这些东西。(原文为 DevOps


2. 数据建模

  1. 如果数据模型有缺陷,业务逻辑和上层逻辑就要用奇怪的代码(很丑)来弥补数据模型的缺陷。
  2. 全栈开发者要能够建立合理的、标准的关系模型,包括外键、索引、视图、查找表等。
  3. 全栈开发者要熟悉非关系型数据存储(应该指的不止是NoSQL),并且知道它们相对关系型存储优势所在。


3. 业务逻辑

  1. 应用提供的核心价值。
  2. 可靠的面向对象技能。
  3. 可能会用到的框架。


4. API层、Action Layer、MVC

  1. 理解外部对数据模型和业务逻辑的操作。
  2. 处于该层的框架应该被大量应用。
  3. 全栈开发者要具备编写干净、一致和易用的接口。过高的复杂度让人厌恶。


5. UI

  1. 全栈coder:a)知道如何创建可读的页面布局;b)或者具备足以协助设计师的知识。A或B,关键是要能有好的视觉设计。
  2. 掌握HTML5和CSS。
  3. JS正在逐步成为语言新锐,Javascript的世界里已经完成了很多激动人心的工作(node, backbone, knockout...)。


6. 用户体验

  1. 全栈coder要知道用户需要的就是It works!
  2. 一个好的系统不会废了用户的手腕和眼睛。一个全栈coder会发现和审视需要8次3点击、3步操作的流程,并最终把它一键搞定。
  3. 提供有价值的错误信息。如果崩溃了,就要向用户致歉。有时候程序员会写出让用户自我感觉很二的错误信息。


7. 知道用户和业务到底要什么

  1. 至此我们模糊了开发与架构的界限,但是角色转换很重要。
  2. 全栈coder要明确知道用户使用软件时的场景,而且要领会业务。

关于这个问题的其它方面:

  1. 编写高质量的单元测试能力。顺便说一下现如今连JS也可以做单元测试了。
  2. 持续集成。发掘程序构建中重复、可自动化的流程,在一定程度上自动完成测试、文档和部署。
  3. 对安全性的敏感,不同的层都可能有自己的脆弱点。


最后:

应用严重依赖一个特定的第三方实现(lib、系统、硬件等)是非常糟糕的实践。全栈开发者要知道了解全面不代表就可以走捷径。当然在抛弃原型法中,他们可以这么干。

在技术起步时很需要全栈开发者的多面技能。然而,在团队定型后,会越来越需要专注技能。


我不觉得在具备了多语言、多平台甚至跨行业的职业生涯之前,你可以称自己为全栈开发者。全栈远超“高级工程师”,它更接近是多语言的开发者并且能在更高的角度看到之间的关联。注意在我的列表中只有3-5项涉及到编码。

相关文章
|
4月前
|
人工智能 弹性计算 自然语言处理
Moltbot(原Clawdbot)是什么?新手从0开始1键购买并部署Moltbot教程
Moltbot(原Clawdbot)作为一款热门开源AI助手,具备实际任务执行能力,可清理收件箱、发送邮件、管理日程、办理航班值机等,支持通过WhatsApp、Telegram等常用聊天应用交互,满足个人专属智能辅助需求。本文提供基于阿里云轻量应用服务器的零基础部署教程,无需复杂技术储备,即可实现Moltbot 7×24小时稳定运行,支持海外地域部署,帮助快速打造私人智能助手。
443 2
|
数据库 数据安全/隐私保护 Windows
|
5月前
|
传感器 数据采集 安全
基于 STM32 的智能窗户控制系统设计与实现【源码分享】
基于STM32与ESP8266设计智能窗户系统,集成温湿度、雨滴、光照、风速等多传感器,实现环境感知、自动开关窗、入侵检测及远程APP控制。支持MQTT/HTTP通信,具备高扩展性与实用性,助力传统家居智能化升级。(239字)
基于 STM32 的智能窗户控制系统设计与实现【源码分享】
|
5月前
|
人工智能 自然语言处理 数据可视化
阿里云AI智能建站系统万小智介绍、配置价格及版本功能支持说明
阿里云万小智AI建站,基于通义大模型,提供智能设计、内容创作、多语言支持等功能。三版可选:基础版698元/年,标准版980元/年,企业版1980元/年,买即赠CN域名。支持可视化编辑、电商支付、SSL加密等,集成CDN、短信服务,部署便捷,助力企业快速搭建安全官网。
614 0
|
4月前
|
人工智能 安全 架构师
AI Agent 职业路线体系化指南:从入门到专家的进阶框架与赛道布局
2026年,AI Agent已成企业核心生产力。本文系统梳理三大职业方向:架构师(多智能体系统设计)、行业调教专家(RAG+垂直Know-how)、运营与安全官(可信与合规保障),并给出0-5年进阶路径与窗口期机遇,助开发者构建不可替代的职业护城河。(239字)
500 4
|
4月前
|
存储 缓存 固态存储
SSD固态硬盘数据恢复全攻略
SSD数据恢复远比HDD复杂,TRIM指令、磨损均衡与主控机制均使其数据易永久丢失。误删文件后应立即断电、禁止写入,并通过专业软件预览恢复。硬件异常则需交由专业机构处理。珍惜数据,重在预防与备份。
|
4月前
|
人工智能 监控 安全
3370万用户数据外泄引爆韩国“精准钓鱼”潮:从Coupang事件看现代网络钓鱼的攻防博弈
2025年11月,韩国Coupang平台超3370万用户数据泄露,引发全国性精准钓鱼攻击。诈骗者利用真实信息实施“情境化诱导”,结合AI语音克隆、伪装网站与中间人劫持等技术,大幅提升欺骗性。事件暴露企业权限管理漏洞,并警示全球:数据泄露正成为网络犯罪的“燃料库”。防御需构建从零信任架构、终端行为监测到用户安全素养的多层体系,推动技术、监管与公众协同应对新型数字威胁。(238字)
265 6
|
人工智能 搜索推荐 小程序
全来店×蚂蚁百宝箱:智能体开启连锁餐饮智慧化服务新时代
2025外滩大会,全来店联合蚂蚁百宝箱发布餐饮AI智能体,打造“AI点餐吧”。依托百灵大模型,实现一句话点餐、个性化推荐、精准营销与连锁管控,重构智慧餐饮服务链,推动行业降本增效,开启消费新体验。
609 0
|
5月前
|
XML 安全 数据格式
RAG面临的挑战与前沿探索
当前RAG面临知识关联缺失、推理与检索割裂、多模态理解弱、可信度难量化及长上下文建模难等深层问题。前沿探索聚焦检索增强、生成控制与优化分块,通过混合检索、查询扩展、递归推理、强制引用、语义分块等技术,推动RAG向动态交互、可解释、高可信方向演进。(238字)
|
5月前
|
监控 数据可视化 数据挖掘
新手必看!零基础数据分析工具推荐,数据治理工具哪家好
本文盘点10款主流BI工具,涵盖瓴羊Quick BI、Tableau、Power BI等,从核心优势、适用场景到新手常见问题全面解析,助力企业及个人根据使用人群、数据规模、生态兼容与预算选择合适工具,实现低门槛、高效能的数据驱动决策。

热门文章

最新文章