Have you ever realized you're dealing with a customer who knows a lot more than you? That they should be sitting in your seat, working on your product?
When I first started working at TurboPower, I ran into that situation.
TurboPower sold a client/server database engine called FlashFiler. I was brought into the company to create version 2 of that product. One of the challenges was moving it from a single-threaded to a multi-threaded database engine. There's lots of complications in doing so and I won't bore you with the details.
Two guys on the team, Ben Oram and Scott Carter, made things a lot easier. It was great to have two trustworthy, solid guys pitching in and pulling their own weight.
But let's just say that when it comes to architecting a database engine, I was almost out of my league. I didn't have the vision for what could turn FlashFiler into a killer product within its niche.
Thorsten Engler, one of the more active customers in the TurboPower newsgroups, came to the rescue. He spent many hours IMing with me, helping me to see that certain architectural decisions made up front would bring great flexibility and performance later. He flagged a bad design decision that I thought would be okay. And later he was proved right.
Had we the opportunity, TurboPower should have hired him. The interesting thing is that he wasn't the only customer who became deeply involved with FlashFiler.