您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

解码全栈!

时间:2023-08-21 12:35:00  来源:51CTO  作者:

作者 | Ivan Novak

编译 | 徐杰承

你想成为一名全栈工程师吗?在如今这个大兴降本增效的时代,“全栈”似乎被动的成为了大部分开发者的最终归宿。

在一部分人眼中,全栈代表着更快的成长速度、更丰富的岗位选择,更全面的技术栈也能够为晋升管理岗铺平道路。也有一部分人认为,全栈意味着万事通但无一精通,全栈工程师难以具备专业开发人员在特性领域的深厚技术知识,这使得他们在面对一些极致的细节需求时会显得力不从心。

如果此刻你是一位正在迷宫中摸索的开发人员,想弄清楚全栈路径是否适合自己,那么接下来就让我们对全栈工程师进行一次系统的解码。

1、什么是全栈工程师

全栈工程师就像一位多才多艺的艺术家,在画布的两面绘画,每一面都代表软件应用程序的不同方面。

从本质上讲,全栈工程师是精通处理前端(Web 应用程序的可见部分)和后端(服务器、数据库和应用程序基础设施)的开发人员。这也是全栈工程师需要具备的最主要的技术栈。

然而“全栈”一词虽然在传统意义上指的是同时从事前端和后端工作的人,但科技行业不断发展的性质为全栈添加了更多要求。包括处理云服务、DevOps任务,甚至了解 UI/UX 原则。全栈工程师的目标是拥有软件开发过程的整体视图。

需要注意的是,成为一名全栈工程师并不一定意味着掌握这些环节中的每一项技术或工具。相反,全栈工程师需要对每个领域的有足够的理解能力,制定跨越整个 Web 应用程序的解决方案。

根据我的经验,每个全栈工程师无一例外都有自己喜欢的工作领域。即使他们花时间掌握了许多(甚至所有)领域,每个人也会发现其中的一个领域比其他领域更有价值或令他们能够获得更多的成就感。

2、全栈开发的演变

要真正了解全栈工程师的本质和意义,就要追溯这个角色的演变轨迹。全栈开发虽然在当代被广泛定义和采用,但它本质上还是植根于软件开发历史中的角色。

在数字时代的初期,软件开发中的专业角色概念几乎不存在。开发人员经常身兼数职——设计界面、编写代码和管理数据。从本质上讲,他们是最初的全栈开发人员。这种整体方法主要是由于应用程序的简单性和有限的技术堆栈。

然而随着技术的发展和网络变得越来越复杂,软件开发的复杂性也随之增加。开发人员开始缩小关注范围,形成前端开发人员、后端开发人员、数据库管理员等不同的角色。这个时代标志着任务和责任的细分,强调特定领域的深度而非广度。

2010 年左右,转变开始出现。工具、框架和平台的快速扩散与敏捷方法相结合,为全栈开发的复兴铺平了道路。尤其是初创企业,希望开发人员能够快速构建原型并在整个应用程序堆栈中进行迭代。这导致了全栈的复兴——全栈工程师能够制定端到端解决方案、简化开发流程并加速产品上线。

如今,全栈开发不再只是一个流行词,而是一套有形的、有价值的技能。借助云技术、微服务、laC以及不断发展的技术环境,现代全栈开发人员不再关注掌握每项技术,而是更多地关注适应性、解决问题和理解各种组件的相互作用。它是关于在前端和后端、数据和界面、设计和逻辑之间建立桥梁。

3、全栈的优势和劣势 

一头扎进全栈开发的广阔世界既令人兴奋又令人畏惧。就像任何职业选择一样,全栈也有着自身的优势和挑战。

优势方面,全栈开发人员既可以创建时尚、交互式的前端,也可以构建强大、高效的后端。这种双重专业知识使他们能为许多团队提供帮助,特别是在更需要多功能角色的初创公司或小型公司中。

其次,凭借整体经验,全栈开发人员可以可视化项目的完整生命周期。这种整体视角有助于做出有利于项目的明智决策。

