The Case for Descriptive Application Names: Clarity and Cohesion for the Long Haul
As our organization grows in size and the number of developers, and as we accelerate towards a service-oriented architecture, the number of applications we create will inevitably increase. Implementing rules for naming applications can significantly enhance cohesion with minimal effort.
In response to a recent blog post by Nicholas Tietz-Sokolsky advocating for cute and memorable names, I respectfully present an alternative perspective: the benefits of descriptive application names. While creative and cute names can bring an element of fun to the workplace, there are several compelling reasons to choose descriptive names for our applications.
Why Descriptive Names Matter
Inclusivity
Creative names may require the reader to have additional context, many times cultural. For instance, not everyone is a Minecraft player who would know what a “minecart” project is about. Even though I am white, I have zero knowledge of Norse mythology, and the name “hod” does not carry any meaning to me. I imagine this is worse for people with different backgrounds. This can lead to alienation, reinforced silos, and difficulties when collaborating with other professionals like designers and product managers.
Meaning drift
Descriptive names act as an “anchor,” stimulating productive discussions about a project’s purpose and helping to prevent bloat. By contrast, because cute names are much too broad, they allow the underlying project to drift or worse, accumulate responsibilities.
Cognitive load
Creative names may increase cognitive load. For example, developers of a hypothetical API named “Hawkeye” might understand that it’s used for pinpointing anomalies in time series, but others would require further explanation. A more descriptive name like “anomaly-detection-api” could provide immediate clarity.
Scalability
As the number of applications and services increases within an organization, having descriptive names helps new team members quickly understand the purpose of each component. This can lead to more efficient onboarding and greater ease in maintaining a growing codebase.
Consistency
Adopting a consistent naming convention makes it easier to identify related services and applications. This can facilitate better organization and collaboration across teams.
Finding Fun Beyond Cute Names
While the appeal of cute names lies in their ability to bring a sense of fun and whimsy to the workplace, it’s essential to remember that there are other ways to have fun and foster a positive atmosphere.
- Team building and collaboration: Encouraging open communication, celebrating milestones, and organizing team-building activities can help create a sense of camaraderie and fun among team members.
- Tackling challenges: Often, the greatest fun can be found in overcoming obstacles and solving complex problems. Cultivating a culture of learning and experimentation can lead to a more engaged and motivated workforce.
- Customer success: Ultimately, the most rewarding aspect of our work is helping our customers achieve their goals. By focusing on delivering value and ensuring customer satisfaction, we can take pride in our work and find enjoyment in our customers’ success.
While creative and cute names can bring an element of fun to the workplace, the advantages of descriptive names, such as inclusivity, preventing meaning drift, reducing cognitive load, promoting scalability, and ensuring consistency, make them a more effective choice for application naming conventions.
By considering descriptive application names, we can keep a clear focus on our primary goal: creating products and services that enable our customers to succeed. Fostering an environment of collaboration, problem-solving, and customer-centricity can help us find fun and fulfillment in our work while maintaining a sense of clarity and cohesion.