写点什么

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

  • 2016-01-14
  • 本文字数:2348 字

    阅读完需:约 8 分钟

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 开发者来说都是光明的,无论是前端、后端,还是全栈。要坚持学习一切有价值的东西;掌握新的框架、语言与平台;并且与开发者同事及最终用户保持高效的沟通。在这种情况下,无论世界发生什么变化,你都会始终立于不败之地。

各位 InfoQ 中文站读者,相信大家也对 Web 开发的前端、后端及全栈工程师有着自己的认识和理解。你现在的工作可能就位于这 3 种类型中的一种或是几种。当然了,无论是前端还是后端都有大量的知识和技能需要我们理解并掌握,对于通才与专才的理解也是见仁见智的。在某一个领域做到很深的程度会为公司与用户带来价值;熟练掌握各个领域的知识也是颇具价值的。那么,在你的眼里看来,何为全栈工程师呢?要想成为全栈工程师需要开发者付出哪些努力呢?全栈工程师的价值与专注于特定领域的工程师价值之间是如何对比的呢?你认为自己是否应该成为全栈工程师呢?欢迎发表你的看法与见解,并与其他读者一同交流和讨论。

2016-01-14 00:1012481
用户头像

发布了 88 篇内容, 共 267.5 次阅读, 收获喜欢 8 次。

关注

评论 2 条评论

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

Jira 母公司全面停服 Server 产品,用户如何迁移至极狐GitLab

极狐GitLab

画眉(京东科技设计稿转代码平台)介绍

京东科技开发者

一些无人不知的命名规范

小魏写代码

随想2024.01.21

hackstoic

精力管理

阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台

阿里巴巴云原生

阿里云 云原生

Linux 中常见目录的作用

emanjusaka

Linux 目录

【2024开年必备】最全面的Macbook/苹果电脑必备实用软件推荐

Rose

苹果软件 装机必备 Mac应用

为什么人工智能与软件测试的结合话题开始火爆

测试人

软件测试 自动化测试 测试开发

FlagData 2.0:全面、高效的大模型训练数据治理工具集

mr.well

NLP 大模型 LLM模型 #大模型

Nacos 在云原生架构下的演进

阿里巴巴云原生

阿里云 云原生 nacos

推荐收藏 | 【Git实战专题】「必坑宝典」带你深入剖析Git操作指令下的奥秘原理和运作机制

码界西柚

Java git 原理分析 后端处理 2024年第十八篇文章

texifier mac LaTeX编辑工具下载安装(原Texpad)

Rose

Mac软件 LaTeX 编辑器 Texpad Texifier激活码

活动回顾丨阿里云云原生 Serverless 技术实践营西安站 PPT 下载

阿里巴巴云原生

阿里云 Serverless 云原生

可观测实践丨如何利用 AI 算法解决告警配置三大难题?

阿里巴巴云原生

阿里云 云原生 可观测

魔搭×函数计算:一键部署,缩短大模型选型到生产的距离

阿里巴巴云原生

阿里云 云原生

面试官:Redis持久化能关吗?怎么关?

王磊

Java 面试题

MSE Nacos:解决敏感配置的安全隐患

阿里巴巴云原生

阿里云 微服务 云原生 nacos

Spark SQL五大关联策略

京东科技开发者

Rainbond v5.17 版本发布,统一管理离线镜像和私有仓库

北京好雨科技有限公司

Kubernetes 云原生 容器云 离线

2023启示录丨我的大模型创业这一年

自象限

创业 #大模型

从内核的视角观测容器——SysOM 容器监控

阿里巴巴云原生

阿里云 云原生 容器服务

弹性调度助力企业灵活应对业务变化,高效管理云上资源

阿里巴巴云原生

阿里云 云原生 弹性计算

云消息队列 Kafka 版阿里云 SAE 2.0 正式商用:极简易用、百毫秒弹性效率,降本 40%生态谈第一期:无代码转储能力介绍

阿里巴巴云原生

阿里云 Serverless 云原生

恭喜 Nacos 和 Sentinel 荣获 2023 开源创新榜“优秀开源项目”

阿里巴巴云原生

阿里云 云原生

秒速出图!体验 TensorRT 加速 Stable Diffusion 图像创作

阿里巴巴云原生

阿里云 云原生

改变命运的抉择

少油少糖八分饱

小说 命运 东野圭吾 推理小说 悬疑

文心一言 VS 讯飞星火 VS chatgpt (184)-- 算法导论13.5 1题

福大大架构师每日一题

福大大架构师每日一题

2023年的技术总结和工作反思

芯动大师

年终总结

你是否应该成为一名全栈工程师?_文化 & 方法_张龙_InfoQ精选文章