After graduating from electrical engineering, I figured out that if I wanted to go into electronics, I would need to spend a lot of money on equipment just so I could practice at home, but I was broke. However, my computer at the time was pretty top notch (486DX 50MHz, 16 MB RAM). I felt that my computer was probably the same caliber as the ones that real programmers were using, so it made more sense to learn how to program.
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.
I did pretty much the same thing, graduated with a masters in mechanical engineering. Taught myself to code and switched careers. Lots of cross over skill. (and engineering is very boring...) :-)
I did the same thing (ComputerEng, but more of a EE focus), mainly because there wasn't a job market that was interested in me when I graduated. I suspect this is more common with engineering grads than most others. The barrier to entry for programming is much lower than that for engineering, which requires taking the FE, getting licensed, apprenticeships (in some locales), getting relicensed, and still no guarantee of a job. Knowing that, and needing a real job after years of no interest in "my field," I took the meager programming skills I'd been mostly ignoring since the 80s and made a go of it.
This was also a motivating factor for me. Where I went to school, there wasn't really a lot of hardware jobs, but if I switched to software I could go work at a bank. After about 4 years I packed everything up and moved to Silicon Valley, just in time for the dot com bust :)
You are my kind of guys ! Why aren't there more guys like you in my team ?? I just love patronizing young enthusiastic programmers who just jumped careers and are now feeling insecure and scared of all the things that they might not know. Oh how I love to tell you that "It's more complicated than that" every time you feel like you nailed it. Yes, i'm such a douche, but for you I'm the "team leader".
Heh. :) I had a bit more CompSci than most that make the programming jump, from AP CompSci in high school to roughly two years worth of it to complete my CompEng degree (and a few "electives" such as compiler construction and a low-level intro to AI course). But there were still lots of things that I missed (OO and all the related trappings were completely missing from my schoolwork. STL barely existed.), but most of those had no benefit to what I was doing then. (Just as assembly and being able to design a chip from the sand up has little benefit to what I'm doing now.)
"Team Leaders" are fun to lead into blind alleys and ambush with little known facts and tricks, too. ;)
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.