Problem solving is one of the most important skills to learn as a developer - but it's not easy.

🧵 for improving your problem solving skills 👇
1. Break the problem down. You can't solve a problem if you don't know where to begin, so the key is to break one problem into many smaller ones. "Build a website" is too broad. Splitting it into "create the navigation, footer and content area" is much easier to work with.
2. Clarify the problem. Make sure it's crystal clear what you are trying to do. If it isn't, the problem might still be too large or have undetermined factors. Ask questions/read the assignment until you know EXACTLY what you're trying to solve.
3. Solve the problem on paper. One of the biggest mistakes I see new devs make is jumping directly into code and start hacking away. This is the wrong approach. You've broken the problem down and clarified it, now try to solve it using old-fashioned pen and paper.
4. Think of multiple solutions. When writing down your solutions, try to think of multiple. List the pros and cons of each approach. What could go wrong if you choose to solve the problem a certain way? Do the other approaches take that into account?
5. Speak. Sometimes, simply speaking about the problem or your potential solution will help you see things more clearly - making the problem easier to solve. Use a colleague, or a rubber duck, or any random object. Just SPEAK YOUR IDEA OUT LOUD.
6. Implement it in code. When you've narrowed down to a few solutions, start coding. You might run into other issues now that you hadn't thought of, so you can still go back to the drawing board if needed. But having the solution ready before coding, makes this step much easier.
7. Optimize your solution. Hopefully you've spotted some issues or other optimizations by this point, as your understanding of the problem is well-rounded. Now is the time to make your solution even better, and to solve the final quirks leftover from implementation in code.
8. Rinse and repeat! With one problem down, you're ready to tackle the next one. As you keep following this process, solving each problem in isolation becomes much easier - and before you know it, the combinaion of each solved problem leads to the final result 🔥
Thanks for reading! I hope you learned a thing or two about problem solving, and can see the power in this approach. Once you get comfortable with it, you'll be able to solve complex problems in no time at all 💪

Throw me a follow if you're interested in more content like this!
You can follow @madsbrodt.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.