Time management is a good start. If you want to be a better programmer, start by accepting you need to engage in life-long professional development. I say this to all newcomers, "If you're not prepared to continually learn and read, you're in the wrong industry".
Start reading blogs. Get exposure to industry code and what developers are thinking. Don't take what blogs say as gospel though, have a think about what the authors are blogging, and see if you agree.
Get some good books on programming. Not on programming langauges but on actual programming and software development. A few good ones are:
* Steve McConnel's Code Complete (version 2)
* The Pragmatic Programmer
* The Mythical Man Month
* Peopleware
Then learn all you can about software patterns. Both deisgn patterns and architecture patterns. The two seminals works in this field are the GoF book (Gamma et al) and Martin Fowlers "Patterns of Enteprise Application Development". (Make sure you know your UML too

) Patterns are the language we developers use to communicate. If I say to you "Use the decorator pattern", you should know exactly what I'm talking about. Patterns aren't language specific, though they are paradigm specific (OO).
Requirements for getting a foot in the door can vary widely depending on where you're applying at. Some dev shops will take you with just industry certifications, others will require undergrad degrees, and others will require at least a Masters degree.
A good uni course should teach at least these:
Design Patterns (the main GoF ones at least)
Software Project Management
Operating Systems
Networking
Databases
Realtime / Concurrent Systems programming
Machine Hardware (every programmer should do at least introductory computer systems engineering / hardware, to understand how memory is physically accessed, what registers are and why they're important etc)
Modelling and specification languages (UML, Z, etc)