Skip to content

Blog

Stop collecting skills. Build a skill stack.

The goal isn't to learn everything. It's to become good at solving problems that actually matter.

Tagged Learning, Career
Share
On this page

Skill stack hero

The goal isn't to learn everything. It's to become good at solving problems that actually matter.

Technology moves ridiculously fast.

One month it's a new framework. Then there's a new cloud service. Then a new AI model comes along and suddenly everyone is talking about how it is changing software development.

And if you're working in tech, it's very easy to feel like you're falling behind.

So you add things to your list: AWS, Docker, Kubernetes, Terraform, Python, AI. Then another certification, another course, another YouTube playlist. The list keeps getting longer.

But here's the problem I've noticed: you can end up knowing about a lot of technologies without being particularly good at using them to solve real problems.

That's what I mean by skill collection.

I want to keep learning, but with a purpose. That is what I mean by building a skill stack: skills that work together toward something I want to be able to do.

Start with the problem, not the technology

A question I see quite often is:

"What should I learn next?"

It's a reasonable question.

But I think there's a better one:

"What problem do I want to become good at solving?"

That change sounds small, but it makes a big difference.

Let's say you decide:

"I want to learn Kubernetes."

Okay. You can spend weeks learning pods, deployments, services, ingress, Helm, and everything else around Kubernetes.

But what if your actual goal is:

"I want to be able to run reliable applications in production."

Now Kubernetes is only one part of the picture.

You also need to understand:

  • Linux
  • networking
  • containers
  • cloud
  • infrastructure as code
  • automation
  • observability
  • security
  • reliability
  • system design

Now you are building the ability to operate systems, with Kubernetes as one part of that work.

You don't need to learn everything

The technology landscape is changing quickly.

The World Economic Forum's Future of Jobs Report 2025 estimates that, on average, 39% of workers' existing skill sets will be transformed or become outdated between 2025 and 2030.

It also reports that 63% of surveyed employers see skill gaps as a major barrier to business transformation.

Those numbers can sound intimidating.

But I don't think the lesson is:

"Learn as many technologies as possible before 2030."

If anything, I think it's the opposite.

You need to become comfortable with learning and adapting.

The same report highlights analytical thinking, resilience, flexibility and agility, leadership and social influence, and creative thinking among the skills employers value highly. Technological literacy is important too.

For me, the useful takeaway is that technical knowledge works best alongside the ability to think, communicate, adapt, and get something useful done.

Tools change. The underlying skill doesn't have to.

Take DevOps as an example.

You could say:

"I know AWS, Kubernetes and Terraform."

That's good to know.

But I'd be more interested in hearing:

"I can automate infrastructure and deployments, improve reliability, and reduce the amount of manual operational work."

The second statement tells me much more about what you can actually do.

Your next job might use a different cloud or infrastructure tool. Kubernetes might not be part of the environment at all. Understanding infrastructure, automation, reliability, and failure still helps you operate the systems you find there. Those skills travel with you.

That's why I like this idea:

Tools are replaceable. Capabilities transfer.

Don't turn your learning plan into a shopping list

I've done this myself.

You see someone talking about a technology and think:

"Maybe I should learn that too."

Then another technology comes along, and another. Eventually your learning plan looks something like:

AWS → Docker → Kubernetes → Terraform → Jenkins → Python → AI → ...

Those are all useful tools, but this list has no destination. It helps to start with something you want to be able to do, then choose the tools that support it.

For example:

Goal

I want to be able to build and operate reliable cloud applications.

Then you can build your stack around that goal:

Cloud
        ↓
Containers
        ↓
Kubernetes
        ↓
Automation + Infrastructure as Code
        ↓
Observability + Reliability
        ↓
Security
        ↓
AI-assisted engineering
        ↓
Business / engineering outcomes

Each technology now has a purpose. You can explain which part of the problem Kubernetes helps with, and which parts need something else.

Being technical isn't the whole job

Another thing I have learned over time: knowing how a technology works is only part of the job. You also have to think about the decisions around it.

