This site is in beta. Tell us what you think.
Chapter 1 | tech stacks Guidebook

Introduction to Tech Stacks

It can be challenging to know how to create things with technology—there are so many tools! A tech stack refers to a collection of tools used to accomplish a broad or specific purpose. In this article, we'll call that purpose (like building a website or running an app) a solution.

Generally, a full tech stack, which may occasionally be called a 'solutions stack,' consists of:

  • Front- and back-end tools
  • Common functions
  • Programming languages
  • Datasets (or links to external or common datasets), usually in the form of databases
  • Applications or programs
  • APIs and other methods of connection outside the stack

If that seems intimidating, don't panic. The key terms will all be explained below, along with examples of common stacks.

The Front End

The 'front-end' of a stack is a collision of metaphors. Front-end refers historically to the 'front of house' parts of a business. The elements of the company that deal directly with the public, like serving staff at a restaurant.

In the stack metaphor, that kind of functionality would live at the 'top' of the stack. In any case, front-end tools focus on the part of whatever is being built (a product, service, website, etc.) that a human being interacts with, known as the User Interface (UI). On a website, front-end tools would be the design tools used to make web pages.

The Back End

Back-end tools refer to components that enable the business to function. In the restaurant analogy, this would be the kitchen staff, management, and anyone else who works behind the scenes to make sure customers get their meal.

