Byte Size Advice
I leave my direct-messages open so I get a lot of questions on Twitter from budding developers; “Can I ask you a question about programming?” is a common one often followed up with the same question repeated again some time later.
One thing no one ever asks me is general advice on how to approach programming so I’m going to go ahead and give my bits of advice on it anyway.
Bit = Fundamentals First
Programming should be fun and it is, but you’re going to have to walk before you can run. The first thing a programmer should be learning about is the fundamentals.
I’m talking about the very basics like a fundamental understanding of memory, variables and arithmetic. Then follow that up with branching, loops, functions.
Later on once you fully grasp that you can extend that to structures and classes and it doesn’t hurt to understand at-least at a high level CPU caching and how random memory access works in relation to that.
Finally once you’re fully confident with that move on to the advanced concepts in your language of choice like object oriented programming, functional programming, polymorphism, parametric types, meta programming, preprocessing.
The rabbit hole keeps going, once you’re familiar with how your language works there’s still the how to interact with external things like hardware interfaces and or network protocols that you’ll have to learn also.
Set realistic expectations for yourself you’re still a beginner! You’re not going to be able to make a MMO (even tho it is a time honoured rite of passage to attempt at-least one in your time as a programmer) or complex web service as your first project if you don’t know what the code really does.
So make simple programs at first until you have a solid grasp on things, start with the most basic programs like guess the number then move on from there.
It will all click and be as natural as walking some day in the future if you just dig in deep at this level.