Today I had a customer open up the code I built for them (Swift Mac OS X app) and add a function to hit their servers and retrieve some text. They wanted me to review it before submission to Apple. I went through the code with them and rewrote it in real time, to change it from an asynchronous process, which was causing multiple race conditions, to a synchronous process, which fit the bill. During this process I had the satisfaction of teaching them, and they enjoyed learning. I really feel that one of my most significant value adds as a consultant is educating my clients. It's not a problem that they made need me less and less for the coding. I figure that just means we can move on to even more interesting and complicated projects.