I have done this for 30 years now, but with a twist; I get clients for consulting, learn their business and then build software to help them and sell it to them and their competitors. My first products from 30 years ago (in pascal/Delphi) still sell. I am currently consulting for 5 clients and building a new product; keeps me up to date and the work interesting.