Things like:

  • What are the trade-offs?
  • What happens when this fails?
  • How much will it cost?
  • Is it secure?
  • Does it actually solve the user's problem?
  • Is this more complicated than it needs to be?
  • Can the team operate it?
  • What happens six months from now?

You can build an impressive system and still make a bad engineering decision.

For example, an architecture might handle millions of requests, with automated delivery and excellent observability. If the application has only a few hundred users and the operating bill is far beyond its budget, that design may be a poor fit.

Reasoning, communication, understanding trade-offs, and dealing with uncertainty all matter here. So does knowing when not to build something.

The best engineers I know aren't necessarily the people who know the most tools.

They're the people who can look at a messy problem and figure out what actually needs to be done.

Don't just learn. Build something.

You can finish a Kubernetes course, pass a certification, and add it to your résumé. Running an actual application brings a different set of questions: networking problems, broken deployments, bad configurations, missing metrics, security issues, and unexpected costs.

Working through those problems gives the earlier learning somewhere to land. Projects force you to make decisions and live with the results.

So whenever you're learning something new, I think it's worth asking:

"What can I build that proves I understand this?"

It doesn't have to be huge.

It could be:

  • a small project
  • an automation script
  • a deployment
  • an open-source contribution
  • a technical write-up
  • an internal improvement
  • something that saves time or money
  • a measurable reliability improvement

The important part is that you have something to show for the learning.

Build proof, not just knowledge.

Try this for the next 30 days

You can try this without rethinking your whole career.

1. Pick one target

Choose a role or problem you actually care about.

For example:

"I want to become capable of designing and operating production-grade cloud systems."

That's much better than:

"I want to learn five new technologies."

2. Look at real job descriptions

Find around 10 jobs that are close to where you want to go. Look for skills and responsibilities that appear repeatedly.

3. Look beyond the tool names

When you see Kubernetes, Terraform, or AWS, look for the responsibility behind the tool name.

Maybe it's:

  • infrastructure automation
  • container orchestration
  • cloud architecture
  • reliability
  • security
  • observability

That's the level you want to think at.

4. Pick your biggest gaps

You probably have a long list. Pick the two or three gaps that would make the biggest difference to your target role or problem, and focus there.

5. Build something

Make time to use what you learn from the tutorials. Build something, investigate what breaks, and document how you fixed it. Measure the result where you can, so you have something concrete to show.

6. Tell the story

Once you've built something useful, update your résumé, portfolio, or profile.

Don't just say:

"Kubernetes — Intermediate"

Tell people what you actually did.

For example:

"Built and automated deployment of a containerized application on Kubernetes, added monitoring and health checks, and documented the recovery process."

That's a much stronger signal.

So what should you learn next?

I do not think there is one universal answer. It depends on where you are trying to go.

That's why I'd stop asking:

"What technology should I learn next?"

and start asking:

"What valuable problem do I want to become capable of solving?"

Then work backwards.

Problem
        ↓
Capabilities needed
        ↓
Skills needed
        ↓
Tools that support those skills
        ↓
Project that proves them
        ↓
Outcome

This also gives you a way to assess a new technology without immediately adding it to the list. You can ask:

Does this help me solve the problems I'm trying to solve?

If yes, learn it.

If not, maybe it can wait.

The advantage isn't knowing the most tools

I don't think the goal of a tech career should be:

"I know more technologies than everyone else."

Technology changes too quickly for that to be a sustainable advantage anyway.

A better goal is:

"I can combine the right skills to solve problems that matter."

That's much more valuable.

And much harder to replace.

Final thought

You do not need to keep up with every new tool. A more useful aim is to reliably solve increasingly valuable problems.

So the next time you see a new technology and feel that familiar pressure to add it to your learning list, stop for a second.

Ask:

What problem will this help me solve?

If you don't have a good answer, maybe you don't need another skill right now.

Maybe you need a better target.

Learn something, build something, and share what you learned. Then do it again.

Learn. Build. Share.

— LearnWithSK

Discussion

Questions, corrections, or a different approach? Join the discussion. Comments are public and hosted on GitHub; a GitHub account is needed to comment.

Open discussions on GitHub ↗