My method of learning programming (What to Google)

Subscribe to my newsletter and never miss my upcoming articles

There has been a pattern that I've noticed myself use when I started out learning how to code. I've since then used it whenever I'm learning a new language or a framework and building a demo project.

Granted, I kind of already knew a little bit about the pieces that make up software. So taking my first real python project as an example, this is the flow I went with:

I wanted to create a tuition manager project. I knew that I would need to:

  • input data for students
  • store data for students
  • show the saved data

I was able to break down the whole problem and pinpoint myself to things I should focus on. What I mean by that is

Instead of learning about Python first and then starting a project, I started the project first and learned Python for the bits I needed to implement

I wanted to go fast, so this method allowed me to not waste a lot of time learning about the things in Python that I wouldn't be using. I should add that this method is not the best. It made me not learn about some important things like decorators so I never used them. But it did help me progress and learn quickly.

One major benefit I found with this is not getting stuck in tutorial hell. I remember lying down and watching 1-hour long crash courses of programming languages and never understanding it since I was trying to consume way too much information, in a small amount of time. And it might work with other things, but it wasn't working with learning a programming language.

Instead, I would google the thing I wanted to implement e.g. storing data. This approach would have my search history go like this:

  1. Ways of storing data in python (plain-text, json, db)
  2. How to write json to file
  3. How to read json from file

I had a clear goal in mind with this method. So I find that instead of thinking that I know nothing and will have to spend a lot of time learning the language first, I would go How do I read from dictionary in Python and similar questions would trim down my vagueness of the language and I would learn about the related things much more quickly.

No Comments Yet