4

Everytime I write some code, for as simple and "non-critical" as it can be, I must submit a code review with a senior member of the team.

The problem is: these code reviews are endless. I have some code reviews dead in my list since almost a year ago and everytime I "ping" to continue it nobody really cares.

I tried submitting stuff without a code review but they always end up blaming me for doing that. Other senior members can submit their code without any review.. and often that code is untested and error-prone.

The problem is: there's always someone who wants you to re-implement what I already did with another pattern / structure / class / etc.. sometimes even a variable name can cause disagreement (and usually everyone has a different idea of a variable name!)

I don't think my code's that horrible and I also often receive some useful suggestions, but most of the time they're nitpicks and modifications which aren't needed.

Under these circumstances I'm just continuing to accumulate code reviews on code reviews which nobody marks as "accomplished" after some initial reviewing steps... or they just die with a "let's discuss other approaches" sentence.

  • 2
    Do you work for a government department per chance? – user10911 Feb 12 '14 at 23:10
  • 2
    Is the problem that after you've done the work, they want you to modify it, with what you see as a valueless modification (which I can understand is frustrating)? Or is it that the tasks are taking forever to get through to production? – user10911 Feb 12 '14 at 23:14
  • 1
    Can you provide some examples of of junk modifications? (I'm not sure how appropriate it is here.. but it seems most of us are in IT). – user10911 Feb 12 '14 at 23:15
  • Is there really a problem here? It doesn't sound like your team is really all that serious about code reviews, and if they can't do you the courtesy of following up, then just keep doing your regular work, and let your supervisor figure out how to get the changes checked in. – Robert Harvey Feb 12 '14 at 23:15
  • 1
    How did you cope with this so far? Seems like you've been working in this environment for some time now, so if stuff got done for more than a year, where's the actual problem that we can help with? – CMW Feb 12 '14 at 23:19
6
  1. How to start is by getting the team together and setting up actual code standards document. There are tons of templates out there for this. Find one and then have a meeting to discuss which standards the majority want. Camel case, or non camel case variables, etc. This will be given to all new employees and current employees. Code reviews based on preference will go away and the code document your bible.
  2. Where is your manager and how often do you meet with this person? Do you have quarterly or annual performance reviews? If so, or if your manager is just an easy to approach person talk to them about your concerns for the need of a coding standard AND the need for code reviews. It is alot easier if you can show project dates missed OR cost of having bugs make it to production.
  3. You need a ticket tracking system where your QA team can verify items for release. The item can then be returned to the appropriate developer. This would stop the "just push it live" mentality when there is negative consequence. Your manager could also use these statistics to monitor with, so that if the process is not followed that developer hears about it.
  4. If automated testing is not being done, start to do it. Alot of stuff can be caught before it becomes and issue.
  5. Its a simple fact that some people are either too busy to help you learn OR are threatened by it. If your company is too dysfunctional and not open to change, think about moving on. Take it from experience its better to move on sooner than later. Generally these environments teach the lazy or incorrect way of doing something. Find a company that has standards in place. The best time to ask about company culture and practice is in the interview. I have passed up many "opportunities" because they were dysfunctional.
  • Very good answer. A supplement to point 5: You want to make your decision before this job crushes your enthusiasm for software development. Bad environments can put a "cloud" over your enjoyment of the job that takes a while to get out from under. Work is not supposed to make you miserable. Times are good in software development, now. You should find a positive environment to grow your skills in. Decide if you're in that environment now or not, and plan accordingly. – Wesley Long Feb 13 '14 at 9:31
  • Iwoudl discuss this with my manager whther he was easy to approach or not. How easy the manger is to appraoch should bear no realtionship to the need to discuss this issue. If he has code reviews sitting out there for a year, the manager needs to knw what is going on. – HLGEM Feb 13 '14 at 14:20
  • @HLGEM I generally agree with the manager needs to know, but there are managers who become combative (you are not a team player or are complaining too much), when in reality the issue is stifling the team and the company. Thats why I added to come with the cost of not doing the reviews (missed dates, cost due to broken software). But in general agree with you. – Shawn Feb 13 '14 at 16:30
  • This isn't a matter of camplaining but of work stoppages. The manger should have been told if the code review was stuck more than week or if it caused any delay in delivery of the final product. Even if the manager gets mad. – HLGEM Feb 13 '14 at 18:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.