One of my colleagues, who is a senior developer with 5 years at the company, works on things I am responsible for but usually ends up breaking things. I get blamed for it because I am responsible for this area.

Recently, he totally denied our 1-1 meeting on the issues I raised to him. After 2 days of waiting, thinking I would be notified, I was told to consult our manager, who he told those issues are his and not mine.

He writes in his JIRA ticket, "regression testing introduced bug/issue, if you're busy, I can fix it." He will break things while I give him the code in working conditions, without consulting or asking me. The issues he introduces get audited before I can see them.

How can I ensure that this senior developer does not continue to break things, which end up becoming my responsibility?

  • 2
    What WERE you hired to do? This question seems to be lacking in roles/responsibilities for those involved, which makes it hard to understand what it is about. Please provide a little more context. – Erik Jul 24 '17 at 8:35
  • 4
    You seem to have been in a hurry while posting this and your question is hard to parse and seems unfinished. Can you edit this to improve the text, identify a single core question and clarify the team dynamics? Who is this person to you? What are your respective jobs? – Lilienthal Jul 24 '17 at 8:36
  • 1
    Do you have a version control so that anyone can see who checked the stuff in? I care less if someone broke my code if a) I can easily roll it back and b) everyone can see that some other guy broke that code. – Thern Jul 24 '17 at 8:42
  • 2
    I suggest adjusting your tone here. Insulting coworkers is frowned upon everywhere, including this site. Stick to the facts if you can and try to avoid personal judgements, even if you can't stand him. /// Your post is still unclear to me. Surely regresison testing is meant to find bugs that QA or productive use hasn't uncovered (yet)? Because of the tone used I can't tell if this guy is really introducing bugs in his own code and breaking things that used to work, or if you're just annoyed that you're getting extra work as he's finding broken things that just haven't fallen apart yet. – Lilienthal Jul 24 '17 at 8:59
  • 4
    @Lilienthal I think what the OP is frustrated about is that Mr. Tarzan is making changes to the front end code without asking and therefore introducing bugs. These bugs are then pinned on the OP and OP wants to know a polite way to ask Mr. Tarzan not to do so. – Little Child Jul 24 '17 at 9:04

For the issue of him denying what you agreed, get it in writing:

  • Put any meetings in both of your calendars or schedule them via email
  • Take notes during the meeting and send him a summary of the meeting, e.g.:

    As discussed in our meeting earlier today ...

    Please point out any of these details which are incorrect.

For the above as well as the below, don't rely on verbal communication since it's easy to deny - it is a good starting point (since it's easier to clarify things quickly), but you need to get it in writing afterwards.

For the issue of him breaking things:

  • Use source control - this should give you a proper paper trail to support your case.

    • ... with automated testing - testing happens after every commit, and mails get sent out notifying everyone of failed tests. It's going to be hard for him to shift the blame if testing fails after his commit. If he says "testing introduces bugs", this is something you should just push back on, e.g.:

      Can you elaborate on what you mean by this? Testing doesn't change the code and thus can't introduce bugs.

  • Revert his changes (if he doesn't fix or at least acknowledge it):

    I reverted change X which you committed, since it breaks Y, please make sure the tests pass before committing changes to our source control.

  • Point out his serious mistakes - if he doesn't consult you or doesn't follow what you said, send him a mail such as:

    I just saw your change X. This doesn't follow what we agreed on our meeting on date Y because reason Z. [I have reverted it / I have fixed it / Please fix it.] Please consult our meeting notes before making changes in future.

  • CC management where appropriate.

  • If these steps don't help, talk to management pointing out specific problematic instances (with proof to back it up), mention how you've tried to resolve this with your coworker thus far and ask them how they'd like you to handle this.

  • +1 for just this "get it in writing". This is good for all involved in a situation like this, not just covering ones booty. – Mister Positive Jul 24 '17 at 13:35
  • So I will do what you said. I got a meeting with him, which is pretty much same of what I told him another day. Should I let him know, that these are the same things I told you before which you don't remember or something to make him embarrassed. – user15704 Jul 24 '17 at 14:05
  • @Nofel If you either have the previous instances in writing or you made a big fuss about it before, you can mention it (a way to escalate - asking how he'll do things differently this time, not to embarrass him). If not, it might be better to just start with a clean slate (i.e. not mention that you told him that before). – Dukeling Jul 24 '17 at 14:18
  • @Nofel If you either have the previous instances in writing or you made a big fuss about it before, you can mention it (a way to escalate - asking how he'll do things differently this time, not to embarrass him). If not, it might be better to just start with a clean slate (i.e. not mention that you told him that before). – Dukeling Jul 24 '17 at 14:18
  • 1
    @Nofel, never fix it. Revert it and make him fix it or he will continue to make the same mistakes. – HLGEM Jul 24 '17 at 19:18

Recently things have accelerated a bit where he totally denied our 1-1 meeting on issues I raised to him

One of the things I've learned the hard way (and this is my first job) is that people can and do flip-flop when under duress. So it's imperative that you make sure you have things in writing. Eg: drop him an email asking for a time to setup a meeting where you discuss the issues and later update the JIRA tickets to reflect the same.

For example,

After discussing ISSUE-003 in our meeting, we've decided to handle it by changing the data sent to the backend. We previously send so-and-so and now we're planning to send so-and-so.

Now what I understand is:

  1. He's been at the company longer than you have
  2. He's not a "front end guy" and he wants to meddle around with the code

To this end, what I suggest is having a process in place where all the frontend code that goes into master branch is regression tested before customer release. If it isn't there already, you will have to put up atleast a very rudimentary process in place for your safety. If the code was changed and the change wasn't by you, Git commits will save you. They never lie.

Also, you need to ascertain that the bug isn't in front end. Did you not adhere to the API contract, for example, or did it change without you knowing? Make sure all this is documented well with very no ambiguity.

  • How do I stop him from being over clever? e.g saying that he will do responsive design now If I am too busy whereas I am not busy, and the issue he introduced was HTML code because nothing makes sense. He says it is because of regression testing which is just Bull* – user15704 Jul 24 '17 at 9:42
  • If you're not busy then why not take up this task yourself? Make sure your manager knows what you're doing. Also, any sane developer knows that regression testing doesn't introduce bugs, it just uncovers them. – Little Child Jul 24 '17 at 9:43
  • I told him, the issues weren't there. I have a full platter already and If I give something working, he should add a feature and make sure what was working should be working while giving me back to enhance the UI of the new feature. – user15704 Jul 24 '17 at 9:45
  • Is he your manager or just a co-worker? – Little Child Jul 24 '17 at 9:46
  • 1
    Have you raised this to your manager? If not, you really should. – Little Child Jul 24 '17 at 9:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy