Vanity Engineering

Posted on | ~4 mins

Gate

What is Vanity Engineering?

Vanity Engineering (noun): The practice of designing or implementing a solution to a problem that is not necessarily required or needed, but is done primarily for the purpose of enhancing one’s personal image or reputation.

Vanity engineering projects result in over-engineered solutions that are difficult to maintain and often don’t serve any real purpose.

It can also be used to describe situations where a project or solution is designed or developed in a way that prioritizes aesthetics over functionality or practicality.

What does it look like?

Credit: Festivus.dev

Be sure to check out their website for more programming humor.

On a more serious note.

I’ve seen this happen most recently with Microservices. Someone, generally in a management position, reads a blog post about some trending technology solution, in this case, Microservices.

The following day the engineering team gets questions:

  • “Are we using Microservices?”
  • “How can we move our application to use Microservices?”
  • “I read Microservices will solve ‘x’ problem that we are having”
  • “Netflix, Amazon, Uber, Twitter, etc. use Microservices. We should too.”

In most cases, the technology team would have already considered this and either is in favor (read as “we’ve been saying this for a while now”) or has reasons for not moving in that direction. In this case it was to not move forward.

These sorts of questions on their own are absolutely fine. The team can educate management on the why behind not using this technology. Vanity Engineering happens when management requires the team to move in a direction that doesn’t have a practical reason.

Management in this case was used as an example. However Vanity Engineering can also arise from engineers in a position of influence.

Why does it happen?

Just like we have “keeping up with the Joneses” to refer to lifestyle choices. Vanity Engineering often comes from a handful of things:

  1. Expecting that doing the thing that made someone else’s software successful will also make your software successful.
  2. Insecurity about not looking “cool” or “trendy” when talking about your software.
  3. Lack of clear goals or priorities.

Overall, Vanity Engineering happens when the focus shifts away from practical needs or goals and toward superficial elements or self-promotion. It’s essential for engineers and leadership to stay focused on the core goals of the project and prioritize functionality and usefulness over aesthetics or personal gain.

How to defend against it?

Focus on the Problem

Start engineering projects by clearly defining the problem you are trying to solve. Keep the focus on the practical needs of the end user and design the solution to address those needs. This will help you stay grounded in the purpose of the project and avoid getting sidetracked by non-essential features or design elements.

Prioritize Value Delivery

Make sure that the technology you develop is user-friendly, efficient, and effective in meeting its intended purpose. Consider feedback from users, run tests, and iterate on the design as necessary to ensure that it is useful and provides value.

Set Realistic Goals and Budgets

Avoid over-engineering by setting realistic goals and budgets for your project. Be mindful of the resources you have available, and avoid spending excessively on non-essential features or components. This will help keep the project on track and ensure that you are delivering value to users, rather than simply trying to impress others.

Encourage Collaboration and Feedback

Work in collaboration with others, and seek feedback from different stakeholders, including users, product management, and colleagues. This can help you stay accountable to the project’s goals and ensure that the technology you are developing is providing the expected value. Additionally, incorporating feedback from others can help you identify areas where you may be veering toward vanity engineering, and allows you to course-correct before it becomes a bigger problem.

What’s Next?

Now that you know what to look out for and what to do about it. Go foward and prevent Vanity Engineering in your organization.

Stay #️⃣