“The client is not always right.” - Enzo Ferrari
My New Endeavor
I’ve begun doing some freelance CAD consulting on weekends. I proudly use OnShape because it is incredibly lightweight, yet powerful, and it runs in the browser. As a Mac user, it’s one of the only reliable choices I have.
My first client has been an experience. I’ve learned a great deal about communicating with clients from this. As a software engineer by day, I love taking advantage of parametric CAD to the fullest extent possible. I can draw the model in front of the client, note which parameters to change, and leave them be. There’s very little interaction after we sit down and do the initial drawing.
“That’s Not What I Want”
I have never had the oppurtunity to have the customer in the room for development in a software engineering position. With my CAD work, I get that opportunity.
The most important lesson I’ve learned from all of this is: clients generally struggle to explain what they want (and that’s ok!). If you’ve ever seen the tree swing meme, that’s exactly what I’m referring to. Before, I knew this. Now, I understand this.
You will never perfectly deliver what the client wants on the first try. There will be misunderstandings during the gathering of requirements. When it came time for a review of the work I ready, asking the client if I had given them what they wanted was a fruitless endeavor. Instead, I am far more successful if I ask how the iteration I am delivering does not fit their needs. They will tell you. Humans are very good at noting what’s wrong. We’re very bad at noting what is right.
There’s a parallel here to an interview with Bill Hader (I’m unable to find the reference), where he notes about the joke writing process. If someone says the material is not funny, you should work on a new punchline. However, if they also suggest an alternative punchline, that should also be discarded because it’s probably not funny either.
Simply put: you will learn the most about what your client wants by asking them what they don’t want.
Conclusion
If in doubt, ask your client what they don’t want. Ask your client what how the existing solution does not satisfy their needs. Keep cycle turnaround as short as possible.