Have you ever been frustrated because of your client? Most of us have.
Whether the client wants a feature that makes little sense or demands an impossible deadline. This can be exhausting.
You're not alone.
As software engineers, we like to treat our clients (or bosses) with care.
But your client isn't as fragile as you think. When you thoughtfully contradict them, you can improve your relationship with them. You may also (accidentally or on purpose) raise yourself a better client. One that discusses their ideas and thoughts openly with you, before they become hard requirements.
You can make it work.
Your client asks for a feature that makes little sense. What do you do? This is a great opportunity to show that you not only execute tasks. Show that you think ahead. Make sure you thoroughly understand what they want. Understand why they want that feature. Then share your concerns and show alternative ways to reach their goals.
Your client will learn that you give them honest feedback. With time they will talk more and more openly with you about ideas they have. Because they know that you help them get the best solution.
When you contradict your client the right way (see below), it shows competency. Your client will learn to trust your expertize.
Bonus: with suitable explanations on your side, the client learns much more about software engineering than when you are silent. You raise them to become a better client this way.
Some examples where you could contradict your client are:
There are more situations. You're the expert. You know when there exists a better way.
The next time your client asks for something that makes little sense, thoughtfully contradict them. Don't just say no. Do this instead: 1. Make sure you understand what they want. What to say:
Software engineering is craft, science, and art (link for each). But one of the most important aspects is client management.
Contradict your client. Manage their expectations. Prevent yourself (hopefully!) from building useless features and working under stress to make an impossible deadline.
Don't waste your time (and your client's) when you know a better way.