I'd rather spend my time programming, building interesting things(interesting by my definitions) and learning new tech than building (or overseeing the construction of) things, spending time on making sure that other people are going to like it, finding ways to monetize it, hiring people and retaining them, ensuring they get paid every month, and keeping a commercial enterprise afloat.
I've been working for three years and three months, and am currently working in my third company.
I started out coding PHP at company 1, continued coding in PHP for company 2 and transitioned there to working on a Python project. At Company 3 I am working on Java end to end.
Granted, all projects I have been working on are web development projects; however a senior programmer at my outfit with six years of exp started out as a embedded systems engineer.
I think the short answer to your question is : It's possible. Keep your chin up, and keep looking.
I wholeheartedly disagree with the recommendation of "Artificial Intelligence, by Elaine Rich". The book was unreadable in a way that made me want to detest the subject.
1984 has a lot to teach, and you could argue we've not learned them as history is rewritten, thoughts outlawed and truth redefined by our politicians and media.
But I'd agree that BNW has more to teach us about today - lots of us are losing/have lost the ability to think much beyond our next pleasurable experience.
I am in India and real estate prices are obscene.I am doing reasonably well but am going to struggle to afford a 850 sq ft apartment. I was looking at a 1000 sq ft spot as something of a 'giant space'. :)
I suspect this might have been easier to accomplish without taking on the exercises. I'd try going through the texts first, gaining some understanding, and then follow it up with some serious exercise crunching whenever I felt like it.
That way, I at least gain a theoretical understanding of the stuff - enough to understand what some CS papers talk about.