与此同时,全栈开发人员通常拥有更广泛的工作机会。无论是深入研究后端解决方案还是制作更完美的用户界面,他们的技能都非常丰富,对各种雇主都有吸引力。

最后,掌握整个 Web 应用程序结构通常意味着全栈开发人员可以更有效地解决问题。全栈开发的不同需求也能够促进开发者持续学习,使角色能够保持一种长期的进步状态。

劣势方面,随着技术工具和框架的快速发展,有时全栈所需知识的广度可能会以牺牲某一领域的深度为代价。虽然全栈开发人员在各个领域都有技能,但他们很难具备专业开发人员在特定领域的深厚专业知识,对于需要特定领域深厚技术实力的项目来说,这会是一个限制。

而雇主或团队成员有时可能会有不切实际的期望,假设全栈开发人员可以无缝处理他们遇到的任何任务,从而导致潜在的偏差。

在整个堆栈中兼顾职责也可能会导致工作时间延长和工作量增加,如果不加以管理,可能会导致更快的倦怠。此外,持续为前端和后端解决方案做出选择可能会导致决策疲劳,随着时间的推移会影响选择的质量。

4、全栈适合你吗

决定全栈途径是否适合您的职业生涯不仅仅是权衡利弊,还需要反思、了解自己的优势、目标以及工作环境。在考虑全栈之旅时,需要着重思考以下几点。

首先是个人优势和偏好,以及对整个技术领域的好奇心。你需要确定自己是否对前端设计的艺术技巧和后端算法的逻辑严谨性都感兴趣,如果你发现开发范围的两端对你都很有吸引力,那么全栈可能是一个正确的选择。

其次是适应性及解决问题的心态。行业不断发展,一名全栈开发人员需要具有适应能力,愿意学习和忘却,并在不同的任务和技术之间进行转换。全栈开发人员通常需要解决跨层的问题。如果你喜欢整体解决问题并追根溯源,那么这可能是适合你的道路。

第三是职业理想,你是否有创业抱负。如果你渴望创办自己的科技企业或加入初创公司,那么拥有全栈技能将是无价的。它能提供广阔的视野和自力更生的能力,将数字产品变为现实。并且全栈背景可以为技术主管或CTO等角色铺平道路,对技术堆栈的全面了解是有益的。

当然,你所在企业的属性,对于你是否应该选择全栈之路也将起到重要的影响。初创公司和小公司通常重视全栈开发人员的多功能性。然而大型企业则更希望拥有精通专业技能的角色。

虽然协作是每个开发人员生活的一部分,但考虑到全栈开发人员的多方面技能,全栈工程师会发现自己在某些环境中处于更加自主的角色。这可能会影响到你对深度协作的重视程度,并阻碍你对于协作的热情。

5、全栈or专业化

你可能会发现自己正处于十字路口——追求广阔的全栈还是深入研究专业领域。以下是一些总结性的观点,可以帮助指导你的想法。

请记住,科技行业是动态的。就在此时此刻,前端、后端甚至全栈之间的界限正在不断演变。今天的基本技术明天可能就会过时,反之亦然。因此,选择不应仅仅基于市场趋势,而应结合激情、技能和长期目标。

在深度和广度之间取得平衡至关重要。虽然全栈开发人员可能拥有广泛的技能,但在职业生涯的某个阶段深入研究特定领域可能是无价的,例如今天的AI。同样,某些特定领域专家也可能会从偶尔拓宽视野中受益。这两条路其实没有优劣之分——关键是要找到与你的目标产生共鸣的节奏。

无论你倾向于哪个方向,全栈还是专业化,成功的基石仍然是持续学习。工具、语言和框架可能会发生变化,但以好奇心和适应性为基础的心态将永远是你的北极星。

最后,你的职业生涯是非常个人化的。它由你的经验、挑战、成就以及你所创造的的独特价值编织而成。无论你选择全栈、前端、后端或是其他领域,你的选择都会成为自己未来的催化剂。此刻,全栈or专业化?答案就在你自己的内心。

原文链接:https://hackernoon.com/the-jack-of-all-trades-of-software-development-decoding-the-full-stack-engineer



