Monday, December 2, 2013

Code Names are for Hiding Meaning

If you tell the truth, you don't have to remember anything. - Mark Twain
I've sure been posting a lot of 'nerd' updates lately. When Mini-Chaos was born, one of my coworkers told me to put all of my hobbies on hold for the next few years. There is a decent amount of truth to that - but I manage to sneak in nerd work from time to time, which is half hobby and half job-training.
What I find interesting in the technology development world is the amount of "code names" that people like to use. Code names exist for a very specific purpose: to keep people without context from knowing what things are. Time and time again in my history building software apps, I've seen engineering teams come up with clever code names for engineering systems: "Jefferson Airplane," "Messina," "Mountains of Madness," "Kafka." Each of these has a clever reason behind the name that allowed the team to pat themselves on the back.
The problem is these names persevere from the time something is in "secret planning" to the time is a live and running production system. That means when new people join the team - they need to understand the code name insanity and it makes your system immensely harder to understand, harder to train new people on, and potentially embarrassing to talk about with other people.
My advice for code names? Don't.