DEV Community

Matea Vasileski
Matea Vasileski

Posted on

George Hotz inspired method of Learning to Code

Hi everyone,

I recently created a video to approach the common problem of how to learn to code for beginners.

But I went for a different approach. I attempted to provide a more general framework of what coding entails, and how to get into programming for the long run.

This video was partly inspired by a video of George Hotz speaking about programming.

I really want to hear your thoughts, so..

If you have any extra tips, ideas, or general comments, please add them below! Thanks for reading, I really appreciate it.

Top comments (2)

thorstenhirsch profile image
Thorsten Hirsch

Just code a lot!

Well, IMHO there are 3 types of "coding".

  • following tutorials
  • having a side-project mainly for yourself
  • building a software product for actual users

The 1st one gives you an overview of programming languages and frameworks, so that you can evaluate them for real use... like using it in a side-project that you work on for yourself. Learning starts here, because now you have to solve real problems. When you just follow tutorials you won't learn much, because you don't need to think much about it. Only when you face new problems that aren't part of the manual (but might very well be part of the translation from business requirements into code) you really learn how to code.

So why do I make a distinction between "working on a project for yourself" and "building a product for users"? Well, you might become a good coder when you work on projects and finish them, but as long as you don't have real users (other than yourself) using the software, you don't have a product. And that means you're not even half way through. I'm not talking about marketing, support, or finances, it's still all about coding. Real users demand up-to-date and easy-to-understand documentation, maybe even in multiple languages. Real users will tell you about totally new kinds of errors, and you suddenly have a product lifecycle with guaranteed uptimes, feature requests, backwards compatibility, and so on. You didn't need those things when the project was just for yourself, did you?

You might say "I don't care, it's enough for me to be a good coder, I don't need all that trouble with real users" and that's totally fine, the world needs more good coders. But I wouldn't put you in an advanced role like solution architect, it architect, or product owner. If one of these roles is your goal I strongly recommend not to stop working on a project once you think it's finished, but to continue working on it, make a real product out of it, release it, and maintain it. You will learn so much more!

mateav profile image
Matea Vasileski

Great points..the complexity that comes with products which scale with users definitely pushes product teams to improve products from multiple angles.

The nuances of creating and maintaining these type of products needs to be talked about more, happy hearing it here!