One secret weapon that made me a better Engineer
In my startup experience, I used multiple tools, but this one made the difference in my career!
Last year I was working on a startup. In some cases, we worked on complex frontend components. In that scenario, you don't have a single optimal solution, but you will find multiple ways of solving the same problem.
One way to approach this is to choose a solution and go for it. This is usually risky, so we need to find one or multiple strategies to de-risk our choice.
One strategy I love is throwaway prototyping.
The main idea is: build a first shitty version of your hypothetical solution.
Don't focus on the UI or UX, but just make it work! Do it fast and keep in mind that you will not refactor this code later, you will put it into the bin.
Creating this prototype helps in a few things:
- Once you have a crappy solution that works, you know much more about the problem you're trying to solve. You will find edge cases, technological issues, and much more
- You will build knowledge about the solution you want to implement and you will find out that sometimes one solution doesn't exclude another. The best implementations I did were blends of multiple ideas
- You will have something to give to the user to evaluate if this solves the problem
Too many times we try to solve the wrong problem and having internal users (or even beta testers) use our throwaway prototype can give us a lot of information!
Once we validate our solution (usually in a few days) we can start building the actual solution. This time we will be faster in the implementation (since we already know what to do), the quality will be higher and we eliminated an high percentage of the risk related to implementing an entire solution from scratch!