3

Hi for a bit of background I a developer in the UK and we work in an agile environment.

A senior developer (let's call him X) and myself are working on a project, now I like the guy, he's a nice guy and I don't want to throw him under the bus but I have done roughly 70%-80% of the code.

So we have a breakdown of tasks to get on with, we both have other projects we need to work on but the head of development (Our boss) has told us both this is our main priority.

Most the tasks that X has undertaken have had to be re-written by myself or because of tight deadlines I've had to do his work. Now because of this some small bugs or tasks have fallen through the cracks either because I didn't know about them or X told me they were done when they weren't.

Now the issue here is that when anything goes wrong I'm being blamed by the head of development for all bugs or tasks not being finished even though they weren't mine to do in the first place.

I don't wan't to throw X under the bus but what can I do about this?

I've tried talking to X about the bugs or work not being done and he just brushes it off or says it's working on his machine, when I ask to see it working he makes excuses to not show me.

Note I've read the below question but this is different because he's my senior so I'm not sure the advice would differ. How do I deal with getting blamed for my coworker's sloppy code?

Tfish
  • 3,686
  • 5
  • 24
  • 34
  • Him being your senior doesn't really change the situation, although it sound like you're in charge of the project, in which case you should expect to be blamed when things go wrong. – Bernhard Barker Dec 01 '17 at 11:40
  • do you have something written saying which tasks were done by you and by your coworker? – Homerothompson Dec 01 '17 at 11:41
  • @Homerothompson We use Trello and assign ourselves to tasks, but you can also un-assign yourself – Tfish Dec 01 '17 at 11:42
  • @Tfish Trello keeps a history of changes, so it should be easy to look up. Also, your version control system should log exactly who wrote what anyway. – Erik Dec 01 '17 at 11:43
  • @Erik I completely agree I just don't know what to do, should I tell the head of development? Like I said I don't want to throw him under a bus I just don't know what I can do about the situation. – Tfish Dec 01 '17 at 11:44
  • Follow the other question's advice, if you commit broken code it's also your fault, so next time the moment you see something wrong raise your hand, first with the other dev, then the head. – Homerothompson Dec 01 '17 at 11:46
  • This is so completely normal in programming, that it would be much like remarking "I am using a keyboard!" When you find a new bug, just put it on the list. – Fattie Dec 01 '17 at 12:30
  • Does Trello show the history of the development? In other words, can you see how the code moved from dev to testing and back to dev again? – Neo Dec 01 '17 at 12:31
  • 1
    DEFEND YOURSELF! Tell the truth, and stand your ground. – AndreiROM Dec 01 '17 at 14:14
  • I'm having a problem reconciling "I have to take over almost all the tasks" and "why are they blaming me, the guy who is doing all the tasks, when something is off?". – PoloHoleSet Dec 01 '17 at 14:23
  • Having a daily status log would greatly help with defending your position – Strader Dec 01 '17 at 18:01

3 Answers3

4

You should make a case for establishing clear processes. No code should be put into production without a code review. All tasks should be clearly assigned.

Have him review your code, and you review his. If there's more people involved, even better. This will make it clear who is doing what. Do not approve code in review that you find lacking.

As part of this policy, it should also be made clear who does testing, to what extent, and where to log that this has been done.

You do not have to place blame. In fact, this approach would be useful if you were the person responsible for errors or dropped tasks.

Follow this process rigidly and without exceptions, and do not get personal about it. Just point out there was a reason to introduce this process ( bad code making it into production, missed tasks ). Do not pick up tasks if you cannot finish your own!

Make it out to be a team effort ( "We have been making errors!", "We have been missing tasks" ) as reasons why the process is needed. This avoids placing blame, which you (wisely) would like to avoid.

This is a reasonable and effective approach, and addresses the problem in a generally accepted manner. Ask your manager to back you up on why the processes are needed, if the Senior is refusing to adhere to them.

bytepusher
  • 2,149
  • 9
  • 15
  • "Follow this process rigidly and without exceptions, and do not get personal about it" Exactly, that's all there is to it. – Fattie Dec 01 '17 at 12:35
3

Bugs are only classed as bugs when the users see and report them.

Until that point, they're unit/QA test failures.

The point here is that there's a failure in the test process here, either by you unit testing the changes, or the QA team not picking them up.

Strengthen your testing process.

  • We've released it to a client for their internal process testing and a few of the bugs that showed up were linked to his modules and work he did. – Tfish Dec 01 '17 at 11:43
  • Ok. So assign those bug fixes back to him then. –  Dec 01 '17 at 11:46
  • I will try this but if he doesn't do them then i'm back to square one. – Tfish Dec 01 '17 at 11:48
  • Snow is right, it's the way the process work, you assign the bugs to him, if he doesn't fix them use source control evidence to show why is his responsibility – Homerothompson Dec 01 '17 at 12:06
2

If you've already attempted to talk to X about these bugs and you're getting the brush off then I hate to say it but you might just have to throw him under the bus to a certain extent.

What you've described sounds like a pattern where X seems to offload his work on to you or let you pick up the slack for any bugs in his code. You've done the reasonable thing and attempted to resolve it between the two of you (which was absolutely the correct thing to do) and his response was to hang you out to dry and let you take all the flak so at this point you've got to look out for yourself and prevent further damage to your reputation.

motosubatsu
  • 107,822
  • 51
  • 290
  • 367