I have been programming all my professional life. I'm in my early 30s now, got my first programming job at 21, in college (I majored in CS). At first, my professional development seemed easy and natural and now I'm feeling that I'm hitting the limits of what a programmer can do, which saddens me a lot. In short, after 12 years in the industry, I know all too well what it takes to build a software system. I now know that bringing a project to a reasonable degree of completeness requires crazy amounts of work most of which is not only not sexy, but close to downright menial. Startups' products are worst in this regard as 90% of them are some variation of CRUD web systems, but even if you try to dig deeper, the ratio of intellectual reward to sheer amount of work is terribly low. For example, want to experiment with programming languages? You must plough your way through parsing (a solved problem) and maybe some variety of VM to emit code for before you can even start actual work. What counts as a personal project on sites like HN tend to focus on solved problems as well. People talk about developing web frameworks (a mostly solved problem) or similar things that would be interesting for a sophomore CS student but not for me right now. Problems similar to what Project Euler is about seem too limited, lacking any chance of impact. This notion of impact is the key in how I feel. Contrary to what they write in Wired sometimes, it just feels like one programmer can't make any impact any more, that you're always a cog in the machine. In a big project you always work on a very limited subset of functionality, away from the essential parts of the product, just because there's no way one person can pull out the weight of the entire real-world production-grade system. And short of working alone there's no way to get yourself closer to those essential parts. Please help me. I'm running out of motivation and I need to believe that it can be elsewhere somewhere around.