How to learn programming or where to start to learn
Your ideas is the best thing you can learn from. Or at least they are your reference point.
In programming, I’ve never asked «what to do and where to start?». In fact, I didn’t really understand what I had to do (and even how to do it right). Also, I wasn’t very eager to get a job right away. I liked the process itself: you write commands and the computer executes them. Fantastic. And coming up with new ideas was no problem.
I learned how to come up with ideas when I was a kid. My favorite game was Wacraft 3. In it, you could create your own game modes. It even had a full-fledged programming language. You could create anything: game genres, interesting characters with their own skills or complex game systems.
The plan was the following: come up with something — try to implement it — if it did not work, look for it in the web — finish implementing it. There was not much information on the web, and I had to guess and learn at random. Or go to special forums. I must mention that this game had and has a remarkable community.
When I got a little older I was sent to programming courses where we learned Pascal and Delphi. We had enough homework there, although sometimes I tried to code things myself. When they taught us how to draw, I figured out arrays for fun, so I could draw rain. And then, when we started using arrays in our programs, it was much easier for me.
Later on I started working with C# and WPF. It’s a framework for developing Windows applications. And it was the same thing: you come up with an idea — you try to implement it. When needed, search for help on the web. How do you paint a button? How do you create and open a new window? How do you display data on the screen? And so on.
From recent examples: I got the idea to make an Android Launcher (home screen) using Flutter. It seemed to be something very complicated, but it turned out that’s it’s just a regular Flutter .
The source code, by the way, can be found here.
In one important area of my life, I kept making this mistake. I watched others, but didn’t try myself. Nothing good came out of it.
That’s because you learn much better with practice. You create something on your own, then improve and optimize it. You end up with something that works. That’s a great feeling.
If I just watched something on YouTube all the time without practicing, I wouldn’t really learn anything. That knowledge, gained mostly at random, helped me get a job. There I was lucky again: my boss turned out to be a really cool guy with a healthy attitude about development and processes. He taught me a lot.
By the way, if I started now I would upload all the code on GitHub. So I could show it off on interviews. Yeah, I’m a junior, but look, here’s what I can do. Guys like that are much more likely to be hired for training.
Now I’m doing something simillar with this blog: learning on the go. I am sure there will be a lot of mistakes, but that’s the best way I can learn.