As Phil Karlton said: ”There are only two hard things in Computer Science: cache invalidation and naming things.”
Rick and I were recently talking about this in a podcast, stay with me while I take you through a journey of understanding how corn-based meals get their names, and maybe, just maybe, we can all learn something from it and apply it to software. No, I'm not saying you should call your next software product "Tortilla," though you wouldn't be the first to do so.
When I think how to explain to all my non-Spanish speaker friends why cooked corn, maize, or masa can have many different names is hard, almost as hard as naming software.
Let's start with our masa: you make little balls, press them to make thin, and put them in the comal (flat griddle) for a few minutes each side, and you now have tortillas.
Make a bigger ball, don't press it too much, so it is thick and you have a gordita. Unless you put the filling before and you are into Salvadorian food because you now get pupusas. But if you are from Colombia or Venezuela and use a precooked cornmeal known as masarepa, you are making arepas instead, just like gorditas you have to put the filling after they are cooked.
Let's rewind to gorditas for a minute, change the shape to an oval, keep it small and stuff it with refried beans and you are now looking at tlacoyos. Or skip the beans and make it bigger to create a huarache; with this one, you will put stuff on top of it.
And we shouldn't forget the sopes. It's like a gordita, but with walls so you can put stuffing on top of it. Size variates depending on the region that you are from. This was a rabbit hole, tortilla we are back with you.
Add cheese on your tortilla, fold it, melt the cheese, and you now have the infamous quesadilla. If you are from Mexico City, you know that cheese is not what makes the quesadilla but instead is a folded tortilla with some delicious stuffing like squash blossoms. Learn more about that cultural aspect here. Interesting point, tacos exist in Mexico City and is like the rest of the world, they are usually tortillas filled with some meat.
Extra tip for sticking with us, if you order tacos and the taquero asks "with everything?" it means: onions, cilantro, and salsa.
Frying the tortilla makes a wonderful tostada, which you can put a ton of things on top of it. But if you happen to cut that tortilla in four pieces before you fry it and you created totopos (tortilla chips). Throw some green or red salsa, a little bit of queso fresco and mexican cream, and you are now looking at chilaquiles. Cut a bolillo in half, spread chilaquiles, toast it, and melt some cheese on top and now you are looking at tecolotes.
Go south of Mexico City, to Oaxaca, and you will find tlayudas: a thin, large and crispy masa-based (like a flatbread) made in a wood grill where they put things like asiento (pork lard), black beans, quesillo (melting cheese from Oaxaca), lettuce, or salsa.
And the list goes on and on:
To wrap up our tour, we should go north on the map, crossing the United States border: Press that tortilla in a "u" shape and fry it. You have a taco shell.
At this point, you now get the idea. What happens with software has happened and will continue to happen with many things where small and significant changes, the way of making things, the place where things are will give the right to put them a name.
Trying to categorize these dishes by name doesn't make any sense. More importantly, even though many of them share the base ingredient, changing the process of making it (fillings, shape, cooking mechanism, and so on) generates a whole different experience of the person that gets to eat it. And out of that journey, you hear people's preferences that will tell you that they prefer sopes over gorditas and they mean it.
Yours truly has a preference for some of these things because they remind me of people that made them, the abuelas (grandmas), the places I have visited, the people I was with when I had a particular corn-based dish. They bring me home to different situations, even with people that are not here anymore.
When we build software, we have to consider the person who will eat it, the places where it will run, and the experience that's going to create. It is not as much about eating your own dog food, but rather caring for software and caring for people. Just like we at Friction Log care for outstanding experiences across the tools we try.
My advice is simple for your software's name: make sure it has a meaning for you and your team. Make it thinking about how your users will talk about it when they show how awesome it is to their friends and colleagues.
You now know something else more about naming software, its experience, and corn-based meals too! You may also be hungry; I know I am.
In Friction Log, we are looking to experiment with developer tools and how they evoke emotions like joy or frustration. We want to learn and spread the word that good User Experience and developer experience are essential for developers because they produce better software that end-users will enjoy using.
You can subscribe to our podcast on Apple and Spotify or try Overcast and listen it there. You can watch videos of Friction Logs at YouTube and just read through the Friction Logs. Until the next time.