Tags:全栈   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
花 15 分钟把 Express.js 搞明白,全栈没有那么难
Express 是老牌的 Node.js 框架,以简单和轻量著称,几行代码就可以启动一个 HTTP 服务器。市面上主流的 Node.js 框架,如 Egg.js、Nest.js 等都与 Express 息息相关。Express 框...【详细内容】
2024-01-16  Search: 全栈  点击:(86)  评论:(0)  加入收藏
从零开始学Reflex框架:打造自己的全栈应用!
Python作为一门广泛应用于Web开发的编程语言,拥有众多优秀的框架。其中,Reflex作为一个全栈框架,提供了一种简单而强大的方式来构建Web应用程序。本文将深入探讨Reflex的原理,并...【详细内容】
2023-12-06  Search: 全栈  点击:(169)  评论:(0)  加入收藏
Next.js的崛起:为什么它是现代网站的首选全栈框架
在选择前端框架时,可靠性对我的客户至关重要。尽管我研究了诸如SvelteKit等选项,但"为什么选择Next.js?"仍然是一个经常被问到的问题。在这篇文章中,我将详细解释为什么Next.js...【详细内容】
2023-11-02  Search: 全栈  点击:(283)  评论:(0)  加入收藏
解码全栈!
作者 | Ivan Novak编译 | 徐杰承你想成为一名全栈工程师吗?在如今这个大兴降本增效的时代,“全栈”似乎被动的成为了大部分开发者的最终归宿。在一部分人眼中,全栈代表着更快的...【详细内容】
2023-08-21  Search: 全栈  点击:(257)  评论:(0)  加入收藏
Wasp框架开源:最快的 React + Node 全栈应用开发!
什么是 WaspWasp(Web 应用程序规范)是一个类似 Rails 的 React、Node.js 和 Prisma 框架,借助于该框架开发者可以快速构建应用程序并使用单个 CLI 命令进行应用部署。Wasp 的典...【详细内容】
2023-08-09  Search: 全栈  点击:(312)  评论:(0)  加入收藏
黄仁勋的野心:英伟达纵横AI软硬件全栈式布局
南方财经全媒体记者江月 上海报道 北京时间8月8日晚间,英伟达创始人兼首席执行官黄仁勋在SIGGRAPH年会上发表了主题演讲。SIGGRAPH 由 ACM SIGGRAPH(计算机协会计算机图形图像...【详细内容】
2023-08-09  Search: 全栈  点击:(127)  评论:(0)  加入收藏
全栈框架 Remix 大火?v1.16 发布,全力备战2.0!
今天给大家带来的主题是全栈框架 Remix,同时介绍了Remix v1.16的诸多新特性,话不多说,直接进入正题。前言如今,当想要基于 React 创建一个新的 Web 项目时,有许多不同的框架可以...【详细内容】
2023-05-17  Search: 全栈  点击:(505)  评论:(0)  加入收藏
一文了解前端、后端、全栈都学什么?薪资前景如何?
随着信息产业的迅猛发展,IT行业人才需求量也在逐年扩大。据国内权威数据统计,未来五年,我国信息化人才总需求量高达1500万—2000万人。其中“软件开发”、“网络工程”等...【详细内容】
2023-03-27  Search: 全栈  点击:(110)  评论:(0)  加入收藏
我可能永远也没办法成为全栈工程师了,看看你还差多少?
前言写过很多技术贴,今天换个维度写点别的话题,来聊聊程序员的职业发展。不管是对于大厂还是其他软件公司,都会有全栈工程师这个职位,而且这个职位的薪资待遇明显比其他同等级的...【详细内容】
2022-10-08  Search: 全栈  点击:(299)  评论:(0)  加入收藏
如何使用 Next.js、 Prisma、Postgres 和 Fastify 构建全栈应用程序
在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastify 构建一个 Full-stack 应用程序。在本文中,我们将学习如何使用 Next.js、 Prisma、 Postgres 和 Fastif...【详细内容】
2022-07-12  Search: 全栈  点击:(714)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条