>>12551603Pick a specialty: Webdev, networking shit, interface design, databases, security, game dev, corporate enterprise, quantDev, embedded, robotics, or any of the other hundreds of actual jobs that people do. Look up a job board and see what's interesting.
If it's vaguely low-level, do this. If it's not, fuck if I know.
1) Learn assembly. A programming game that gives you dirt simple tasks and a very constrained set of tools and a hella simple simulated computer. There's a handful on steam. I played with AT-robots.
Assembly is too damn simple. It's pulling teeth to do ANYTHING. But using it will teach you what computers are actually doing, which is vital.
2) Read whatever intro to C. Really, any of them will do. Walk through the book and make some toy programs. Super-easy games, trivial demos, simple shit. Like a random insult generator. 3-card monty.
You'll pick up the basic of flow control, program layout, the stack, how to hate strings, math libraries, compilers, and hopefully makefiles.
3) Make a project. Do something. Whatever you can. Step out of the book and go make something.
4) Pick up a graphics library. SDL, Unity, openGL, html5, whatever as long as you can put pixels on the screen. This is really important for getting that ability to have feedback from your programs. Just... anything really.
5) Pick up SQL. It's just hella handy for a lot of applications and it's simple enough you can bolt it onto any language.
6) Branch out into other languages. There's a lot of work with C++ out there (That's actually a hideous hybrid of C/C++ because fuck no, we're not using dynamic memory on life-critical hardware). ADA if a fine girl. Rust and Go have promise. Python is great for scripts. Bash glues all the solutions of yesteryear together. A functional languages are way different and good to wrap you head around. Learning how other things get shit done will make you a better programmer.
7) Hone that C to a knife edge.