Learning Software Skills fast: what worked for us best in the last 15 years
Update: 2025-04-17
Description
In this episode, we discuss how to learn effectively as a software engineer. Why some people seem to learn faster than others? What are some practical ways to speed up your learning? Instead of promising magical shortcuts to becoming a principal engineer in months, we focus on a more balanced approach that helps you build skills by mixing theory with practice.
Quick takeaways
- Focus on applying what you learn - reading books or watching videos isn’t enough without practice
- Build real projects that challenge you - trivial examples don’t expose you to the hidden complexities you’ll face in actual work
- Expect and embrace frustration - feeling stuck often means you’re learning something valuable
- Learn timeless concepts over framework-specific details - aim for universal software skills like modularization
- Mix theory with practice in small chunks - read a bit and code a bit, rather than consuming large amounts of content at once
Notes
- We mentioned our learning platform
- Domain-Driven Design was referenced throughout - check “Implementing Domain-Driven Design” by Vaughn Vernon
- Watermill - our open-source library mentioned as an example of a project that taught us while helping others: github.com/ThreeDotsLabs/watermill
- Event-Driven Architecture traces back to 1950s, but was formalized about 20 years ago
- The Repository pattern blog post
Full episode notes and transcript: http://threedots.tech/episode/learning-software-skills-fast/
Comments
In Channel





