My job is decent, but now I've got one developer who's been there a few months longer than me who pushes back on stuff that's considered standard, good practice.

We have a domain with lots of business rules. He's opposed to any sort of domain-centric architecture that puts business logic in one place. He doesn't give any coherent reasons. He can't describe his alternative clearly. He just wants to put stuff all over the place.

If I don't cite any references he says it's just my opinion. If I do, I'm talking down to him.

Then he decided that the database shouldn't have concurrency checks. His reasoning is that as the application grows we'll have more and more concurrent updates, and they all have to succeed.

What if that corrupts our data? He mentions "eventual consistency." which has nothing to do with what we're talking about.

The idea that our code should carefully ensure that our data is correct is "extreme." What are we going to tell people when bugs happen? That expecting the application to work correctly is extreme?

He's not a terrible developer. He's an advanced Expert Beginner. He's convinced himself that whatever he doesn't already know isn't worth knowing. That's fine if he wants to stop learning, but this affects the whole team. He makes such a fuss that it everyone gets stressed out and eventually I have to back off.

The problem is that someone with a reasonable degree of competence can pass off his experience as superior to all knowledge from outside sources.

I've been doing this as long as him. I don't claim to be a rock star genius, but I do keep learning. I don't tell myself that I've reached the pinnacle. But all of that learning goes to waste if I can't use it.

  • 2
    He is a dumbshit and doesn't fit on the team.
  • 2
    Imho, management should be informed and it should be their problem.

    As manager I usually try to be an ombudsman, though the type of developer you describe usually can only be fired.

    Either someone plays nice with the given team or workflow - whether they like it or not - or they can get a new job. Simple as that.
  • 0
    Sounds like he doesn't care about the team's expertise and feedback, the decisions and agreements made by the business (and probably your customers/end-users), nor the quality of what he's working on....
Add Comment