Learning Software Skills fast: what worked for us best in the last 15 years

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 takeawaysFocus on applying what you learn - reading books or watching videos isn’t enough without practiceBuild real projects that challenge you - trivial examples don’t expose you to the hidden complexities you’ll face in actual workExpect and embrace frustration - feeling stuck often means you’re learning something valuableLearn timeless concepts over framework-specific details - aim for universal software skills like modularizationMix theory with practice in small chunks - read a bit and code a bit, rather than consuming large amounts of content at onceNotesWe mentioned our learning platformDomain-Driven Design was referenced throughout - check “Implementing Domain-Driven Design” by Vaughn VernonWatermill - our open-source library mentioned as an example of a project that taught us while helping others: github.com/ThreeDotsLabs/watermillEvent-Driven Architecture traces back to 1950s, but was formalized about 20 years agoThe Repository pattern blog postFull episode notes and transcript: http://threedots.tech/episode/learning-software-skills-fast/

Om Podcasten

Based on nearly 20 years of working together on various projects, we discuss when it makes sense to move fast rather than aim for perfect code, and how to avoid technical debt that can kill your project. We focus on making mindful engineering decisions instead of blindly following rules like “always do X” or “never do Y”. Different situations need different approaches to code quality.