How to Solve Technical Problems
If there’s one lesson I takeaway from my Computer Engineering degree it’s how to solve technical problems. We’ve had countless assignments and labs that seemed impossible at the beginning but we always ended up completing them.
Time after the time the journey was the same:
- Getting started: Initial ethusiasm and momentum
- Hitting a wall: frustration ensues and I question my intelligence
- Breakthrough and Completion
I’m not someone that grasped concepts easily as many of my classmates seem to get. I had to work hard and refine my strategy and approach. These tips are mainly for software and hardware engineering. But I imagine that some of these tips can be generalized to other domains, technical and non-technical. Here’s my approach to solving technical problems:
Understand that everything is figureoutable with enough patience and persistence. Unless you’re doing cutting edge research or pushing the limits of current technology, most problems have been solved before.
Go straight to the problem sets or assignments and learn the theory along the way. Personally, I have trouble absorbing theoretical content if I don’t know its application. Going straight to the problem set or assignment helps me learn the content and apply it immediately.
The problem or concept might not make sense at first but it rarely does. Read it again, read different articles, watch related videos and tutorials.
Complex problems are a collection of smaller, simpler problems. If you’re stuck, try to identify the smaller problems and work on solving those.
When stuck on a problem understand specifically what the issue is. Sometimes it’s hard to find a solution if you don’t know what you’re trying to solve.
Sometimes the obstacle is a knowledge gap. The Feynman technique is great for debugging your understanding and identifying your knowledge gaps.
Tackle the problem from multiple angles. Trying the same approach hoping for different results is the definition of insanity. Take advantage of all the tools in your toolkit and try out different approaches.
- Test shit out. Throwing shit on the wall and seeing if it sticks has worked more often that I’m proud to admit.
Ever had a breakthrough while taking a walk, in the shower, or dream up of an idea while you sleep? Subconscious problem solving is a surpisingly effective technique. Take advantage of it.
Push past confusion. Confusion is an uncomfortable feeling, it makes us feel stupid. But confusion is a part the process for solving any hard problem. Pusing past confusion to eventually solve a problem is what makes solving hard problems so rewarding.
Ask for help.