Home » Software Development » How to Teach a Customer

About Yegor Bugayenko

Yegor Bugayenko
Yegor Bugayenko is an Oracle certified Java architect, CEO of Zerocracy, author of Elegant Objects book series about object-oriented programing, lead architect and founder of Cactoos, Takes, Rultor and Jcabi, and a big fan of test automation.

How to Teach a Customer

In outsourcing, very often a customer is an idiot doesn’t really know what he needs — not only in terms of functionality, but also on a technical level. What makes the situation even worse is that the customer very often always thinks he knows and understands enough. The question is how do you teach a customer? How do you train, educate, and help him? You don’t!

The Firm (1993) by Sydney Pollack

The temptation will be huge, though. You will think that the customer is your friend. You will want to help him. You will feel very motivated to make the product better. Moreover, you have the needed knowledge, so why not share it, right?

Wrong. Very wrong. On so many levels.

Most of all because the customer is not your friend. Not a partner, not a co-worker, not a colleague, and not a teammate. The customer is a project stakeholder, just like you, but his needs are completely opposite of yours, and he is very aware of that.

Very soon, when the project fails, the customer will find someone to blame

He wants the project to finish as soon as possible and to take as little money out of his pocket as possible. You want exactly the opposite. You both work for the project, but from two very different angles.

Very soon, when the project fails (and it will fail, just like 94 percent of all software projects, according to Chaos Report), the customer will find someone to blame. Needless to say, he won’t blame himself; he will blame you.

According to the same report, only 7 percent of failures are caused by technical incompetence. Thus, most likely your project will fail because of an incorrect understanding of requirements, poor planning, misalignment of management objectives, etc. Do you really want to be blamed for the things you’re not an expert at? Let the customer fail; it’s his project, his life, and his money.

Do your technical job right and stay away from everything else. This is what true professionalism is about—focus on the things you can do best of all and better than most others.

However, if you see that he is doing something wrong and definitely requires help, recommend that he hire a consultant. There are many people in the market who can help him with requirements, UX, business analysis, marketing planning, branding, etc. In most cases, customers just don’t know that these people exist, or they believe these services are just a waste of money.

Try to convince them that it’s not true, but don’t become an adviser in something you don’t understand. Your job is coding, so focus only on that.

You may also find these related posts interesting: What Does a Software Architect Do?; It’s Not a School!; Why Software Outsourcing Doesn’t Work … Anymore; How to Avoid a Software Outsourcing Disaster; Making Your Boss Happy Is a False Objective;

Reference: How to Teach a Customer from our JCG partner Yegor Bugayenko at the About Programming blog.
(0 rating, 0 votes)
You need to be a registered member to rate this.
1 Comment Views Tweet it!
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
Email address:

Leave a Reply

1 Comment on "How to Teach a Customer"

newest oldest most voted
Notify of
Sanjay Kumar

Excellent, Thanks for sharing.