Today we have had a sort of problem where a colleague of us delivered some sort of "bad practice" work. For clarification, I work in a Software Engineering Department.
In this question I'll referencing to two persons:
- the Senior (experienced Developer)
- X (third coworker, made an experienced impression in general)
The Senior developer approached me, as we were struggeling both with X's work. We have had to fix his bugs in order to complete ours, which - sort of - gave us both a bad feeling about it.
At some point he came at me and asked me what my opinion was about X's work (not about him personally). I should judge his work. You need to know that I'm currently the youngest and in my humble opinion least "good" programmer, therefore I rejected the approach by saying that I cannot judge X's work based on my experience, as "code from others is always hard to understand" with my knowledge of programming and that I wouldn't feel comfortable in doing so right now. However, as the Senior delivered always pretty good and clean code I asked him about his opinion, as it seems that he has a (strong) opinion already on it. Not asking wouldn't change much and by approaching him on HIS opinion I've seen the chance to deescalate things maybe a little.
Turns out that X started to work for the company just 2 months earlier then me, which I didn't knew, and the Senior said that his motivation seems to fall apart, which finally leads X to make more mistakes and causing more work for the others.
I finally said that he (the Senior) should approach X with his objections and ask him right about it why he did this or that. I also emphased the importance of Code Peer Reviewing and that such errors might not happen if there is propper peer review.
The question in charge now is: what is the most professional way to handle such approaches? I don't thing judging others is contributing to the group flair in general, as there will finally be some sort of separation from each other if everyone would do so.
About the mistakes done: they're just... annoying. They're not breaking anything seriously. Yes, they are causing additional work. Yes, X could have avoided them. Yes, its not the best quality of code. Additionally to that, I've personally could have made this mistakes as well, so judging it would make me feel extremely uncomfortable in the future when such things would happen to or by me.
Again, I'm the youngest developer (24), X is something about 30 and the Senior is about to be 50-ish. Both have long work experience - more then me.