Back-end tools in a website stack might include a Content Management System (CMS). This system is not immediately visible to end-users (like those reading a newspaper's website), but might be visible to non-technical business users (such as journalists, who must upload their finished writing in order for it to be published as an article to the site).

This Content Management System makes the website work; in this sense, back-end tools can be thought of as an infrastructure layer.

Code & Programming Languages

Development teams begin by practicing computational thinking—converting complex problems into unambiguous instructions for a machine. Programmers convert these instructions into machine-readable steps in programming languages (a bridge between how programmers think and how machines process instructions, which is an unreadable set of ones and zeroes).

Either they create something entirely custom or re-use patterns and frameworks made by others to perform standard functions. The collection of these steps and functions makes up what is known as the source code of a program.

Data

Data is the raw material that we turn into useful information through our solutions. In the newspaper website example, there are several data sets like news stories, a library of images, logs of activity of website visitors, and comments left by users.

Databases are a specific kind of tool that organizes data into records and fields. A record for a given news story might have several fields, like its headline, sub-heading, and body text.

Sometimes data is not stored inside the solution's stack but is pulled in or 'streamed' from outside sources. This is often accomplished via an API, one of the most crucial building blocks of digital value.

APIs

API stands for Application Program Interface, a standardized way to pass data and commands between various systems to help them work together stably and securely. APIs enable software developers to connect multiple apps and devices without reinventing standard functions. APIs provide the lowest common denominator between systems, allowing for both human-to-machine and machine-to-machine interactions.

You can learn more about APIs in our guidebook on the topic.

Common Stacks

Explore some common tools for different stack types below. This is not an exhaustive list and may not even cover all common components per stack, but it should give a sense of the kinds of tools to expect in a given area.

Some tools listed are generic tool types, and others are specific tools.

Tools Notice: 
Specific tools may show the company's tagline for their offering or our paraphrased version for clarity. Specific tools listed may link to their own website, which is outside our control. Causeit, Inc., the creator of this Digital Fluency Guide, does not receive any sponsorship money or affiliate revenue from any listed company. However, members of the Causeit team may own stock in publicly-traded companies shown here, either directly or via ETFs/mutual funds/other assets. Causeit also does not represent any of these companies or make statements on their behalf. The referenced companies/tools are shown primarily as examples of commonly discussed solutions in the marketplace and development communities and are not rigorously ranked or scientifically selected.

General Productivity Stack

A general productivity stack contains desktop and mobile operating systems, file storage, and office software. The exact contents of productivity stacks vary based on the nature of the work to be performed but are generally focused on the functions used to create intellectual outputs like documents and plans.


Collaboration Stack

Collaboration stacks comprise tools and datasets that enable teams to work together, including communication and project management.


Community & Marketing Stack

Community and marketing stacks contain tools for a company to engage with its customers, user communities, and other stakeholders. They are also related to web stacks, among others


HR/People Stack

HR & People stacks are focused on the logistics of human 'resources' in companies and can include work scheduling software, coaching/learning & development tools, and performance review functions. They parallel finance and operations stacks, especially for payroll and workforce budgeting functions.


Web Stack

Web stacks power websites and parts of web apps. They include design tools, content management systems, embedding tools to help place third-party content like YouTube videos, and servers to facilitate fast access to content from many places.


Strategy & Innovation Stack

Strategy and innovation stacks are intended to help leaders make critical decisions and align the rest of the organization without constraining autonomy. Strategy and innovation stacks may connect to ideation tools, business planning and team alignment tools, trendcasting and monitoring functions, and other intra- and entrepreneurial tools.
They may overlap or be contained within enterprise resource planning solutions (ERPs) and many other stacks in the organization but are distinct due to the 'elevation' at which they operate.


Product & UX Stack

Product and user experience stacks are essential for digital companies. Common tools within them help manage user journeys and customer experience, and connect to business or technology stakeholders. They can connect with nearly all other stacks in a company or may exist as a function across several stacks.


Data Stack

Data stacks support various stages of the data supply chain. Advanced data stacks are connected to artificial intelligence and machine learning stacks.


DevOps & IT Stack

You can read more about Development Operations and associated tools in Introduction to DevOps.


Finance & Operations Stack

Finance and operations stacks support the smooth function of companies' essential logistics. Depending on the industry and size of a firm, they vary considerably. Commonly they include accounting software, contract management tools, and other workflow and compliance functions.


Concepts & Considerations in Tech Stacks

Making selections among tech stacks

When selecting a tech stack (or its components), it's important to consider any tradeoffs or tensions among the following:

  • Time to market: How long until the product needs to be available? It may make sense to prioritize a proven but more expensive tech stack if time is tight.
  • Scalability: Will the solution scale? What works for a small business or prototype project won't necessarily scale for an enterprise or a sudden boom in traffic.
  • Security: Is the entire tech stack secure? Sometimes stacks based around fewer vendors are easier to secure.
  • Availability of talent: Are developers available who can work in your stack? A custom solution may seem cheaper—but it may be hard to train new developers.
  • Variety of tools: Is there a variety of tools to choose from, or does one vendor require that only their tools be used, whether or not they are the best fit for the project?
  • Ease of integration and interoperability: Does it connect fully with other stacks in your organization, or other partners and vendors with different stacks? Interoperability is vital in modern digital strategies.
  • Scope of your project: Is this a narrow, one-time project, or something which may grow and evolve over time? Stacks need to be able to grow as demands increase, but choosing The Most Capable Stack Ever Assembled may be overkill for a one-time problem or a product that will be discontinued soon.
Infographic: Five columns with six rows of stacked colored rectangles representing different technologies that make up a 'tech stack'. Each column is separate from the others and are titled from left to right Finance, Development, Marketing, Operations, Collaboration. There is one row that connects each column titled CRM which represents the following body text explanation of a horizontal function.

Horizontal vs. vertical strategies

While stacks are often oriented around verticals (like finance or marketing within a company), some functions make more sense if they are 'horizontal.' Common horizontal functions include:

  • Customer Relationship Management (CRM) software tracks contacts, transactions, and many other data points around clients and users. It is therefore relevant to marketing, finance, product development, legal, and several other functions, as well as to different product lines within the same company.
  • Enterprise Resource Planning (ERP) software can coordinate a variety of functions and capabilities in large businesses, such as finance and HR.
  • Security and compliance tools ensure data security throughout an organization
  • Data processing and aggregation tools might best be used on 'data lakes' and 'data streams' that span multiple business units or geographies

To dive deeper into a set of use cases for horizontal (or aggregation) strategies across stacks, you can read Scott Brinker's quick article "Matrixed Tech Stacks with Both Horizontal and Vertical Aggregation Platforms."

Interchangeable components

Components of a tech stack are sometimes interchangeable.

For example, a global company might have a website stack that is the same in most countries, apart from having regional social media plugins (Korean sites might use Kakaotalk, Chinese sites Weibo, and US sites Facebook).

Infographic GIF: 

Six stacked colored rectangles representing different technologies of a tech stack with flashing text that reads "Third-Party CRM" and "In-house CRM"

Elsewhere, one part of a company may prefer a third-party CRM like Salesforce while another department has a custom-built solution they don't want to change. Smart technology leaders anticipate a need for this interchangeability and interoperability in their architecture of stacks and the design of their components.

Platforms upon platforms upon platforms

A lot is said about platforms in the technology world, as well as platform business models and multi-sided platforms. Stacks refer to the technological components of these platforms.

For example, a multi-sided platform like Amazon may have datasets and infrastructure reflected in one or more stacks. These stacks also provide functionality for the marketplace and community elements of Amazon. Generally, a platform has multiple stacks within it, providing various smaller solutions that collectively make up a larger ecosystem.

infographic showing the relationship between components of a multi-sided platform.

Toolchains

A toolchain is a set of tools used together, sometimes in sequence. For example, when checking software functionality, developers may use a collection of tools in a 'testing toolchain.'

Toolchains generally do not comprise all of the functions needed for a solution to work. Sometimes, toolchains perform a horizontal function across several stacks, such as checking application security.

Infographic:
Two overlapping squares that are linked where the 'final' stage connects to the 'first', to emphasize the continuing nature of the "Toolchain" or "DevOps" process.

The text inside the infographic is Test, Release, Deploy, Operate, Monitor, Plan, Code, Build and then the text repeats itself with Test.
Image: A log in page for a website with text embedded as well as a pop up text box. 
Embedded text is 
Sign Up
Don't have an account? Create now. 
Username
Password
Forgot Password

The pop up box with text is
'User login functions are often provided by modular 'service' technologies.'

User login functions are often provided by modular 'service' technologies.

Architecture and service mindsets

In the past, it was quite common for a stack to be one giant program where all functions were nearly inseparable. Over time, stack thinking emerged to help technologists accommodate the need for multiple software and hardware providers, and the need for certain components to be added—or removed—in the future.

You can read more about the shifting role of IT departments in our guide to the changing nature of IT.

Components in the stack can sometimes be thought of as a 'service,' an ongoing function provided by another part of the organization or even a different company.

For example, a company may have many different tech stacks for different departments, but provide one consistent login (or 'authentication') system for all users to simplify and secure that step.

Microservices go even further and provide sub-sets of a complete service. For example, a microservice might provide the 'captcha' tool designed to trick hackers' machines as they attempt to log in to human systems.

Data Supply Chains

Sometimes, stacks encompass entire data supply chains. More commonly, the data supply chain affecting a particular user, function, or dataset passes through multiple stacks. Additionally, there are stacks specific to data processing and management.

Infographic:
This representation of a data supply chain is segmented into three columns with two to three corresponding segments underneath each larger theme. 
Disclosure contains Acquire and Store. 
Manipulate contains Aggregate and Analyze. 
Consume contains
Use, Share/Sell, and Dispose.

Confused? Fair enough. It's easier to think of the relationship between data and stacks when thinking of data as water that moves in lakes and streams rather than files in a file cabinet. You can read more about data, including analysis, machine learning, and AI, in the data guidebook.

Next Steps: