30

To give some background, I have been working in India for a company for the past four and a half years, mainly in core development (Java, JSP, and C#). At the start of 2020, I was assigned to a project which was a tool, based and assigned as a resource to the client for three days a week for six months.

The first six months were initially going okay. At the end of the sixth month, there was an extension of the contract for three more months. Things started to go south during the last two months of the project. Though I have corrected and given the required things, the client is denying to pay.

I do not know what else to do. It's the first time in four years where I have failed, and I am completely shattered. I have also lost my confidence in my work.

I need advice on the following things:

  1. What should be the next steps? (Legally, career-wise, etc.)
  2. How should I bring back my confidence?
5
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Neo
    Dec 8 '20 at 14:24
  • Is the client threatening to take legal action against you personally? Dec 8 '20 at 16:41
  • 17
    Can you be more specific about the kind of mistake you made? Is it technical or procedural? Did it affect project in the long term and how if so? How mistake became visible and how long did it take to fix it? Dec 8 '20 at 20:28
  • 4
    Isn't there an approval layer? You were assigned to work on the project, isn't there a superior who was assigned to sign off on the product before shipping it?
    – Rohit
    Dec 9 '20 at 3:14
  • Was there a contract/statement of work that was signed between your company and the client? If so, did it include provisions on not paying due to such mistakes as the ones that you made, even if they were rectified?
    – TylerH
    Dec 9 '20 at 15:52
149

The contract between the client and your company is none of your business. Everyone makes mistakes, so you may find that it's not as big an issue as you feel it is. The only thing you can do is talk to your manager and see what they think about the situation. Some clients are just looking for ways to avoid paying and you may have be caught up in that. We cannot give you the advice you're looking for here.

3
  • 71
    If it was going so well for 6 months and then the company extended the contract, and only started fussing about it at the very end, it seems like they are just trying to weasel out from paying, and the OP's mistakes might not even be that bad or that relevant.
    – Val
    Dec 7 '20 at 18:38
  • 14
    Never underestimate the last point about clients unwilling to pay, as I could see in my part of career in architecture. I was shocked by the number of clients that without any stated reason, or even without sating anything at all, ended up in front of the juges before paying. I don't remember the ratio in the agency I was in, but I think it was close to a quarter of them (among the richest ones, I would add)
    – Kaddath
    Dec 8 '20 at 15:11
  • (*...may have been...) Dec 9 '20 at 13:57
60

Talk to the manager and (if required) the legal department of your company.

You are not working as an individual contributor, so the legalities are not for you to handle. The company you're working in should be handling that part. Based on the client feedback your performance appraisal might get affected, but that's the most of it. You do not have any legal bonding regarding the payout from the client to the company.

That said, we're hearing only one side of the story, but going by your version - even after made the required / requested changes, if they are denying payments then either there is no concrete acceptance and payment criteria defined (which the client is taking undue advantage of), or the are simply trying to escape the payment, in which case a legal team from your company should be able to handle that.

Regarding the morale, it's just like in any other case - there will be ups and downs. there are certain things which will be beyond your control - you don't get completely affected by them. Learn from the mistakes, and move on. Everybody makes mistakes, just be sure not to repeat them. There's a famous saying:

"The Guru has failed more times than a beginner has even tried."

One failed project is not end of your life / career. It's a part and parcel of it, accept it and move on. Best of luck, onwards!

28

Did you do the best you could? Did you follow all processes? Did you live up to your mistakes and tried to fix them instead of hiding them?

Then you did nothing wrong. The only people who never make mistakes are people who never do any work.

When a client refuses payment even though your company fulfilled the contract, then the client is the problem and needs a smackdown from your company lawyer(s).

When the contract was written in a way that they don't need to pay you in this situation, then your sales people who negotiated such a risky contract are the problem and need a smackdown from the management.

1
  • One shouldn't have to do their "best" to not end up in a situation like this. I'd imagine that as OP who is already struggling and feeling shattered, asking if he did his best might just be making it worse. Saying "I did my best" requires a lot of things to go right.
    – Vivek Rai
    Dec 9 '20 at 2:26
8

It is usually because of more than one person fails when a failure has an important impact. A perspective is:

  • The customer responsibility is to communicate specifications, their expectations and managing risk of the supplier;
  • The person who deals with the customer (owner, seller, accounts manager) responsibility is to confirms the specifications, manage the expectations and assess the customer satisfaction and payment risk;
  • The developer responsibility is to program a software that is maintainable, satisfy the specifications, communicate impediments and unclear instructions;

There are multiple strategies to avoid being impacted by customer situations:

  • small deliveries to synchronize specifications and customer expectations;
  • update planning of what is delivered and what will be delivered to manage scope and expectation;
  • payment for each delivery to avoid losing negotiation advantage;
  • keep the source code that has not been paid to avoid losing negotiation advantage;

My feeling from your question and the importance of the situation is the loss of revenue is attributed directly to you. As others mentioned, managing customer relation and money is usually not the developer responsibility when you are an employee.

Q. What should be the next steps (Legally,career-wise, etc)?

  • The 4 years of experience you have at your current position means you are able to do the job whatever your skill level;
  • A supplier doing 6 months of works without perceiving any payment is a tremendous financial risk, the customer can close doors for multiple reasons: sued, bankrupt, raided, etc.

The fault is distributed to everyone participated to this project at various extents:

  • If the customer did not communicate his dissatisfaction at the beginning;
  • If the office people did not manage the financial risk and the customer relation risk by matching developers to projects;
  • If the delivered software does not match the requirement;

There is no clear answer, it depends of the company position, are you blamed entirely for the lost of the revenue? what are the consequences? their intents? how are you finances? can you stand-up for your parts and risk losing your job? is your manager is open to discussion? what is your perspective?

Q. How should I bring back my confidence?

I propose that you take your share of the responsibility and you leave the over to the other collaborators. Everybody is human and face failure, they are inevitable and sometime hard. I propose to accept them and accept they will be more, learns if there is some value and manage it as a human.

In conclusion, this answer may not be useful but it demonstrates that you are living a complex situation with a lot of grey areas where a combination of people actions created it, please, do not inflict all the responsibility to yourself.

2
  • 2
    Correct. It's not just the OP that "mangled" things. The QA dept should have caught bugs, the manager should have made sure expectations were clearly defined, the saled dept should have put in stricter payment requirements, maybe the CEO shouldn't have approved the contract, the legal dept probably shouldn't have approved the contract, and the legal dept should definitely take on the client to make them pay. In any other industry, a line employee isn't held responsible for any problems, unless they are doing it purposefully. Too bad devs are so often blamed in this industry. Dec 7 '20 at 17:02
  • 2
    And this is a completely survivable "mistake", since none of us are ever perfect. The client is likely blowing this out of proportion, as they should have had their own people double-checking things as it got published. The OP shouldn't take this too hard, since there's plenty of other people that mangled things worse. But it is difficult to not think something like this is your own fault. The code issue is resolved, so that's as far as the OP needs to take responsibility for. Everything else is someone else's problem, by definition of their job description. Dec 7 '20 at 17:06
1

Two things to keep in mind: One, it is not your job to make the customer pay. If they refuse to pay, some manager involved in business and not software development will ask the highest software development person if you delivered something of value, even if not perfect. And then they will negotiate with the customer. The customer can’t just say “I’m not paying”, there are contracts and courts. Don’t worry about them.

Two: You don’t know whether your mistakes are the reason or just an excuse for non-payment. The customer might have cash-flow problems. The person signing the deal with your company may have been fired, and they want to get out of the contract. Quite possible that no matter what you did, they would have found fault because they wanted to.

So if your manager tells you that you made mistakes that shouldn’t have happened, you worry. If not, don’t worry about it. And remember that criticism from outside your company may have been intentionally.

This site is temporarily in read only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .