Every time I hit a problem or hardship in life, I realize it all connects back to my computer science degree. The toolbox of problem-solving skills that I’ve accumulated can be applied to all aspects of life. I feel so empowered to tackle any problem.
The list of CS skills go on and on. I’d like to mention a couple that I’ve found incredibly applicable.
When I encounter a problem, I try a bottom up (details first) or top down (high-level first) approach.
Sometimes, pattern recognition is important when I want to understand my past actions. Why did I do something in particular? What is the motivation or driving force behind it?
A problem may seem complex, but it can often be abstracted or reduced into a simpler or similar problem that I’ve dealt with before. Once an issue in known territory, I know what to do.
A problem can have multiple parts, so it’s important to understand the whole system and how each component interacts with each other. Because the details can be too distracting, I sometimes need to group these details into black boxes, so I can simplify a hundred piece puzzle into one with only ten pieces. I can do this recursively and treat this ten piece puzzle as one piece, and see how it interacts with its peers.
I strive for simple and efficient solutions, as these are the most elegant. The world is already pretty complicated. I don’t need to try to keep my own life complicated.
I always think about the worst case scenario. Am I okay with it? Even if the worst case scenario happens, I’m already mentally prepared for it. I’m therefore able to keep calm and clearheaded in the case that I must face it.
I’m also not afraid to get my hands dirty and iterate. Sometimes, I need to just make a change just to make progress. I don’t know how effective the change will be, but if it doesn’t work, I scrap it and try something new. How often does any software engineer write one version of a code and expect it to work perfectly? Sometimes, you have to write ten thousand lines of code, delete half of it, and rewrite most of the rest to achieve the final revision.
And all those proofs that professors make students write? It helps to keep me thorough when I analyze.
When I have a goal, I craft something from nothing to get to it. Earning a computer science degree has really helped me practice that. And honestly, some of those problem sets in school are much harder than problems I face in life. At the very least, I can rest assured I’ve surfaced from those hardships.
I used to think my diploma from college was worth $200k. Now I think it’s pretty priceless.