Think博客

到底什么是“全栈”开发人员?

一堆煎饼的插图,上面有一个问号
Sarah Kula营销设计师的插图

有时候,“全栈”意味着“你唯一需要的开发人员”。

直到大约十年前, everyone knew what you meant when you talked about a full stack web developer. You meant a single person that could start with a sketch on a napkin, 打开笔记本电脑, 和 do absolutely 一切 to create a fully operating 和 styled website.  

全栈开发人员:

  • Knew enough HTML, CSS, 和 JavaScript to create good-looking pages
  • Knew enough PHP, Java, CFML, or Visual Basic to make those pages do things
  • Could design a database, configure Apache, 和 set up a server for it all to live on

这仍然是术语“全栈”的常见用法.” When a two-person startup is looking for a full stack developer, 这可能仍然是他们的意思——一个能够并且愿意做的人 一切.

如果网站的每一块都是煎饼, “全栈”开发人员可以完成堆栈中的每一个煎饼, 能在上面放黄油吗, 再淋上糖浆, 然后用漂亮的盘子端给你.  “全栈”开发人员是您唯一需要的厨师.

但这绝不是这个词的唯一用法.

通常,“全栈”意味着“前端短栈”。

在过去, when “full stack” unambiguously meant “one developer to do 一切,“所涉及的技术并没有以复杂的方式重叠. A .NET开发人员将配置IIS和SQL服务器, 然后开始写HTML, CSS, 用微软语言编写脚本. LAMP-stack开发人员配置Linux, Apache, MySQL, 和 PHP or Perl before they buckled down to writing the front-end.

The “stack,” in this case, was the stack of 工具 that came together to form a single application. 一些工具(HTML), CSS, JavaScript) lived in the front-end on the 用户’s browser; some 工具 (the database, 服务器(位于应用程序服务器的后端).

With the advent of Javascript-based Single Page Applications using React, 角, Vue, 以及其他技术, 有一堆新的堆栈模糊了这些界限. An 角 application has all the moving parts of an application, 但所有这些活动部件都在用户的网络浏览器中. 它是“前端”,因为它在浏览器中,但它 “后端”,因为它有业务逻辑, 它涉及到路由, 它可以在服务器端呈现. 

当企业进行 数字转换 project says “full-stack front-end developer” in a job description, 他们并不是说“一个人可以包揽一切”.” They mean a single-page application developer that manages not only the look of what’s on screen, 还有屏幕上的行为.  

不像“一个人做所有事情”的全栈开发人员, 该开发人员必须与其他人协作. And the better this developer underst和s the full system they are contributing to, 他们就会成为更有效的合作者.

Let’s overextend the metaphor: every pancake is now its own stack of pancakes

稍等一下,我来扩展一下这个比喻.  对于React或角开发者来说, a single pancake has evolved into its own full stack; in developer jargon, 应用程序有自己的模型, 视图, 和控制器. That front-end application will talk to an Application Programming Interface, 它本身就是一个煎饼,变成了自己的堆栈.

这是疯狂的早餐吗?? 我们现在有“前端”全栈开发人员了吗, “中间件”全栈开发人员, 以及“后端”全栈开发人员?

“No!我听到你说. “Something important has been left out if we talk about a ‘middleware’ full stack developer.”

重要的是 用户

如果堆栈就是整个用户体验呢?

The digital experience for even a small business is likely a set of applications all working together. Does your company have a marketing site that submits leads to Salesforce or Hubspot? Does your e-commerce application pull inventory from your warehouse ERP application? 您的“您的订单已发货”的电子邮件与USPS交谈吗?

Whether or not a developer 可以 work on any aspect of any single application in the ecosystem is much less important 致用户 than whether that developer 可以 collaborate with others to streamline the experience 在 those 系统.

If we think of the “full stack” as the sum total of 工具 that work together to delight the 用户, 然后当我们寻找一个全栈开发人员, we’re less interested in whether that developer 可以 do 一切 all by 自己, 和 more interested in whether they 可以 participate in a team in the following ways:

  • 我们不太关心是否 HTML开发人员 可以 自己 在CDN中配置片段缓存.  We’re more interested in whether that HTML开发人员 knows how to structure their markup so that a caching expert 可以 do it.
  • 我们感兴趣的是a CSS开发人员 has experience talking to designers that are 自己 working 在 multiple platforms, so that designer 可以 structure design tokens that will allow their work to 应用 to pages powered by Salesforce Commerce cloud 和 to an in-house React application.
  • 我们感兴趣的是a Javascript开发人员 has a good underst和ing of the authentication 和 authorization model of the site, so they 可以 structure the top navigation to h和le the addition of new 用户 roles 和 permissions seamlessly.
  • 我们感兴趣的是a 开发人员反应 可以 collaboratively negotiate a pagination scheme with their counterpart on the API team so that the 用户 gets their results in 100 milliseconds, instead of staring at a skeleton loader while they wait for their search to complete.

在上述每种情况下, the developer isn’t adding value by actually building the entire system 自己. They’re adding value because they know enough about the whole 用户 experience to collaborate with others on those areas of the 用户 experience that only work well when more than one system 和 more than one tool are working together.

最有用的是,“全栈”意味着为 每个人都

At 十大正规博彩网站排名, our expert developers often integrate into teams of all sizes. Our clients usually have in-house IT expertise 和 skilled teams that excel in their individual areas of concern—big data experts.

的挑战 数字转换 项目的特点是它们几乎总是在扩展 系统, 工具, 以及关注的领域, 和 that’s where the role of a full stack developer is most useful. If an expert front-end developer underst和s how to create a component that treads lightly on the API, 精化会议更短,更有趣. 拉请求是一件轻而易举的事情. 演示更短,测试发现的惊喜也更少.

当我们在Think使用“全栈”这个术语时, we’re typically describing an expert front-end developer that underst和s enough about every system in play to collaborate smoothly with others. We mean someone who is a team player 和 可以 work not only 在 工具, but 跨团队和跨系统 让你的最终用户满意.

 

If you need support with an upcoming technology project or auditing your existing site, 立即博彩网站评级!


保持了解

Receive blog posts, useful 工具, 和 company updates straight to your inbox.

We keep it brief, make it easy to unsubscribe, 和 never share your information.

本网站是由reCAPTCHA和谷歌保护 隐私政策服务条款 应用.

给我们寄张明信片,写封信

有兴趣和我们一起博彩网站评级?

We scope projects 和 build teams to meet your organization's unique design 和 development needs. 告诉我们你今天的项目,开始对话.

了解更多