Thursday, April 14, 2022

There are two types of developers

There are two types of developers:

  • Those who test their code before checking it in.
  • Those who check in code and rely on automated checks as part of a PR to do the testing.

(and possibly others, but beyond this discussion.)

I'm not going to argue that one is wrong and one is right. 

What I do think is important to remember is that if you have a team that contains a mixture of the two types they (you?) need to be aware of how they are likely to think about each other and there is the possibility of conflict because of this.

Those who test before committing their changes think of themselves as being thorough. They may think that those who don't do the same are not as concerned about the quality of the code and the product it is part of. They may also think that others don't think testing is important or is something that other people can deal with.

People who rely on automated checks to do all the work, may think that those who don't do the same are not being efficient with their time. In fact, they may think that those who do run all the tests before committing their work are wasting their time, and ultimately providing less value to the team as they spend time running tests rather than writing code.

The takeaway here is to know who in your team fits into the two types. Where you have people with different ideas on this topic, acknowledge, accept, and appreciate the differences. Having everyone in a team think the same way isn't a good thing. Appreciate differences. Recognize that different doesn't mean wrong. Instead, focus on how everyone contributes and brings unique value.