I am a software developer at a large investment bank firm.
The team I work on has over 25 people and we have multiple QA's (Quality Assurance), and Code Reviewers.
I mean this in the most humble way - I try my very best to write the best possible quality code and ask the Code Reviewers who I think are the most knowledgeable in the language/application I wrote in (our team handles multiple applications and not everyone is acquainted with all the applications) to get feedback, both for myself to improve, and for the application - to write bug-free code.
Sometimes, this leads to myself working on projects longer than anticipated for various reasons:
- Sometimes the proper way takes longer than a quick patch (this is pretty frequent)
- My project is related to previous projects (that are resolved), that have many bugs and I fix them along with my project.
- Code Reviewer comments/declines my code review request to make it cleaner, more efficient, etc. (as much as I have mumbled about this in the past, I am very grateful they put in the effort to improve and explain why my code is sub-optimal).
I am starting to see developers (I'm not sure if they're always, or they're starting to) - but they will spend less-than-anticipated time on their project (this looks great to upper management) but will always send their code review to a team lead/code reviewer who is not familiar with the language. I try to give them the benefit of the doubt but when I see their code, it's frustrating to work with because it's clearly 'whatever is quickest to make it work'- sort of style. And to be blunt, it's very fragile and prone to bugs. I think they're sending it to specific reviewers to have their code approved asap and get on to the next.
The reason I'm starting to have an issue with this is because my manager simply see's everyone's stats and is constantly praising them for it.
"So and so finished their 5 day effort project in 3, and does that consistently." I almost always take at least the anticipated if not more (our team has a tendency to underestimate projects but that's a different issue).
I find myself working a lot of overtime (we're salaried so doesn't matter) to improve the quality/remove bugs as much as possible but at the end of the day, I feel like my efforts go unnoticed and my stats aren't as good as coworkers who write quick/easy code to make it work for now.
My manager loves the coworkers who pump out projects left and right due to their stats but their code makes it very difficult for the rest of the team, myself included, to work with.
I'm not sure how to voice my opinion on this, without sounding like '____ is writing completely garbage code.' and sounding arrogant and pointing fingers.
Personally, I know for sure that I do not want to follow their steps to increase my stats but I'm not sure how to
- Make myself not look bad relative to my team, to upper management
- Get good quality code approved