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

NO SILVER BULLET

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/

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes, and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada