Cover photo

Full Stack Learning - Part 1: Tech Stacks and Learning Stacks

How a holistic "learning stack" approach can keep your skills relevant and adaptable

Intro: Full Stack Learning

An imaginative take on "full stack learning"
(image source: DALL-E)

This is a two-part series on learning stacks. 

Given the fast-moving nature of technology and the world today, I believe that the single best thing any person can do to keep their skills relevant and transferable for whatever comes next is to familiarize themselves with a broader “stack” of knowledge around whatever domain areas interest them. 

Rather than just learn the discrete skills needed to do a job, you can also familiarize yourself with other crucial contexts for that type of work, such as market demand, economic outlook, related industries, etc. You might call this full stack learning. 

Since I know I have quite a wide range of people on the receiving end of this publication, I’m going to start by giving a bit of grounding context into how “stacks” are typically referred to in the tech industry. (Feel free to skip it if you've heard it all before.) Then I’ll demonstrate how you might extrapolate this line of thinking into how we learn.

In the second post, I will share more from my personal experience in recent years of lighting up a so-called “learning stack.” I’ll also include some helpful tips and tricks that you might use to deepen your range of skills in any discrete learning area.

Let’s start with a little background context into tech stacks. 


A Sidebar on Stacks

Even though I’m not a software developer, I’ve spent an awful lot of time in my professional life thinking about tech stacks.

In the tech industry, a “stack” is generally referred to as a set of tools or technology systems that link together so you can build something. These typically include things like databases, operating systems, web application frameworks, front end libraries, etc.

Over the past decade, you’ve probably seen this term take hold in contexts outside of coding as somewhat of a shortcut way of referring to the set of tools and applications that anyone might need in any other context. VCs generally use this to help them direct attention and energy toward a particular focus area where they might expect to see a germination of energy around a new set of businesses.

For instance, there’s the “nomad stack” (the things you might need to live a nomadic life) or the “writing stack” (the stuff might you need to write, publish, and distribute content). I’ve even seen people refer to the “parenting stack” (tools and technology that a modern parent might need). The possibilities really are limitless.

In coding, if you know stuff up and down all of the parts of the stack, you are considered a full stack developer. I first learned this term when I worked at Stack Overflow, an obviously appropriately named company that built the largest Q&A website for software developers to ask and answer coding questions.

Back when I worked there (2012 - 2016), the company had a particularly intense rule that they only hired full stack developers. This meant–essentially–that you needed to be able to understand and relate to the component parts of all areas of the system, as opposed to just specialize in one discrete “layer” of the stack. In other words: They wanted generalist developers, not specialists. 

Generalist vs. Specialist? That is the question.
(image source: DALL-E)

From the company’s point of view, you can imagine some of the benefits that might emerge from this approach. Since developers are always writing code with at least a little perspective into how the entire system is built, they can make more informed architecture decisions, earlier in the process. This (in theory) could lead to greater efficiencies and more streamlined code, ultimately saving time on the number of engineers needed to maintain the whole stack, and saving money on reduced compute power required to host all of their code on things like web servers.

You can also imagine some challenges that might result from this approach. When you hire someone new, they need to learn the entire stack of how the system is built before they have a chance to start being effective. This obviously takes a lot of time. This can also make it pretty hard to fire people, since the opportunity cost of offboarding, hiring, and reskilling someone new is quite painful. 

There are still a lot of open questions about what range of developer skills will be the “more valuable” subset in the age of AI. It’s possible that generalist developers will have a better shot at transferring their skills, given that they are already primed into thinking about different parts of the system. But it’s also possible that specialist developers will be more sought after. In an era where everyone has access to baseline-level engineering skills through AI tools, only the deepest technical specialists may be able to turn coding into a career. It’s likely too soon to tell.

You can play out a version of this uncertainty in just about every profession on the planet right now. It begs the question: How might a broader approach to learning be beneficial? This is where the idea of a “learning stack” comes in, focusing on a well-rounded understanding of both technical skills and the bigger picture in various fields.


The Concept of a Learning Stack

To illustrate how learning stacks might be applied in different professions, let’s dive into a concrete example: Plumbers. (And by the way, I’m choosing plumbing deliberately here, as it’s well understood to be one of the most in-demand jobs in the U.S. right now.)

As a plumber, you might imagine the “stack” of things that matter to you starts with the skills you need to do the job. This probably includes a combination of using some common plumbing tools (like wrenches, pipe cutters, and drain snakes). It might also include a more advanced level skill that might benefit from a short certification or course, like soldering. Another component of the “plumbing stack” might be some of the so-called “soft skills” required. This might include things like customer service (to manage many different personalities on the job), time management (so you don’t miss appointments), oral communication skills (for field visits), problem solving (to help you figure out tricky toilet troubles), etc.

That’s typically where educational skill-building programs start and end. 

The learning stack of plumbing suddenly feels a lot more exciting (image source: DALL-E)

But of course, armed with those skills alone won’t get you a job as a plumber. You need to know how to find a job. To find a job, you might care about how much plumbers make in different market geographies. You should probably also think about whether you want to run your own plumbing business or whether you want to work as a solo plumber under someone else. If you do decide to run your own business, it might also interest you to know people in other trades related to plumbing, such as electricians, construction workers, HVAC technicians, roofers, architects, interior designers, landscapers, property managers, and municipal workers. 

Over time, you might think about whether you want to team up with some of those people and form a more integrated “builder team” to cross-pollinate business together. Maybe one of those people can bring you into a job in a big suburban neighborhood buildout. Maybe someone else gets you a job working in the city’s subway system. Soon enough, when you hear things like, “New York City is about to increase subway fares to pay for much-needed system repairs,” a little light in your head will go off and you’ll realize that there’s a new business opportunity waiting for you.

My point is simply this. When you’re already thinking in this holistic mindset with your work – even with just one root skill like plumbing – you become a specialist generalist. You are less concerned about market dynamic changes because you know that whatever skills you have, you can apply in other contexts. You are also unafraid of technology changing your job because you’ve spent your whole career knowing that jobs are just jobs and change is inevitable.


The learning stack is a mindset. It’s not a thing you can learn in a single class, or in an isolated internship. It’s an outlook you can carry with you throughout your entire career.

I know some of you are probably thinking that it would take way too much work to expect everyone to have a macro and micro level worldview in their own domain, all at once. 

To some extent, you may be right. This kind of information and macro-level knowledge would have been pretty hard to come by 50 years ago. Or even 5 years ago. But not today. Today, AI tools like ChatGPT can provide instant insights and recommendations on any literally any topic, to anyone in the world, making it easier than ever to gather comprehensive general knowledge in any field. 

By the way, I didn’t just come up with that list of complementary professions to plumbers on my own. ChatGPT did it. It took me about ten seconds. 


In the next part of this series, I’ll share some examples of how I’ve applied a “learning stack” mindset in different professional contexts for myself over the past few years. I’ll also share some tips and tricks you can use to simplify the process of learning something new yourself.



Loading...
highlight
Collect this post to permanently own it.
Hard Mode First logo
Subscribe to Hard Mode First and never miss a post.
#learning#jobs#entrepreurship#labor market#tech