Back to Blog

Have you used an Allen Key to hit the nail on a wooden board? Or did you ever use a screwdriver to drill a hole in the wall? I am pretty sure that the inventors of these tools did not have an alternate use in mind. Once, I forgot to carry the hole punching machine to school. So, I pierced two holes on my worksheet with my pen, enlarged the holes with my pencil and filed the papers. Whoever invented the ball point pen must not have thought about a school kid using their invention to file his worksheets.

Human ingenuity knows no bounds. We have developed alternate ways to use different tools. Software is often referred as a tool. When a software provides several functions, it becomes an eco-system where you can use several combination of these functions within the software to develop something unique. Recently, I was speaking with a researcher who uses MS Paint to make amazing visuals for his research publications. This researcher has figured out multiple combination of tools within the MS Paint’s eco-system to get the desired results.

Using the power of the software eco-system, people are able to combine various functions to develop their own set of tools within the eco-system. MS Excel is a good example where people have used the functions within the software to build tools that helps them accomplish several tasks like tracking their finances, logging daily nutrition, and so on. With the tools available within the eco-system of Excel, one can automate several processes like getting a live dashboard of your data. But, is Excel only designed to log data? To crunch some numbers? How about displaying an image? Well, it has been done as well. Matt Parker, a stand up mathematician gave a talk where he shows the audience how he uses Excel to display an image.

As an engineer, before I start to plan my project, I like to think about my end results. Then, I work my way backwards to see the methods that I need to achieve the desired results. Once I know the methods, then I consider which tools work with those methods. Then, I ask myself if I have access to the best tools and resources for the methods to achieve the end-results. If the best tools are not available, then, I consider what are the alternate tools that can give the same end-results. If there are no out-of-the-box functions in the alternate tools, I consider whether I can build the required tools within the eco-system of the software. Software development is a good example where you use the tools (i.e. the programming language) to create more tools that gets you the desired results which may range from programming a self-driving car using C++ or creating an awesome blog using HTML. The flow chart below shows my decision-making process.

flowchart TD A[Visualise the end result] --> B[Identify the methods to achieve the result] B --> C[Identify the tools required for the method] C --> D{Is the best tools available?} D -- Yes --> E[Use the tool] D -- No --> F[Identify the next best tool] F --> G{Exhausted all options?} G -- No --> H{Is tool available?} H -- Yes --> E H -- No --> F G -- Yes --> I[Build new tools]

In conclusion, I do not think the idea of using combination of tools and manipulating the eco-system to achieve the end result is any new. People have been doing this for a long time without realising their own ingenuity. However, when you are lacking resources or access to the best tools to get the job done, it is comforting to ask yourself: what’s the second best option I have? And, when you do accomplish your end goals with the alternate tools, perhaps you may want to take a break and just marvel at your genius how you used the tools that were not designed to do the task at hand.


Image Credit:

Cover photo by Dan Cristian Pădureț on Unsplash