你是否应该成为一名全栈工程师?

简介: 你常常听说“全栈工程师”这个叫法吧,不过这到底表示什么意思呢,你觉得自己应该成为一名全栈工程师么?下面我们就来探讨一下这个话题。在Web与软件开发的世界中有3个基本的关注点:前端、后端与全栈。下面就来解释一下他们的含义。

 Asaf Yigal是Logz.io的联合创始人与产品副总裁。在Logz.io之前,Asaf与他人联合创立了Currensee,这是一个社会化交易平台,后来在2013年被OANDA收购。在 Currensee之前,Asaf在Akorri负责管理和开发一款端到端的性能监控平台,在Onaro开发过一款存储资源管理平台。后来,Akorri 与Onaro都被NetApp收购了。在Onaro之前,Asaf在以色列海军带领一个研究团队,从事人工智能系统的开发与军事化应用相关工作。近 日,Asaf撰写了一篇文章,谈到了他对于全栈工程师的认识与理解。

        你常常听说“全栈工程师”这个叫法吧,不过这到底表示什么意思呢,你觉得自己应该成为一名全栈工程师么?下面我们就来探讨一下这个话题。在Web与软件开发的世界中有3个基本的关注点:前端、后端与全栈。下面就来解释一下他们的含义。

何为全栈工程师?

        前端工程师:在打开一个网站时,屏幕上的一切都属于前端。前端工程师负责创建用户界面背后的代码。这些工程师不仅要熟悉HTML、 JavaScript与CSS,还要掌握很多框架。这些框架有Foundation、Angular JS、Ember JS、Backbone及Bootstrap等等。前端工程师要与设计师和其他专家协同工作,从而将网站从模型转换为可使用的模式。 后端工程师:在你每天所访问的网站背后有服务器网络、数据库以及各种应用,他们相互协作将你所请求的网页与数据传递给你。后端工程师负责构建这些组件。他 们要擅长各种编程语言,如Python、.Net、Ruby、Java及PHP等等,从而通过这些语言来编写程序。他们还需要使用各种数据库程序如 MySQL、SQL Server及Oracle等来操纵信息并将其传递给最终用户。后端工程师需要与组织中的各种经理及其他成员通力配合来完成工作。 全栈工程师:全栈工程师既要了解后端开发,也要了解前端开发。他们是“全方位”的工程师,熟悉服务端的同时又懂客户端用户体验。全栈工程师理解Web开发 进程的每一个方面,同时又会就整体策略与最佳实践对相关干系人提出建议与指导。

角色演变

        在早期的桌面计算时代,我们常常会看到一个人就完成了整个应用的开发工作。随着程序变得越来越复杂,以及越来越多的技术涌现了出来,一个人很难再完 全掌控应用开发的各个方面。在21世纪初期,一些拥有专业化技能的专家开始出现。由于复杂性的持续攀升,当Web 2.0站点开始出现时,很多程序员又回到了更简单的方式上来。相比于构建复杂的数据库和企业计算网络,开发者开始部署稳定的LAMP栈(Linux、 Apache、MySQL与PHP),并创建出了灵活的面向对象语言,如Django与Ruby on Rails。在这种环境下,全栈工程师的价值变得越来越大,因为他们熟悉大多数现代框架与语言。

运维复杂性的回归

        不过,由于移动计算与iOS和Android平台的兴起,我们又回到了复杂性的新时代:低成本的云服务器如Amazon Web Services和微软的Azure、MongoDB等数据库、Node.js与Angular.js等前端技术、Docker等容器技术。这些平台、服 务与框架都拥有自身的特性。因此,一个人几乎无法成为能够掌握所有技术的全栈工程师。

通才与专才

        在当前的环境下,成为全栈工程师的好处在于没多少人拥有足够的知识、经验与沟通能力来整体把控使用了各种平台与框架的项目,如HTML5、机器学习 及Scala等。因此,高水准的全栈工程师总是供不应求的。不过,坏处则在于对于全栈工程师来说,他需要能够熟练掌握这些组件,但这是非常困难的事情,况 且未来还会有新的技术涌现出来。你可能很聪明,但这些组件本身却是非常复杂的,每几个月都会出现新的语言和平台。要想时刻保持技术上的领先是一件极其困难 的事情。出于这个原因,专才拥有自己独特的优势。组织倾向于雇佣专门的角色,因此相比于其他开发者来说,专才在深层次的知识以及某个狭窄领域的经验上会更 胜一筹。

全栈工程师的薪资

        无论选择在前端还是后端进行深入学习,抑或是将自己定位成一个全栈的通才,从工作前景上来看都是好的。根据美国劳工统计局发布的统计信息来看,软件 工程师是未来10年最具发展潜力的职业之一。2014年,大约有718,000名软件工程师;从全国范围来看,其平均薪资大约为$95,510。这个数字 未来还会继续攀升。那么,到底什么才是最好的工作呢?这取决于你的背景、经验与目标。前端工程师需要掌握如下技能:

  • HTML与HTML5

  • CSS、CSS3与SASS

  • PHP

  • JavaScript

  • jQuery、Angular.js、React,js与Node.js

  • Websockets与Ajax requests

  • 浏览器开发工具与调试器

  • Python

  • Git

后端开发者应该精于服务端编程、语言与框架,如:

  • C与C++

  • Python

  • JavaScript

  • Ruby on Rails

  • PHP

  • Perl

  • Node.js与Express

  • MongoDB

  • Postgres

  • MySQL与NoSQL

  • Git

  • Web APIs

  • Go

        如果想要向着全栈工程师的方向迈进,你应该掌握很多知识与技能,并且熟悉上面提到的各种组件。此外,还要提升自己的个人沟通技能,这样才能管理并与 前端与后端开发者实现较好的协作。好消息是未来对于每一类Web开发者来说都是光明的,无论是前端、后端,还是全栈。要坚持学习一切有价值的东西;掌握新 的框架、语言与平台;并且与开发者同事及最终用户保持高效的沟通。在这种情况下,无论世界发生什么变化,你都会始终立于不败之地。

