Where do I go from here?
chipsy: If the suggestion of solving other people's problems or entrepreneuring doesn't (directly) interest you:Find a second skill to cultivate that complements programming. (Prime examples would come from the arts and science.) Seek a novel interdisciplinary approach to using both the new skill and your current ones. You don't become passionate about hard work overnight, yet you've somehow reached that point with your programming abilities. So lifestyle changes notwithstanding, if you can do it once, you can do it again with a new skill.Doing this will bring you out of the "meta" realm where it looks like everything in software is one of (hugely complex, painful to maintain, already built, a pointless hack). Instead, you will have the benefit of perspective and can start to apply your technical armaments to some other field where computer-oriented problems are obvious, commonplace, never-ending, and usually - at first - easy to solve.