Java engineer here. It's a pretty good living: tons of companies bought into the Java hype, so there's always jobs. Java also means you can develop for Android.
I'd also suggest learning:
Javascript,
HTML + CSS,
Python or Ruby
Awk
Linux (Debian or Red Hat)
C++ is a dragon - it's powerful but dangerous. You'd be better off learning C#.
Unfortunately, getting a CS degree is the best way to get in the door. It used to be you could get hired on with IT and work your way up to software or system engineer. Unless you know somebody, it's unlikely you're going to get any decent jobs sans degree.
What languages are you learning?