I have an engineering mindset. I work as a developer, and I have a constant focus on problem-solving. When I find problems in my personal, or professional life, I always try to come up with a solution by myself. Why should we solve our own problems ourselves, instead of making others do it?
I think making other people solve our problems rarely is a good idea. If the problem is in an area that's outside of our knowledge space, I think it's a good idea to take help from someone else. But, if you, like me, have the engineering mindset, solving our own problems using software is often more rewarding than making someone else do it in exchange for money.
When I come across a problem in my life, like having to lose weight, for example, I always default to coming up with a solution to help me do this. Recently I built myself a web application that helps me track my nutrition, my workouts, sleep, and mood. Instead of downloading some app that's built with the goal of applying to as many people as possible, building your own solution and tailoring it toward your needs is often a better idea. This application helped me track my progress way easier, and I accomplished my goal faster.
Another problem I came across a couple of months ago, was when I wanted to test out some third-party web APIs. I didn't want to have to download yet another application that handles this, like Postman for example. I decided to build a very similar version to potman, but in the browser, that didn't require any authentication. This let me easily open a tab and going to xhr.sh, enter the URL I wanted to run the HTTP request towards, and then be done with it, and close the tab.
I think solving our own problems has a couple of different benefits to using already existing solutions.
- You can tailor the solution to your own needs
- You can customize the product over time
- You get a sense of accomplishment
- You usually save more money
I want to close out this post by putting some weight on solving our own problems only when we think it's necessary. Sometimes, building an entire application for yourself might not be a good idea. Take Slack for example. They've worked many years on solving the problem of communication inside of teams. They have countless smart people working on this problem, and probably have a better solution than you'd ever be able to come up with by yourself. Sometimes it's important to realize when using an already existing solution is a better idea.
Thanks for reading. Consider following me on Twitter @albingroen if you want more content like this.