Captain's log, stardate d123.y40/AB
There's a thin line between being professional and having no limits to what you do for work and how you do it. Overpleasing people constantly might actually be detrimental to your business and your reputation.
A few months ago, something broke in one of our projects, and the client reported it to me via the project management tool they use. As would anyone in their situation. Up until here, all is normal and follows standards procedures and etiquette.
For context, this project is a very old piece of software we inherited during 2021, with an insane amount of technical debt, where we came in as a rescue squad, because the app was literally burning and affecting all of its users. Our job in this project is to maintain it, rewrite it as much as we can and basically enhance it on all levels (devops, dependencies, tooling, code style, test coverage, etc.).
The problem with this particular project is that we have a very small dedication for it, as the client is undergoing financial difficulties. Our engagement is 20 hours per week, which is our minimum commitment for any kind of project. This requires surgical precision as to where the hours are spent and what is done each week, to make the most out of the budget to ensure the client's return on investment.
A part-time dedication means that we're working on this project on Monday and Tuesday, so the rest of the week we can be in other projects. Also, we never give 24/7 support on our projects, but it's worth mentioning.
Crossing the line
We're very respectful of our clients' financial situations and very helpful to them at all times. We have gone as far as doing business development with them or help them with fundraising, when it was needed.
We also understand that sometimes a payment can get delayed, or that sometimes you need to stall a payment and pay twice at once the next month. Totally understandable if communicated properly in advance.
But this trust can be easily wiped out if communications aren't managed properly, and this leads to an erosion of the relationship.
Turns out that in this particular project, the client's company has an external person managing the project. For privacy reasons, let's call him Eugene. Eugene "works" for the client but not at the client. He's an outsourced project manager.
Eugene tried reaching me outside of our working days, on a Friday evening, as I am the project manager for this project from the MarsBased side. After reading his message and deciding that it wasn't as urgent as they claimed to be, I said that we'd take a look "next week". There wasn't any downtime and nothing was broken. They needed a piece of information and a small change to the platform to show it to some stakeholder, with no previous notice and - to my judgement - not worth the investment nor the rush. Could wait a few days.
However, we know the drill: they probably promised that to some superior without our agreement, or unbeknownst to us, they set an internal arbitrary deadline to keep someone happy above them, without knowing whether it was feasible at all or whether we had any availability to do it in the given timeframe.
Eugene deemed my answer unsatisfactory. He tried calling me after office hours, on a Friday evening, which is something we never allow in our projects, so I didn't pick it up, so he decided to call someone else in our company who had previously worked on the platform but was no longer in the project.
That crossed a red line for me.
How to act
I reported this to senior management at the client's company (a big corporation, which shall remain undisclosed) with a formal email explaining the situation and asking for a call to discuss the situation.
Immediately thereafter, the senior management wrote back asking for an apology and they apologised again in the next follow-up call we had, admitting that Eugene hadn't respected the protocol nor the etiquette, so we had acted right.
How nice is too nice?
We know that making exceptions and going the extra mile can do wonders for your business and your relationships with clients. The problem is that once you do it once, the requests for these nice gestures come more frequently, until they are expected of you. Their value dilutes over time with each new petition.
We always say that if a client becomes pushy, writes in private channels or even calls you, you should report it immediately to the management team. Especially if you're no longer in the project, so the client has no right whatsoever to contact you privately.
Over the years, we have had to have serious conversations with clients who had been pushing our developers on private messages over Slack or with direct phone calls, asking them to do things outside of their working hours. Sometimes, we have stopped our collaborations with them when they've pushed too much, as we will always rather lose a client than a developer.
We are all good people at MarsBased, and people outside of MarsBased are also generally good, but their intentions vary. Sometimes, people will take advantage of us being too nice, and that's not fair.
Most of the problems in the IT world come from personalism vs. professionalism. We're used to thinking how would we solve stuff in our everyday life at work, but we're not incentivised to think like good professionals.
The above situation is an example of this: Eugene contacted our developer (let's call him Helen) because he completely forgot about the kind of contract we have in place.
He thought, "I know Helen. Helen is a great person. She will answer and we will solve this together because Àlex isn't responding" - why?
- If she solves the issue, Eugene will get an urgent issue completed, will rest at night and maybe get some recognition from upper management.
- If she doesn't solve it, the issue will still be there and users will complain, but Eugene's job is complete: reporting it.
That's how anyone would think. However, Eugene missed the professional point of view: can I solve this within the established rules and contracts?
- If he had thought about this, he would've stopped at me not answering and report back to management: "I've tried all my ways to contact MarsBased but they're out of their hourly dedication this week. They'll solve it next week". Here, Management has to take a decision, which might be to take more serious actions, extend our contract faster, or to say "it is what it is, they will solve it next week".
- He actually broke the agreement and fucked up. It has backfired on him to be that pushy. He got a stern telling internally and another one on our call. I could have also become bitter at him, but I've been too long in this game to get carried away by this. In a way, he's risked the stability of our relationship for being so pushy.
We're too used to rely on others to fix stuff because we're all great people, which only perpetuates the problem.
By not allowing things to break, there'll always be someone fixing it last minute with a patch on a patch on a patch, thus never solving issues that need proper fixing. Rushed-up shortcuts are a very short-sighted strategy undermining long-term relationships and it's just like sweeping dirt under the rug.
Moral of the story: We have to be nice people, but also professionals. This is how we are building the reputation of the company and how we've gotten so far, after almost nine years doing this. If you spot clients doing this, kindly report management in your company, as this might constitute a contract breach or it might be a good occasion to talk seriously to clients to correct this behaviour and strengthen the relationship for the future.