The story repeats itself again…
You just landed this cool job, in which you are very proud of passing the interviews(not easy interviews at all).
The company values align with yours. They provide work from home, the office provides cool activities, the company owners were exceptional developers at the past(so they are familiar with the daily struggles).
They value knowledge sharing, they provide company trainings, people are happy and speak your language(similar values).
You want to give it your best at the beginning, so you spend time on the weekends to study the business logic, code and documents, of the customer you were just hired to help.
Not only that, in this “hypothetical” scenario, you were hired as a lead developer, so you need to make sure that the team is motivated, so you encourage them to study, be proactive, speak clear with the customer, be available and adaptable.
Still about the team, you need to blend in, because you just met this 5 or 6 other consultants, that are usually from another country, and have different egos, cultures, education levels. Sometimes they are lazy, sometimes they want to “measure dicks” with you, since you are the lead, sometimes the personalities just don’t match together.
But you overcame all of that, and after a few months, you managed a good balance with the team, and the team has a constant delivery improvement. They are communicating effective(even though they will never be best friends), they value their work together as a team, and help and protect each other, from external attacks(personal or work wise).
All of that said, we might say that we have a good development environment, working on a good consulting company. You might as well spend some years at this company! Right?
Not so fast little grasshopper!
I forgot(on purpose, in order to fulfill the plot) to mention about the client! This “hypothetical” client, is not really sure what they want, and seem not to have the most adequate people, to request for this software development.
So you spend months trying to guide the client, on the correct path, speaking things with a lot of care, because after all, they are the client, and you don’t want to sound arrogant.
The development is delayed a lot, because the client is starting to figure out, the things you mentioned three months ago were correct.
The development team(the ones that started with a lot of desire to work), are losing the development momentum, because they are tired of all the delay and every day bullshit.
All of the aforementioned, even though is frustrating, it is manageable, after all, we are resilient professionals.
But them, one thing that it is not manageable at all, is the lack of respect!!!
The client is getting frustrated, and even though they were never the most polite, they are treating the consulting team as vassals.
They are speaking with the team with a superiority, sometimes even threatening tone.
You as a seasoned professional, flag that with the customer, in the best transparent way, without letting the emotions fly, and expect the same cordiality, and the differences, to get resolved.
How naive are you? Now the client is attacking the team in different ways, micromanaging, lowering the communication standards on the meetings, and making the teams’s everyday a living hell.
Now here comes the big catch. You are a consultant right? Does the consultant company stays on your side? Try to solve the problem? Or postpone the problem until it is unbearable?
Either way it goes, here comes the importance of always practicing interviews. That is what will give you peace of mind, to know that if this client, or consultant company does not meet the levels you expect, you can always go somewhere else.
And even though there’s no perfect client or company, some low levels of education and treatment, no professional should have to deal with!
Keep the studies going! Good luck!