目录
相关文章
|
7月前
|
弹性计算 自然语言处理 关系型数据库
如何在阿里云ECS上部署Hermes Agent:从零搭建自然语言数据库查询代理
Hermes Agent是一款轻量级NL2SQL代理服务,基于Dataherald引擎,支持MySQL/PostgreSQL等数据源。本文详解其在阿里云ECS(Ubuntu 22.04)上的完整部署流程,涵盖环境配置、依赖安装、数据库对接、服务守护及API测试,助数据分析人员用自然语言快速获取数据结果。(239字)
|
3月前
|
人工智能 Cloud Native 安全
Agentic Cloud 架构重构:AI桌面管理系统在阿里云原生环境下的规模化落地
本文剖析云原生与Agentic时代下内部威胁新形态,揭示传统桌面管理失效困境;提出AI驱动的智能终端治理方案,依托阿里云Agentic Cloud全栈能力(Agentic OS、ACK、FC、百炼模型),实现秒级风险识别、自然语言审计与Agent自治闭环,兼顾安全合规与降本增效。(239字)
|
4月前
|
缓存 人工智能 数据可视化
GLM 5.2自托管完整实操指南:硬件选型、vLLM/SGLang部署与成本测算全解
GLM 5.2作为国产标杆级开源大模型,采用753B MoE混合专家架构,单次推理仅激活8个专家模块,原生支持百万Token超长上下文,在代码生成、复杂数学推理、长篇文档分析等场景综合能力突出。企业选择GLM 5.2本地/私有云自托管,核心收益在于数据完全不出域、模型可深度定制、长期算力成本可控,但落地需要解决硬件匹配、推理框架适配、性能调优、成本核算四大核心难题。同时,搭配OpenClaw、Hermes两类主流AI智能体,可搭建完整本地自动化工作流,结合阿里云百炼Token Plan云端订阅方案,形成本地私有化+云端弹性混合使用架构。本文完整覆盖GLM 5.2硬件分级方案、两大主流推理框架部
842 1
|
5月前
|
缓存 人工智能 NoSQL
大模型调用太贵?阿里云Tair语义缓存公测:命中即省
大模型成本黑洞在Output Token!阿里云Tair AI Gateway推出语义缓存,通过向量检索识别语义重复请求,跳过LLM推理,实测命中率近60%、准确率F1达0.89,毫秒级响应。兼容OpenAI/Redis API,4步接入,公测期全免费。
|
缓存 NoSQL 前端开发
如何开发工程项目部管理系统中的物资管理板块(附架构图+流程图+代码参考)
工程项目部物资管理需构建“申请→审批→采购→入库→领用→盘点→预警”闭环流程,实现库存可视、差异可控、现场高效。本文详解落地思路、架构设计、关键表结构、业务流程及开发技巧,并提供核心代码示例与FAQ,助力企业实现数据驱动的物资管理体系。
|
7月前
|
人工智能 小程序 前端开发
从0到1搭建AI真人数字人小程序:源码方案与落地流程详解
本文从实际开发角度出发,系统解析了AI真人数字人小程序的核心架构、源码选型与落地流程。围绕数字人驱动、AI对话能力及小程序交互三大模块,详细拆解从0到1的搭建路径,并结合实际项目经验分享关键优化点与商业化思路。适合软件开发者、创业团队及企业数字化转型参考,帮助快速实现AI数字人项目落地与变现。
|
8月前
|
存储 人工智能 安全
OpenClaw(Clawdbot)从中级到高级进阶指南:部署+记忆系统+多Agent协作实操及避坑手册
OpenClaw(原Clawdbot)作为开源AI Agent框架,其核心价值在于可扩展性与深度定制能力。多数用户完成基础部署后,仅能使用基础对话与简单技能调用功能,难以发挥其全部潜力——中级到高级的进阶,本质是从“会用”到“活用”的跨越,核心突破点在于**记忆系统优化、多Agent协作、自定义Skill开发、自动化工作流搭建**四大模块。
1790 1
|
数据采集 大数据 BI
终于有人把指标管理平台讲明白了!
企业常因数据口径不一、重复开发、效率低下等问题陷入“数据扯皮”。搭建指标管理平台可统一标准,提升数据质量与协作效率。通过FineBI等工具,实现数据连接、指标管理、分析应用三层架构,推动数据驱动决策,助力企业降本增效,真正实现数据资产化。
终于有人把指标管理平台讲明白了!
|
敏捷开发 算法 测试技术
软考中级软件设计师专项-软件工程专题上篇
本篇章精讲软考中级软件设计师“软件工程”核心内容,涵盖CMM/CMMI成熟度模型、瀑布/螺旋/敏捷等开发模型、系统测试与维护策略及McCabe复杂度等考点,结合例题解析,助力构建全生命周期知识体系,精准突破考试重难点。
781 1
软考中级软件设计师专项-软件工程专题上篇
|
缓存 前端开发 NoSQL
如何开发工程项目部管理系统中的进度管理板块(附架构图+流程图+代码参考)
本文介绍如何构建一个高效的工程项目进度管理板块,涵盖系统架构、数据模型、核心功能、业务流程及开发技巧。内容包含四个关键代码示例,便于快速落地开发,帮助解决进度不准与沟通不畅两大工程难题。