Skip to main content

Problem Solving

Published 2 min readMarkdown
Problem Solving

Introduction

As engineers, the main motive of our job is to solve problems.

The way I approach problem-solving is kind of from an acquired approach. I try to understand the problem and write it down in plain English or pseudo code the solution that I am envisioning.

But how did I reach this approach in problem solving.

It wasn't always like this. Before I used to practice what is called a popcorn thinking approach where I would just stare at the problem or randomly try using different methods and wait for something to click.

But you can't trust this approach. Thus I researched and refined to come up with an approach that I can use to undertake any task that I want to accomplish.

When working on a problem I try to divide it into small-small tasks. This will later help in writing code but primarily it helps in seeing how the solution is part of smaller problems and if there are any pain points (where I am stuck) in the process. After getting a clear picture of the solution it's a choice whether you want to generalize the solution so that it works in as many cases as possible or just start with a one-off solution to your problem. There is certainly an option to first settle on a solution now and try later on whether you can optimize it. Generalizing it means looking for ways that the solution can handle all types of inputs and taking care of any edge cases.

Now just code or solve whatever parts you can by yourself and Google other parts and understand how others have solved similar problems and how you can adapt them to your problem.

This approach is handy no matter what you are designing.

About the author

No comments yet. Be the first to comment.