I am an admittedly mediocre software developer working for a mid-sized company. Earlier this year, I got into a spat with somebody else on my team over merge conflicts. Being the stubborn person that I am, I wrote a script to commit and push code every time I saved a file. That way, she had to deal with big merge conflicts way more than I did.

Today, I had my annual review. I thought my boss was going to chew me out for being an ass and difficult to work with. Instead, he told me that I was doing awesome because I had "way more commits than anybody". He showed me a report saying that I had 88,000 commits this year and the next highest in my entire department was around 13,000 commits. He then told me I'd be getting a huge bonus that year for producing so much work.

My boss clearly doesn't understand much about development, but this has strangely worked in my favor. Should I try to explain to him why number of commits is a stupid metric to judge a developer on? Or should I just keep quiet, take my large bonus, and continue committing huge quantities?

  • Is your first paragraph implying that developers do not work on separate branches, as I do not see your method reducing merge conflicts in the scenario where you do? – JAB Dec 28 '18 at 15:47
  • @JAB yes no separate branches. – SemiColon Dec 28 '18 at 15:49

This year

I don't know if it's prudent to inform your boss on the exact reason for why your commits are so much higher than someone else's, but if you think that you need outside intervention to resolve this conflict now's the time to ask for it. But you should at least indicate that your commits may be artificially high.

This probably won't affect your bonus, as a lot of times bonuses get decided by several people in management and changing a bonus isn't the sort of thing that can be practically or easily done.

At the very least, being honest permits your boss and opportunity to improve their own management skills by addressing the problems that are present on their team.

Going forward

As a software developer that is working under someone who isn't, you have a duty to provide a good product for them, because they probably won't know if you don't until it's too late. You need to resolve this conflict and cease activities whose sole purpose is to bog down the system.

Furthermore, in the coming year, you should be working to ensure your boss has an understanding of what you do (because based on what you've written, they don't). This will improve yourself (hopefully to a level above mediocre) and better enable your manager to detect failings in the system.


Your overall question is whether or not you should be ethical. The answer is always yes.

| improve this answer | |

Before I answer this, I am going to tell you how I (as a software developer) interpreted your question:

I got into an argument about merge conflicts with a co-worker are refused to concede that maybe I was doing something wrong. Instead of handling this professionally, I decided I would be childish and compound the issue by committing more frequently to cause more issues for this co-worker and potentially affect the stability of the product our client pays for. My boss, who is clearly not tech savvy sees my extra commits as me doing more work than everyone else. Should I continue to act unprofessionally and potentially lose my career if my co-worker ever explains to my boss what I am actually doing, or act professionally and stop?

What you are doing here is acting like a child and you could end up being reprimanded for this, especially if you double the commits for next year (like you say in your answer). Even if we take ethics out of the question, you are being unreasonable to your co-worker for no reason other than to be malicious.

Stop these actions immediately and come clean. You may get a good bonus this year, but once they find out, you will more than likely be jobless. So unless that bonus is worth more to you than the job itself (or potentially future jobs as this WILL affect your reference), you should come clean now and apologize profusely.

| improve this answer | |

Explaining to your boss will not work in your favor and he is unlikely to understand, so that option is out.

However, you have to ask yourself how you see yourself as a human being in this world. Your coworker might very well being a jerk about merges, but do you really want your response to be a bigger jerk? Sure you one upped this person, but how will others respond? How do you want to be seen by people that you respect and would like to work with in the future?

I'd kill the script, but continue to commit several times a day. There is nothing wrong with that.

You were probably down voted because people do not want to work with this kind of attitude. Fix it, and treat other people well. It will serve you well in the long run.

| improve this answer | |

Ethically, the right thing to do is to admit why you had so many commits. You should have tried to work out the conflict in a more professional manner and your actions don’t make you out to be a professional. You should always take the high road even when it is hard to do or it pains you to be nice to someone.

It doesn’t sound like you are compatible with this company and have some maturing to do. I recommend you find a different career if you plan to continue to be vindictive.

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .