Clichés are phrases or expressions that have become overly familiar or commonplace through repeated use. In the world of software engineering, clichés can be found in code, documentation, conversations with colleagues, or even with total strangers. While they may seem harmless at first glance, they can actually be quite damaging to a software project. Let's take a closer look at why clichés in software engineering are a problem and what you can do to avoid them.
Before going forward with what clichés in software engineering look like, let’s agree on one thing. Sometimes, friends or total strangers react a certain way when you tell them your profession. Some questions about their latest PC purchase may arise, talks about a new video game (which they assume you know) are more likely to start. You might even end up awkwardly nodding when people ask you to fix a problem on their laptop. Yes, these clichés aren’t the ones we’ll be discussing today. When these things happen, I can only recommend having a fixed defense mechanism in place, one that ideally cuts these conversations down to the minimum.
Clichés in software engineering
First, let's address this question: Why clichés are a problem in software engineering? Software engineering and frankly most professions require clear communication. There are many different ways to do the same thing and sometimes certain approaches have drawbacks that are not viable for a project. Clear and direct communication can help ensure that a team is all thinking about the problem in a similar way so the work can be completed correctly.
Another reason clichés can be problematic is that they can be overly simplistic or vague. For example, if you describe a feature as user-friendly, you may not be providing enough information about how it actually works or how it benefits the user. What makes something user-friendly? Do we have examples showing how users enjoy a certain feature? Often clichés tend to oversimplify explanations and create more confusion for people.
In addition to these issues, clichés can also be a sign of lazy thinking. Clichés often arise in situations where the people working on a problem sense a pattern they've encountered before and rely on past experiences before truly understanding the issue. When we rely on clichés, we may not be taking the time to fully consider the problem at hand and come up with a more thoughtful and nuanced solution. This can lead to subpar solutions that don't truly address the problem and may even introduce new issues as the project matures.
So, how can we avoid using clichés in software engineering? One approach is to be more mindful of the language we use. Instead of falling back on clichés, try to use specific and descriptive language to clearly communicate your ideas and solutions. This can help ensure that everyone on the team has a clear understanding of what you're trying to accomplish.
Another strategy is to take the time to thoroughly understand the problem at hand before jumping at a solution. Try to ask detailed questions about the problem. Why are we adding this? Do we have existing examples of this? Have we considered another approach? This may require research, experimentation, and collaboration with others. These types of questions also help open doors to other questions that can further clarify the problem and the potential solution. By taking a more thoughtful and deliberate approach, you can come up with more creative and effective solutions that truly address the problem.
Can you spot a cliché?
Spotting clichés can be admittedly difficult. They can vary greatly by culture, environment, background, and language. In a world growing with remote work and globally distributed teams, this becomes more important and more of a challenge. Often times it becomes easier to learn how to spot areas where you or the rest of your colleagues may not be fully understanding a topic. Yes, clichés can often be spotted as short phrases or responses to a certain topic however that doesn’t mean that every quick answer is a cliché, or hides a need for a longer discussion. If there seems to be looks of confusion amongst colleagues or there are certain parts of the discussion you don’t fully understand, it’s good to ask questions and to clarify.
By keeping an eye out for these types of situations, you can help ensure that discussions are clear, specific, and descriptive. Whenever you hear something like this or come across it, try to challenge the language used and ask people to be more descriptive.
Clichés in Documentation
One area where clichés can be particularly problematic is documentation. When documenting a software project, it's important to provide clear and detailed explanations of how the code works and what it does. Documentation is especially problematic for clichés because there is often no immediate opportunity to ask for clarification. Yes, there can be issue forums and areas where people ask for clarification but this is often a slower process and requires additional effort from both parties. When writing documentation try to place yourself in the mind of someone who’s new to the topic. If you find over time that questions still arise, these questions can provide key insight into where the documentation may be lacking.
In addition to causing confusion and misunderstandings, clichés can also be a sign of a lack of creativity. When we rely on clichés, we may not be thinking critically about the problem at hand and coming up with original solutions. This can lead to less effective and less efficient solutions, which can ultimately harm the project.
To avoid using clichés in software engineering, it's important to be mindful of the language we use and to take the time to thoroughly understand the problem before jumping to a solution. It’s often best to ‘check in’ with your audience, to ensure that there is time to answer questions about the topic. This often ensures that even if you accidentally use a cliché, you are giving the audience many opportunities to dig deeper into the conversation. By taking these steps, we can help ensure that our software projects are clear, accurate, and effective.
Clichés in software engineering can be confusing, vague, and a sign of a lack of creativity. By being mindful of the language we use and taking the time to thoroughly understand problems before jumping at solutions, we can ensure that our software projects are successful and high-quality. By avoiding clichés, we can create more effective and precise solutions that truly address the needs of our users.