Visibility Gets You Shot

This is an AntiPattern experienced on a daily basis.

If you make a problem visible, you will probably be the one tasked with fixing it. It's a ShootTheMessenger effect.

Real examples, recently experienced:

Ugh. VisibilityGetsYouShot.


Hmm. PartialVisibilityGetsYouShot?.

Clearly, your colleagues or managers don't seem to catch the whole context of such sudden enhancements of visibility. Complaining that "testing only x sucks because that means y is not tested" while in fact nothing is actually tested proves that the project is not measured correctly anyway. So the problem is not in revealing one flaw (into what could else be a good development process) but trying to correct things in a development culture that is grounded on telling and blaming. Leaving things hidden would surely get the project shot sooner or later. So admittedly, ShootTheMessenger may be an AntiPattern. However, it's not visibility that gets you shot. Stupid managers shoot you when you try to get things better; for many reasons that don't all relate to Visibility.

Yes, this is a ManagementAntiPattern, instead of a DeveloperAntiPattern?. Maybe an alternative name would be PunishVisibility?.


Analogous to TallPoppySyndrome - the tallest poppy get mowed.

The nail that sticks out gets hammered -- supposedly a popular proverb in (communist) China. (And actually a popular product in conformist Japan)


Many authors on this wiki like to explore programming outside the bounds of the prevailing dogma. Following advice from this site could get you shot.


I had this problem several years ago. I was working on a contract to help out an inexperienced team developing an embedded system in C. The legacy code was clearly full of serious bugs, but when I drew their attention to them I was told "it has been working perfectly for 2 years". They hadn't associated the continual random crashes with 'imperfect' code. The code was often easy to fix and test. But they didn't appreciate me writing test code that made the legacy stuff crash - to demonstrate the problem. I got a 'well DontDoThat then'. I fixed it anyway.

-- DaveBerkeley


I think the "Debugging info in production code?" and "Why are we reinventing the wheel?" questions at the top of the page are legitimate concerns. I wouldn't consider myself "shot" if a co-worker raised them. I'd give them serious consideration. Visibility leads to more responsibility and action, but that's a good thing. -- EricHodges


For Eric: I don't know the policy that company had for "debugging info in production code", but it obviously didn't make "production" after fifteen minutes. The fact that it wasn't working as advertised is at least as big a problem as "debugging info in production code". And he didn't "reinvent the wheel", he extracted the wheel that somebody else reinvented. -- RobMandeville


See also: ChoosingSatisfactionOverMoney


EditText of this page (last edited June 27, 2012) or FindPage with title or text search