I’ve been fortunate enough during the almost 30 (!) years that I’ve been part of the workforce to have worked mostly with people that I’ve gotten along with, or at least was able to tolerate. There have been a couple of standout occasions, though, that I have had the misfortune to have to suffer through during the past few years. One of them involved a manager on another team; in the end, he and I were able to at least come to an accommodation that ended in a sort of mutual respect.
The second occasion I still find myself shaking my head at to this day, partly due to its’ relative recentness and the fact that I view the offender and I responding to strikingly similar circumstances in startlingly different ways.
I’m no stranger to being “the new guy” on a team. Given the fact that I’m expecting to change employers at least every couple of years or so (as well as my recent conversion from a full-time employee to a contractor), it’s pretty much a given at this point that I’ll be “the new guy” from now until the day I either retire or establish my own business. That having been said, in my role as a Software Developer who writes programs that break other programs, I do hold some quite strong views on both Software Testing and Development. I’ve seen (and continue to see) what I consider to be egregious errors being committed in both realms. Yet, time and guidance have taught me several things when it comes to expressing my opinions regarding said errors, namely (1) explain my case as to why I feel errors are being made, (2) seek to convince others that my suggestions will make things better, (3) listen to the team when they state their concerns, (4) don’t be so intransigent that compromise is unachievable, and (5) when you are the new guy, you are not the one who needs to be convinced, but rather you are the one who needs to prove her case. Failing to follow especially the latter will cause a lot of bad feelings – case in point.
I guess I’m writing this down now because I’v recently made quite a few changes to the existing code base for the project that I am working on, and, looking back, I can see the difference between myself and the offending individual in how we communicated the changes that we wanted to make. There is the “I want these changes made; now you convince me that things should stay the same” approach, and then there is the “I want to make these changes; now let me show you why I think this will make things better and take things from there” approach.
Now tell me – which one would you want on your team? Hopefully, I represent that person.