Workplace Psychology: Reverse engineering for all

Uday PB
5 min readMay 6, 2023

--

Break the problem down, stack it up and start backwards!

Have you ever heard of reverse engineering? It's a fascinating problem-solving method that involves working backwards from a desired outcome to figure out how to achieve it. But did you know that it's not just limited to technical fields like engineering and computer science? In fact, reverse engineering can be applied to all sorts of situations in life. Have you ever tried using this approach to tackle a problem? It might just surprise you with its effectiveness!

Working backwards

At its core, reverse engineering is about breaking a problem down into its component parts, understanding how those parts fit together, and then working backwards from the end goal to identify the steps needed to reach it. This can be an incredibly effective way to solve complex problems.

To apply the reverse engineering process to a problem, it is important to start by clearly defining the end goal. Once the end goal is established, the next step is to work backwards from that goal to identify the steps needed to reach it.

One effective strategy for working backwards is to identify the easiest steps first. By starting with the simplest tasks, you can build momentum and gain a sense of progress early on.

Steps

Another important aspect of reverse engineering is understanding the impact of different steps on the overall outcome. This requires careful consideration of the relationships between different parts of the problem and an understanding of how changes to one part can impact the others.

Don’t be lost, follow the steps below and you shall prosper!

While reverse engineering can be a powerful tool for problem-solving, it is important to remember that it is not a one-size-fits-all solution.

But……there are some general guidelines that anyone can follow to apply the reverse engineering process effectively:

1. Define the end goal: The first step in reverse engineering is to clearly define the end goal. This could be anything from building a new product to achieving a personal or professional milestone.

2. Break it down: Once the end goal is established, the next step is to break it down into smaller, more easily achievable steps. This can help to make complex problems more manageable and reduce feelings of overwhelm.

3. Work backwards: With the end goal and smaller steps identified, the next step is to work backwards from the end goal to identify the steps needed to reach it. This involves considering the relationships between different parts of the problem and understanding how changes to one part can impact the others.

4. Identify easy steps first: One effective strategy for working backwards is to identify the easiest steps first. By starting with the simplest tasks, you can build momentum and gain a sense of progress early on, which can help to keep you motivated as you move on to more challenging steps.

5. Front-load the effort: Another strategy is to front-load the effort by pursuing harder steps first. This can help to identify potential roadblocks early on and ensure that they are addressed before moving on to simpler steps.

6. Evaluate and iterate: As you work through the steps, it is important to evaluate your progress and adjust your approach as needed. This may involve revisiting earlier steps or exploring new strategies to overcome obstacles.

By starting with a clear end goal and working backwards to identify the steps needed to achieve it, you can break complex problems down into manageable pieces and develop effective solutions.

How software engineers do it

A software engineer may be tasked with improving the performance of a particular software program. Instead of starting from scratch, they may use reverse engineering to deconstruct the program and analyze its structure to identify any inefficiencies or bottlenecks. They can then work backwards from the desired end result — a faster, more efficient program — to identify the steps needed to achieve it. This process may involve reorganizing code, optimizing algorithms, or identifying and removing unnecessary features. By using reverse engineering, the engineer can systematically improve the program’s performance without having to start from scratch or make drastic changes that may introduce new problems.

Business impact > fancy code

In this day and age of business impact, software engineers are required to think in terms of the economic impact or user experience impact they make.

They are bound to use techniques that let them work their way backwards from the end goal of having a positive impact. At the end of the day, no one cares how fancy your “for loop” is, it all comes down to the number of users who were positively impacted by your software!

Mundane tasks

Have you ever struggled to fold a fitted sheet neatly? It can be a frustrating and time-consuming task, but one woman named Terri Estep Metz has a solution that uses reverse engineering.

Terri had struggled with folding fitted sheets for years, but instead of continuing to fight with the sheet, she decided to work backwards from the end goal of a neatly folded sheet. She started by examining the sheet and identifying its corners and edges. Then, she worked out a method for tucking and folding the corners to create a compact and tidy bundle.

Terri’s method involves tucking the corners of the fitted sheet into each other to create a square shape. Then, she folds the sheet in half, tucks in the corners again, and continues to fold until the sheet is a small, manageable size. She shared her method in a viral video that has been viewed millions of times, and now people all over the world are using her reverse-engineered method to fold their fitted sheets with ease.

This example shows how the mindset of reverse engineering can be applied to even the most mundane tasks, leading to creative and effective solutions.

By starting with the end goal in mind and working backwards to identify the steps needed to achieve it, we can often find simpler and more efficient solutions to everyday problems.

Conclusion

To sum up, reverse engineering is an advantageous problem-solving approach that can be implemented in diverse aspects of life. It can aid in comprehending fundamental issues, devising practical solutions, and achieving personal or professional objectives, be it creating a new product or tackling a challenging problem.

--

--

Uday PB
Uday PB

Written by Uday PB

Above the ground today, below tomorrow. Psychology, philosophy, and maybe code - my trifecta, follow for musings on such topics.

No responses yet