Tech Can Really Make You Depressed

8 min read

There are days when I feel like I don't know anything. Not a small, passing worry, but more of a strange feeling that everything I've learned no longer counts, that I've been left at the side of the road while everyone else keeps moving forward.

And yet, when I take the time to look back, I see everything I've learned. I know how to build interfaces, develop applications, understand an architecture, work with different frameworks and solve problems I couldn't even have solved a few years ago. None of that is imaginary.

But sometimes it only takes a few minutes on Twitter or LinkedIn for all of it to vanish. You see someone talking about a new library, a new framework, a new architecture or a new way of working, and a question immediately pops up:

So you click, you look at their project, then another, then yet another. Each one seems more polished, more modern, cleaner than what you've been staring at for weeks. And suddenly, you feel behind, without being able to say exactly behind on what.

The problem is no longer just learning

When I first got interested in development, the problem was relatively simple: learning to code. There was a language, a few concepts to understand, exercises to do, and progress was fairly easy to see.

Today, the problem is much broader. It's no longer just about knowing how to program, but about navigating an ecosystem that stretches in every direction and whose every branch claims to be essential.

And even after choosing a solution, there's always another one waiting a little further down the road. You use a library? Someone will tell you another one is better. You use Next.js? Someone will tell you about TanStack. You use a component library? Someone will show you a newer, more modern approach. You're finally getting comfortable with your stack? A new technology comes out, and it all starts over.

After a while, the feeling of never having arrived can become permanent. There's no finish line anymore, just a horizon that recedes with every step.

And then there's Twitter

Twitter, or X these days, can be particularly brutal for this. Imagine a whole day spent building something. You've fixed three tricky bugs, you've finally finished a feature, you're happy with your work and you even feel like you've made good progress.

Then you open Twitter. And within five minutes, you come across posts like these:

And suddenly, your work seems far less impressive. The three bugs you fixed with so much effort look trivial next to a SaaS built in two weeks.

The problem is that you're comparing your everyday life with everyone else's showcase. You see their finished project, but you don't see the hours they spent stuck. You don't see the bugs, or the decisions they regretted, or the technologies they abandoned along the way, or the projects that never worked. You only see what they chose to publish, which is the most flattering version of their work.

LinkedIn doesn't help much either

LinkedIn adds another layer to all this. The tone is different, more professional, more polite, but the effect is the same. Everyone seems to be achieving something, all the time:

And even when there's nothing spectacular to share, there's always someone to turn a small experience into a life lesson, with a catchy headline and three sentences per line. After looking at that for long enough, you can end up feeling like everyone is moving forward except you.

But of course that isn't true. You're simply looking at a feed made of the moments people chose to show, sorted and polished to be seen. It's not the reality of the job, it's its showcase.

The knowledge paradox

There's something rather paradoxical about development: the more you learn, the more you realize how much you don't know. What should be a sign of progress ends up feeling like a failure.

At first, you might think "I'm going to learn JavaScript." Then you discover everything around it: the DOM, asynchronous code, build tools. Next you tell yourself "I'm going to learn React," and you discover the whole ecosystem that comes with it. Then architecture, the back end, databases, deployment, performance, accessibility, security, design systems and AI. Every door you open leads to a room with ten more doors.

And you finally understand something important:

Nobody masters everything. Even the people you admire don't know everything: they simply picked a small piece of this universe and became very good at that piece. What you perceive as breadth in them is often depth in one specific area.

You don't need to know every library

This is probably one of the things I try hardest to remind myself of today. I don't need to know every available library, test every new framework, or know every new component library. I don't even need to know the "best" solution of the moment, which will be replaced in a few months anyway.

I need to know how to solve problems. If a project requires a technology I don't know, I can learn it, and that matters far more than trying to memorize the entire ecosystem. The ability to learn when it's needed is worth more than a superficial knowledge of everything.

A good developer isn't someone who knows every API. They're someone who knows how to search, understand, experiment, make a decision and move forward, even without having all the answers at the start.

The trap of constant change

There's another problem too: confusing learning with constant change. It's easy to spend your time improving your work environment instead of working. It's tempting, because every change feels like progress, when sometimes you're just going in circles.

At some point, you just have to build. A technology doesn't need to be perfect to be useful, and a stack doesn't need to be the best in the world. It just needs to be good enough to solve the problem in front of you.

I'm trying to see things differently now

When I discover a new technology today, I try to stop asking myself:

Should I learn this? Instead, I ask myself: do I have a problem this technology can solve?

The difference seems small, but it changes a lot. The first question creates an obligation and pressure, while the second starts from a real need. If the answer is no, I can simply keep working without feeling guilty.

I don't need to learn everything right away. I can keep that technology somewhere in the back of my mind and come back to it when I actually need it, with a real problem to solve and therefore a real reason to care about it.

Build more, consume less

This is probably the conclusion I'm arriving at. The best way out of this feeling of permanently being behind isn't necessarily to learn more. Sometimes, it's to consume less and build more.

Because a finished project teaches you far more than a hundred threads on Twitter. You run into real problems, you make real decisions, you make mistakes and you understand why certain abstractions exist. You discover what you actually need, and not just what others say you should use.

And above all, you build up something social media can't give you: experience.

I don't think you should stop learning

Quite the opposite. Curiosity is probably one of the best qualities a developer can have, and I have no desire to lose it. But there's a difference between being curious and being afraid of falling behind. The first gives you energy, the second drains it.

I can discover TanStack without immediately having to abandon Next.js. I can discover a new component library without having to redo my design system. I can watch someone build something incredible without concluding that my own work is worth less. And I can keep learning without feeling like I have to catch up with the entire industry.

Because I'll never be able to know everything. Nobody will. And in the end, maybe that's what we need to accept in order to truly enjoy the craft.

And you don't need to learn it all today.

Read Next