Hello again, I’m in a situation where the one the senior devs on my team just isn’t following best practices we laid out in our internal documentation, nor the generally agreed best practices for react; his code works mind you, but as a a team working on a client piece I’m not super comfortable with something so fragile being passed to the client.

He also doesn’t like unit testing and only includes minimal smoke tests, often times he writes his components in ways that will break existing unit tests (there is a caveat that one of the components which is breaking is super fragile; he also led the creation of that one.) But then leaves me to fix it during PR approval.

It’s weird because I literally went through most of the same training in company with him on best practices and TDD, but he just seems to ignore it.

I’m not super comfortable approving his work, but its functional and I don’t want to hold up sprints,but I’m keenly aware that it could make things really messy whenbwe leave and the client begins to handle it on their own.

What are y’alls thoughts on this, is this sort of thing common?

  • Poob@lemmy.ca
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Doesn’t sound like a senior dev to me. Sounds like someone who thinks they are.

    • lemmyvore@feddit.nl
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Yes, well, seniority tends to be defined quite differently by management – compared to how other devs would define it. A senior to them is a person with a certain experience (at least 3-5 years), who has worked on at least a couple of complex projects (no telling exactly what they did there), shows a “can do” attitude, has good feedback from teammates, and last but not least delivers stuff on time.

      Notice how quality of code doesn’t come into it at any point.

      Management doesn’t know which code is “quality”, it’s all voodoo to them anyway. A pleasant team member who sounds like they know what they’re doing and delivers working stuff is all they need to see.

      Quality of code needs to be defined and enforced on a project-by-project basis (definition of ready, definition of done). If they aren’t defined and/or enforced, but delivery still happens on time, it will be hard for a junior to demonstrate a problem. Some experienced managers will recognize it as a problem in the making by accumulating technical debt, some won’t (or don’t care).

      I would suggest that OP explains the technical debt in impartial terms during sprint review and wash their hands of it. Confronting the other dev directly usually doesn’t work well, especially if it’s done remotely.