Ooh, Riot... (full disclosure: I spend too much time playing their game).
Anyway...
I got my BS in CompSci in December 2010. Got a Master's in what can best be described as an MBA for engineers a year later. Could've gone for the MS in CompSci but the areas of interest at my alma mater for higher level studies didn't match mine, and the business strategy/optimization modeling stuff was more fun.
Starting the summer before I got my MS, I worked with a small dev firm on a range of client projects. All web apps, mostly PHP (though the first one was in Prel...yuck). I'm currently working with that firm's successor: six or so people, all but one contractors (myself included), doing web application and website dev for a handful of clients ranging from small sites to startups that are headed for their third funding round. I can take off to see family/friends in a different state more or less whenever, but at this point my work goes with me and I'm generally on call in case something big breaks (though that's happening less lately). But I don't really mind that aspect, the work is generally interesting (I generally leave user experience work to others but sometimes I'll do that stuff too...I like making things run fast and return the right data better) and the pay is quite good, though if I wanted to trade in my hourly for a salary at a startup or established tech company I could probably make a bit more.
Now, what does all that have to do with school?
First, I'd throw work in the direction of someone who has already dabbled/done work in the systems that we work with before (or similar ones...a programming language is a programming language) I'd throw it at someone fresh out of school with a degree of any sort and little/no appropriate experience. A Master's may be useful but the market is hot enough that a Bachelor's is probably the sweet spot right now, at least from where I sit. But extracurricular coding, whether for coding contests, odd jobs or personal stuff, is going to be just as important as knowing object oriented principles, algorithms, and good software engineering practices from a textbook, even when you're just starting out.
As fair warning, keeping up with the tech world is basically running on an intellectual treadmill. You'll have to pick a specialty at some level or you'll fall behind knowledge-wise. Keep up with the treadmill and learn to write better code and you'll do well for yourself, though this tech bubble won't go on forever (though by the time it pops the folks who are good at what they do will probably still have jobs anyway).
At the end of the day, I like solving problems by writing code...or rewriting it...or setting up servers...or benchmarking applications...or collecting requirements from clients and building specifications. What I do certainly isn't building bridges or cars, but the engineering aspect is still there, and that's the run part. And it's why I spent the time I did (only 4.5 years) getting my BS and MS to put some more tools in my toolbox for solving these problems (and it does help!).