I am one year into my first job out of university and am currently up for a promotion to the second level of our technical track.

I was reviewing the original specifications of a piece of software which we will be delivering to the internal "client" in w few days. My team technically did the final signoff on requirements on Friday, but they used the specs listed in Jira rather than the original specs. I was reviewing the original client document as I scrolling to reading dozens of separated requirements.

Problem is, the specs differ in a few key ways due to transcription errors and we misconfigured things accordingly. It doesn't help that our company has fairly isolated business units and thus nobody in the dev team really understands how the software is used day to day.

When our software interacts with certain actual interfaces, the outputs data which can seem correct but actually is incorrect. And as this is being used to collect certain information from frontline employees in a substantial way, it will be extremely problematic.

In addition, one of the other guys who wrote the problematic code is my opponent for the promotion. It isn't really his fault as the specs are bad, but IntelliJ and Gitlab have his name attached to it.

Now, if you look at the original specs, the reason for the error is abundantly clear. It took me just a few hours to write an acceptable hotfix for my local environment (a properly tested solution would take far longer). If you try to go back from the problem, it will likely take much longer to debug. I know I can be the first to provide a fix when required and get the requisite credit.

As for why this wasn't caught before? "Testing is expensive."

My question is, what are the pros and cons of warning my boss beforehand vs being the guy who saves the day after it all falls apart? I big con I see about revealing this beforehand is that damage prevented is not as valued as damage fixed.

The friend I discussed this with was the one who came up with the towel analogy.

  • Normal thing is to throw your expensive cloak over the puddle... ref Francis Drake – Kilisi Nov 3 '19 at 5:50
  • @StephanBranczyk I didn't commit the hotfix to even my local repo and ctrl-Zed it out of existence. How to fix is in a paper notebook of mine. I didn't consider that people here use real identities and thus cannot give me certain advice though. – WarnOrTowel Nov 3 '19 at 6:39
  • @Kilisi that could work. What is the maneuver for that here? Stay overnight at the office after "finding" the bug the day before? – WarnOrTowel Nov 3 '19 at 6:40
  • Putting the ethical arguments to one side - if you find the bug now, you will for sure get some credit. Maybe not the “hero” credit you’d like, but at least some. If you let this go live, you cannot let it be known you knew in advance. So the bug needs to be raised, and there needs to be a reasonable amount of time before you propose your (pre-written) solution. During this time, your colleague / competitor might come forward with a better fix, leaving you with no credit at all. Raise it now, and save yourself the headache. – Joe Stevens Nov 3 '19 at 8:19
  • 7
    I vote this to be closed, after reading all the OPs comments its clear they have already made a decision, never needed an answer and are simply arguing ethics. To convince themselves they are right. – morbo Nov 3 '19 at 15:00

It's unethical.

In the companies I worked damage prevention was highly valued "oh that would have been very expensive, if we wouldn't have catched this now". And the fact that you reviewed all the specs again and found that issue in the first place , would make you a very valuable employee.

But If I would ever find out that you hid that to make you look better some point, the team and I would loose all the trust in you and I would fire you on the spot.

  • 6
    exactly. Especially the "I would fire you on the spot". An employee has the duty to work in the best interest of the company and letting a project fail on purpose is definitely a reason to be fired immediately. – FooTheBar Nov 3 '19 at 9:38

Two things you said in your question:

the guy who wrote the problematic code is my opponent for the promotion

You view your co-workers as opponents? Does he view you as an opponent? Do you honestly believe that they only have budget to promote one of you?

And this:

A big con I see about revealing this beforehand is that damage prevented is not as valued as damage fixed.

Is your take that damage control is more valued than just having a robust plan to begin with? What would like your work environment to be?

The answer is straight-forward. Raise these design and implementation concerns early and with all the stake holders on your team. Pull in both your co-worker who's code is at risk and your manager. You'll appreciate having a good work environment where your co-workers respect you instead of a faster promotion track in an adversarial environment.

And while you are at it, you can use this opportunity to make the case for having better quality tests.

  • Anyone I am compared to for rewards is an opponent. I am not sure how he views me as I don't talk to him much. – WarnOrTowel Nov 3 '19 at 6:34
  • 5
    What is valued by the organisation is not highly visible solo efforts in damage control but working software and happy clients. Until you understand that, you don't deserve to be anything more than first level. – Julia Hayward Nov 3 '19 at 7:59
  • 5
    "I am also thinking of it in terms of a resume line" Seriously? Just let me read this back to you. "I am considering intentionally letting my employer suffer to make myself look good. If that doesn't work, I'll boast about it to other companies and invite them to hire me." – Josiah Nov 3 '19 at 9:11
  • 1
    Let me spell it out for you. Quantifiable positive contributions may look good on a CV. Don't manufacture a quantifiable negative contribution! Even if you can fancy that you can spin it to show your step forward and hide the two back, your new employer will ask for references. Many companies have a policy that they don't say anything that isn't objective to a reference request, but again you're shooting yourself in the foot here because you're manufacturing an objective and universally understood reason for your employer to answer "Would you hire them again?" with "No". – Josiah Nov 3 '19 at 9:19
  • 3
    @WarnOrTowel - I'm not certain if you are trolling or just naive. If your attitude is that the workplace is an arena to score points for promotion instead of a team working towards a goal, then you will make for a terrible co-worker. Is it even possible that you could shift you attitude to be more collaborative and promote a happier work environment. – selbie Nov 3 '19 at 17:17

The problem with selecting the rescue instead of the warning is that you have already discussed the case with at least one other person. This means that it is highly likely that your co-workers will find out that you deliberately allowed your company to ship a bad product. Even if your Machiavellian maneuvering remains undiscovered, that friend who suggested the mud-and-towel metaphor will know something that gives him the power to bring you down at any time.


Therefore to him that knoweth to do good, and doeth it not, to him it is sin.-James 4:17

This is not to make a theological point, but it summarises a principle in many people's sense of ethics. Making mistakes is not wrong. Voluntarily standing by and letting something bad happen which you have the ability to prevent, is wrong.

Yes, if you can position yourself as the guy who fixed it in record time, that could be memorable and lucrative. But equally, position yourself with access to the cash drawer could be lucrative... Or get you fired if it came to light. And let me emphasise, the damage you intend the company to suffer is greater than if you flat out stole the equivalent of a promotion in cash.

That's how serious this is. If your boss ever learned that you intentionally let him fall in that puddle in front of a client hoping to advance yourself, he'd dismiss you with prejudice.

  • The strangeness of corporate incentive structure is interesting. The damage would be many multiples of my promotion. But they would also fire me for trying to trade that knowledge for a promotion and may not even notice if protected from it beforehand. I know about it only because I bothered to check (which I could have gotten away with not doing). Using it to benefit oneself requires incurring risk. No wonder so many people are satisfied with ignoring problems. – WarnOrTowel Nov 3 '19 at 10:04
  • If the incentive structure bothers you, flag it. You are best placed to set a tone that is suitable for them, but it is not an unreasonable thing to raise. First, do the right thing, say what you did, say what you found, say what your patch is. Then, possibly the next day, ask for a moment of your bosses time in private, and explain what you have told us about the messed up priorities. If you judge your boss to be an honest sort, you can even be open about this temptation crossing your mind too (again, after providing the fix) A decent manager will at least note the contribution. – Josiah Nov 3 '19 at 13:41
  • That said, whatever conversations you have, take care not to badmouth your colleagues. If you try to hurt them to look better in comparison, the actual outcome will be that your colleagues distrust you and your managers won't promote you to any role that requires team leadership. – Josiah Nov 3 '19 at 13:47

You must log in to answer this question.

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