Well then you'll love the world of Microcontroller Programming!
You too can spend weeks optimising your opcodes to squeeze them into mere bytes of memory! You'll need the rest of the 8kb available for lookup tables, because your processor is only running at 8mhz!
You too can dream of a 'debugger' as you write and decode your own LED blink sequences!
You too can draw your graphics by timing your own NTSC scanlines!
You too can almost burn your house down using a soldering iron while sleep deprived!
You too can almost lose your mind when you find out that the reason your program isn't working is because your resistors have heated up by one degree since you wrote the code!
It's fun, the tooling to write the code can be as modern as you like, and the community is great.
It isn't as hard as it can be made to sound, precisely because the constraints quickly force you to think small. When you're only trying to make a device for automatically traumatising your cat, the constraints only pose as much of a problem as the much looser constraints you might encounter solving a larger problem with more powerful tools, say, running a website. So the learning curve isn't that steep if you're already a programmer.
http://electronics.stackexchange.com
And if that's still too sissy for you then just build stuff entirely in 555 timers: http://hackaday.com/2011/02/24/555-video-game/