00:00
Experiment, get uncomfortable, teach, repeat. That’s the whole video. >> Thank you very much for coming. Appreciate it. Bye-bye. But if it were that simple, everyone would be doing it, right? Look, nowadays, most programmers learn by copying AI code and watching tutorials. And that’s fine. It works, [music] to a point at least. But if that’s all you do, you stay shallow. Tutorials teach you what, books teach you why. When you read something like The pragmatic Programmer or Fundamentals of Software Architecture, you stop copy-pasting solutions [music] and start building mental models. And that’s what separate programmers who can solve anything from programmers who need a tutorial for everything.
00:36
Read the actual documentation, too, not just the quick start guide. The people who know a tool deeply are the ones that end up enjoying programming more. But reading alone doesn’t cut it.
You have to get your hands dirty. You know that feeling when you copy code from Claude, it works, and you just move on? That’s the trap. The programmers who grow fast are the ones who then ask, “Okay, but why does this work? What happens if I remove this one line?” They break things on purpose. They build dumb little side scripts just to test an idea. There’s research [music] on this called desirable difficulties. The idea that making learning harder on purpose leads to stronger long-term retention.
01:12
And naturally, experimenting means you’re going to try things that feel uncomfortable, which brings me to this. If you’ve been building the same type of app [music] for 2 years or only using the one language you learned first, that’s a comfort zone, and it’s killing your growth. Vygotsky called the sweet spot the zone of proximal development, the edge of what you can currently do. Not so hard you’re lost, but hard enough that you have to think. Take the ticket nobody wants. >> [music] >> Try a language you’ve never touched. That discomfort you feel is your brain building new pathways. Here’s the thing,
01:42
though. Most of the time, nobody hands you the hard problems. You have to reach for them, especially early in your career. You have to go to your team lead and say, “I want something bigger.” Volunteer for the module nobody wants to touch. Own outcomes, not just tasks. Responsibility is a skill like any other, and the only way to get better at it is to actually carry some. Once you’re doing harder work, you want real feedback on it. That’s where open source comes in, and I think it’s the most underrated growth tool for programmers. A lot of people assume it’s for senior engineers who code exclusively in voodoo.
02:14
It’s not. Your first contribution can literally be a documentation fix. But now, you’re inside a real code base. You see how production level code is structured, and you get feedback from engineers who do this professionally. Go to GitHub, find a project you actually use, look at the issues tab, start there. The feedback you get from open source is powerful. The fastest way to level up is to be around people who have higher standards than you. Jim Rohn said, “You’re the average of the five people you spend the most time with.” If everyone around you is fine with messy code and half-shipped features,
02:46
that becomes your normal. Find communities, Discord servers, local meetups, people whose code you look at and think, “I’m not there yet.” You don’t need a formal mentor. You just need people whose standards you respect. Now, once you’ve learned things from reading, experimenting, and getting pushed by better people, you need to teach. What? This sounds counterintuitive when you’re still learning, but it’s one of the most effective things you can do. Richard Feynman believed that if you can’t explain something simply, you don’t actually understand it. Write a blog post, explain a concept to a friend,
03:18
record a quick video for a classmate or coworker. The moment you try to teach something, every gap in your understanding becomes obvious, and closing those gaps is where real learning happens. So, basically, read, experiment, get uncomfortable, and ship more. And if you want to streamline this process, then Supabase, the sponsor of today’s videos, got you covered. Supabase is a complete back end for both web and mobile apps based on free open source software. It’s got off, storage, a Postgres database, real time, and edge functions out of the box for your back end, and SDKs on the front end, so you can easily connect your infrastructure to your over-engineered front end.
03:55
To start using Supabase, you can either self-host it using Docker or simply sign up for free and get a fully managed account. All of the features are neatly arranged in an intuitive and easy-to-use interface, so you can easily set up your database, authentication, and storage in a matter of minutes. And if you’re working with AI, Supabase has PG Vector built right into the database, so you get vector embeddings without bolting on a separate service. It’s genuinely the best way to build an AI-powered app right now. Start for free with the link in the description. Thanks to Supabase for sponsoring this video.