I basically had no real experience programming until I graduated. I took 2 programming courses in undergrad, one being an assembly language course, and I did a summer internship where I did some Matlab scripting to print out graphs. My 4th year project was using a DSP chip to write an FFT in assembly. So while unemployed I taught myself C++ programming, as well as IT administration and networking. My first job was as an IT guy, but I spent every night after work programming, writing utilities and digital audio filtering utilities using FFTs. Within 2 years, I got a job programming after lying on my interview about my previous job experience and I've been programming ever since.