A junior developer needs to strengthen their technical skills to advance. An intermediate developer needs to strengthen their organizational skills to advance. Senior developers need to master these and also demonstrate that they can move multiple teams forward together. Influencing people (and especially developers) is no easy task, but a positive reputation can do a lot of the heavy lifting. One of the easiest ways to amplify your reputation is to put some extra effort in when choosing a name.

The name of the things you build is the first and most frequent way that your work will be represented to others. It is the very first of the first impressions. A catchy name can generate interest in you and bring more attention to your hard work. A name that shows your personality can make you more approachable and attract people who see the world like you do.

This is especially important in larger companies. There is so much more activity and so many other people trying to move forward that maximizing the impact of your first impressions really helps. I got into this habit when I worked in a big company, and I’ve carried it with me ever since. It has served me well.

The technique I use is a pretty standard design technique: get as many options as I (reasonably) can, then pick the best one. I often go through hundreds or thousands of candidates when choosing a name. When it’s important enough, I’ve gone through more.

Even though I have been through the process several times now, I sometimes find it overwhelming at the start. It goes by quickly once I get started, though, and I can usually find a pretty spectacular name for anything in a couple of hours.

To generate candidates, I like to list out all the things I want the name to convey. I have had good luck with lists of words in relevant domains. For example, when naming a new module for an environmental monitoring tool, I got a great name from a list of meteorological terms.

Once I have some good candidates, I check my finalists against a few important criteria. I want a name to:

  • be relevant to the problem being solved
  • have a playful spirit
  • focus on the positive
  • be respectful of all cultures
  • be easy to say, spell, and pronounce
  • not be confusable with common programming keywords or industry terms

Playful is a part of my personality; you can take or leave that, but I highly suggest staying positive. Even if it’s meant in fun, using negative imagery in your name can give people the wrong idea about you. The point of this exercise is to get more people interested, not to push people away.

Being respectful of all cultures is becoming more important as the internet continues connecting the whole world together. Some words can have unexpected or unpleasant connotations for people who live (or have lived) in other cultures. Some words commonly used in Western culture should be retired now. Names from nature, science, geography, or popular fiction are usually safe. References to religions, cultures, or historical figures or groups should be avoided.

After focusing on a name for hours, it’s not uncommon to develop tunnel vision. Before pasting a name all over my files and objects, I like to get an external perspective. Asking a boss or a peer can save a lot of time if your name isn’t quite as great as you thought.

Once the name is set, all that’s left is living up to it.