Programming itself may be a bit of a dead end, where you can quickly hit the glass ceiling; but if you get involved in other important parts of software production like design, specification, requirements gathering, support, sales and marketing then then the domain knowledge that you can gain can lead you onto many other things.
Technologists who also have a lot of domain knowledge are gold dust to many companies because they can straddle the world of business and IT and help bring the two sides together to develop better solutions. Much of the business of computing still baffles a lot of very intelligent people, so if you can act as the translator between these to sides then you can definitely broaden your horizons.
The thing is as well, that you may not have to give up programming entirely. I've managed to lead IT projects, and then once they were delivered go back to working on programming again.