Photo by Desola Lanre-Ologun on Unsplash
Join a software development team with empathy
Joining a software development team from a judgmental place will make you and others frustrated. Empathy is a better choice.
A common mistake is to quickly and aggressively start pointing out the flaws of the application and proposing solutions in the first days of joining a new team. Specifically, with a judgmental or superiority attitude.
I'm guilty of doing it when I was starting my career. There are developers out there that are, what some would consider cold, methodical, logical, driven only by data and facts. A bit of a Vulcan. In one of those dubious corporate personality tests, I had indeed a cold blue colour.
When I saw flaws or things to improve, I rushed to point them out. As a problem solver, I just wanted to improve things, why were they not seeing the flaws and acting on them?
You might think you are discovering something new your teammates haven't seen, or that they did something wrong, and they don't know yet. Reality tends to be more complex than that. Chances are they're already aware of those issues, many other joiners in the past might've pointed out similar things.
On one occasion, I ended up being the only developer for a while. After many months, when I started onboarding new engineers, it was interesting to see almost every new joiner bringing up most of the issues I was already aware of. I didn't solve them all, I couldn't. Deep down, I wanted to tear the world apart and make it anew.
It's possible that even though the team knows these issues exist:
There are not so easily fixed.
They are already on the roadmap.
There are constraints and systemic and cultural challenges you're not aware of yet.
There are issues with higher priority.
Focus on asking questions, listening and understanding. You'll discover that things are complex and that your teammates are humans with their motivations, goals and fears, just like you.
Consider that:
There were and will be technical and business trade-offs.
There's a lot of context you're missing.
Your teammates are trying to do the best they can with what they have and know.
Don't get me wrong, this is not to say it's a mistake to discuss technical challenges, the state of the system, future improvements or to propose solutions when you're a new joiner. What I'm saying is that coming into a new team with a non-judgmental, curious attitude and from a place of acceptance and empathy tends to be a healthier approach for everyone.