Under the heading of "etc." comes something which can easily take 50% or more of your time.
Learn how to debug.
This means learning the Scientific Method. I mean really learning it. And then applying it with brutal self-honesty. Learn how to state precisely what you know is true, what you know is not true, and those things which you don't know. Any time you sloppily assign an item to the wrong category, you've just made your life a lot harder.
Learn to say "I think" instead of "I know". You only get to say "I know" when you "think" something is true (or false), and then you prove it!
Many bugs are trivial, but they can be hard to see because you "know" what the code should be ... except it's not. Find a freind to explain it to. Ask them to be an "expert idiot": someone who doesn't know your code, but who you know you can't blow BS past. Don
t be surprised if in the middle of a describing it to them you suddenly stop and say, "and so you can ... see ... see that ... sh*t. Thanks."
Nontrivial bugs require an arsenal of techniques. A classic that can quickly spotlight most non-timing related bugs is Wolf Fence in Alaska. There is a wolf somewhere in Alaska; build a fence cutting the state in half. Which side is the wolf on? Cut that side in half. Lather, rinse, repeat. Doing this 20 times at well-chosen places in the code reduces the area where the bug (wolf) can be to 1/1048576. Kill that wolf.
Tip: look for handwaves—physical, mental, or any other kind. As soon as you (or your colleague) flinch / divert / minimize attention paid to a portion of the code, go totally rabid. Because the area where you just know the bug can't be, even though you've spent hours / days looking for the d*mn thing and still can't find it ... that's the highest probability location for the bug. Nobody gets a 'bye', nobody (including the machine, the OS, the compiler, or you) gets any sort of "due respect". There's a bug. Period. End of sentence. Now go kill the d*mn thing.
I know of no school that teaches debugging as a subject unto itself. IMNSHO, this may be the single most glaring piece of evidence that they (universities / professors) are not teaching you to be a programmer, they are, instead, teaching you to be ... like them? Harsh? Perhaps. True? Make up your own mind. Now prove it.