Justin Ohms
3 min readMay 25, 2022

--

The issues you encountered sound mostly like a culture problem that arose out of bad management at both the people level by your manager and at a technical level by the senior devs.

However, there is a thread in your story that reveals that you are not entirely blameless in your experience at this company.

I've seen this happen many times. A new developer will join an existing team and has lots of ideas of how to improve things. This developer could provide very valuable input into technology and process but can't get out of their own way.

What I mean by this is that they rush head long into trying to change the system before taking the time to understand why things are the way they are an ingratiate themselves with the rest of the team. From reading your article I suspect that the real reason your junior peers blocked your reviews was because they just didn't like you.

It might be hard to hear but just from what you wrote about your experience, it sounds like you just might be kind of an arrogant jerk to work with.

Now that's not to say you weren't right about all these things from a technical perspective. The review process sounds broken, performance metrics sounds broken, the code sounds convoluted and bloated. I have no doubt that all these things are probably true. However, none of what you say is going to matter if people do not trust you, do not like you and don't want to work with you.

I mean I've only read an account again that you wrote, and I already have doubts about if you would be pleasant to work with. There is zero humility or acknowledgment that you might be wrong about anything in your narrative. I can only imagine that people you work with might have a few not so positive opinions of their own.

Programming isn't just about finding the right technical solution or process. It's about being able to communicate and persuade those that you work with, devs, managers and stakeholders, that your ideas are worth considering.

When you join a team, you first have a duty to adapt to how the team currently works. You are the new guy. You might have great ideas and can see obvious problems, but you are missing context. You first need to gain that context, only after you have that is it wise to start pushing for change.

A person who doesn't do this is easily dismissed and comes across as arrogant and full of themselves. As if the previous members of the team had no idea what they were doing before this person showed up. At best this can be slightly annoying for the people who have been working on the project for months or years before this new dev showed up. At worst it manifests itself as a sort of savior complex. "I'm here to fix all the things that you all did wrong."

So in the end, I'll say this. You were probably right, it sounds like there were serious process and structural problems at this company, however your approach was probably wrong and subsequently damaged your relationship with the team before you had even really started.

If you don't want to have a repeat of this in the future, you need to work on that.

--

--

Responses (1)