If you're a competent problem solver, learn something very practical and immediately in demand; mobile development comes to mind. Expect to be paid entry-level salary, and work your butt off to prove yourself, and move up.
I have an engineering degree, but had only a few comp sci classes. My friends are in the same boat, but we're all good problem solvers, dedicated, and willing to learn. My friend was a hardware engineer, was worried about transitioning to development. He's smart, dedicated, and made the most of the opportunities given him.
I can't say that any of us will be making millions off our ideas, but we're all successful in our careers, and that proves that it's possible. Just set your expectations, make most of your opportunities, work hard, and you'll do great.
One of the links in the original article, actually points to a StackExchange answer specifically commenting on the difference between single instance and singleton. It's a great read.
http://programmers.stackexchange.com/a/40610/42446
"...there is no reason for the components of the app to depend on those things being global..."
BINGO! This is the anti-pattern part. Not that the data is globally required, but that your units are mutually dependable. This is why Interfaces and Dependency Injection are so popular now, because they facilitate the ability to make easily testable, singular units that allow for mocks / stubs etc.
To illustrate, what happens if your global requirement happens to also be external? Would you want to have to test your component with a live version of your global and external resource? No, you would want the ability to test (either as a single unit, or even the whole app), without requiring the database, messaging, web service, etc, to be up.
"I don't tip because society says I have to. All right, if someone deserves a tip, if they really put forth an effort, I'll give them something a little something extra. But this tipping automatically, it's for the birds. As far as I'm concerned, they're just doing their job." -- Mr. Pink, 'Reservoir Dogs'
The grammar alone on this site is just dreadful, who the heck says "Codes"? And then career v. careers in the same slogan two different places. If I saw this on a resume, it would be placed straight into the circular file.
If you're a competent problem solver, learn something very practical and immediately in demand; mobile development comes to mind. Expect to be paid entry-level salary, and work your butt off to prove yourself, and move up.
I have an engineering degree, but had only a few comp sci classes. My friends are in the same boat, but we're all good problem solvers, dedicated, and willing to learn. My friend was a hardware engineer, was worried about transitioning to development. He's smart, dedicated, and made the most of the opportunities given him.
I can't say that any of us will be making millions off our ideas, but we're all successful in our careers, and that proves that it's possible. Just set your expectations, make most of your opportunities, work hard, and you'll do great.