Based on that experience, my guess is that those who regret are usually those who just go through the motions. They most likely don't have side projects, or ideas to pursue, and the monotone of programming gets to them. Lets face it, our industry is all about repackaging the same old solutions, but for different clients, and that's quite boring. I like to imagine that engineers in other fields do a lot more than what programmers do, which makes things different even when repackaging solutions, but I could be wrong. In Indian context, there are many people I know, ranging from senior engineer or VP, working in multi national companies, with very good salaries, but are quite disenchanted with their jobs because they are nothing more than glorified bricklayers working in India while the architects send out instructions sitting in USA or Europe.