DEV Community

Cover image for Best way to learn a new Language/Framework: In My Opinion, Start with Small Projects and Scale It Large
Muhammad Saim
Muhammad Saim

Posted on

1

Best way to learn a new Language/Framework: In My Opinion, Start with Small Projects and Scale It Large

Learning a new language or framework can be daunting, but in my experience, the best way to truly understand it is through practical application. Instead of getting lost in endless tutorials and theory, start by building small, manageable projects.

https://github.com/MuhammadSaim/go-lab

Here's why this approach works:

  1. Hands-on Learning: Using a language or framework is the best way to get comfortable with it. Writing code for real-world applications allows you to tackle the specific challenges that tutorials don't cover.
  2. Iterative Growth: Start small. Don’t jump into large projects right away. A simple to-do app or basic API can give you a solid foundation. As you get more comfortable, gradually scale the project to incorporate more complex features and functionalities.
  3. Focused Learning: Small projects force you to focus on one thing at a time, such as mastering the new syntax or familiarizing yourself with the framework's or tooling's conventionalizing. You'll learn better when you're hen not overwhelmed.
  4. Building Confidence: Building confidence is through every small project. Each little success propels you toward the next challenge. Knowledge from a small project is the building block of a much larger solution in a scaled-up environment.
  5. Portfolio Development: These tiny projects will begin to form the basis of your portfolio. The more you build them out, the more you can demonstrate how your skills grow through tangible work reflecting your progress.

So, if you're starting from a new language or framework, jump in with small projects and, as you build, scale them larger. You'll be amazed at how fast you will learn, and before you know it, you will have the skills to tackle more complex problems!


A Personal Experience with Learning Go

I initially tried to learn GoLang through various tutorials to get a handle on the basic syntax and concepts. As a busy software engineer, however, I found it hard to dedicate the time to learn things conventionally. I explored content from YouTubers like AnthonyGG, Mikey, and others to familiarize myself with Go, but it wasn’t until I started following Akhil Sharma’s project-based series on YouTube that things clicked.

The series is almost three years old, covering Go1.18 or earlier versions, but I’m currently working with Go1.24, which introduces more limitations and new challenges. These limitations force me to think creatively and problem-solve in ways that I wouldn't have anticipated if I had just followed the tutorials verbatim. It’s been a steep learning curve, but solving these issues as I go has been incredibly rewarding.

This experience shows that, even with a dated tutorial series, diving into projects forces you to adapt and grow, which accelerates your learning in a way that just following tutorials alone never could.


So, if you're starting with a new language or framework, dive in with small projects, and as you build, scale them larger. You'll be surprised how quickly you'll learn, and before you know it, you'll have the skills to tackle more sophisticated problems!

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Eliminate Context Switching and Maximize Productivity

Pieces.app

Pieces Copilot is your personalized workflow assistant, working alongside your favorite apps. Ask questions about entire repositories, generate contextualized code, save and reuse useful snippets, and streamline your development process.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay