Avoiding and Getting Un-Stuck

There’s countless approaches to problem solving. A quick search on Google will yield tons of varying results. Each of which have a degree of overlap. However, most of them do not really cover how to handle the situation when you end up stuck. Not “if” you get stuck, but “when.” I’m not saying everyone will get stuck on any given problem, but it’s inevitable that you’ll get stuck at some point. Let’s dive into some techniques that I have found helpful to me. Likely some if not all will seem familiar to you.

First and foremost, it’s important to start the process early. This will budget in time into the process if you get stuck and run into a problem. This extra time allows you to try the different techniques; especially the last one that can be extremely helpful if it’s a particularly challenging problem. Starting early is paramount. If you don’t need the time, you can spend it on the back-end instead of the front-end.

For any problem, it’s critical to have notes, a documented approach or outline to refer back to if you run into an issue. This needs to be derived directly from the project requirements. If done properly, you’ll have at very least a logically approach to solve any part of the problem you’re working on if not already solved it on paper. The issue is often lies with the implementation. Either an error in translating the logic to the implementation or a missed logic outright! It’s easier to miss cases. Especially when there are a lot of small ones.

If the problem is more challenging than you thought talking the problem out loud goes a long way. If you’re lucky enough to have someone around to talk to that’s the best case. Even if they don’t have a background in whatever the topic is try break down the logical approach for them. Otherwise, tell a pet or any inanimate object. As long as you’re literally saying it out loud, it can help you self-trigger on something you missed.

Now if you’re really stumped, taking a break is the best thing. No matter your convictions or motivations, take the break. You’ve heard, “square peg, round hole”. Well right now, your mindset is a square peg and the solution is a round hole. Yes you can eventually cram a solution through. However, taking this break can reframe your mind-set to work towards a solution more efficiently. Often you’ll spend less time overall problem solving utilizing this approach. Even if it seems counterintuitive. By budgeting this time in, you can save yourself a lot of frustration and time.

They may seem simple, but utilizing these techniques in this sequence can help you work through many problems. Yes, the sequencing was intentional. Take them and try them for yourself. I hope they work for you as they have for me.

Finishing the Chapter

Not the first and not the last. Like many others, I found Computer Science as a means to transition into Tech and ideally a more fullfilling career. Technology and specifically software is being embedded into almost every aspect of our lives. Its growth and integration has opened up the opportunities for people like myself. The applications are almost endless.

The choice to make this change wasn’t entirely planned. My first degree was also a STEM degree. Going through school, with the intention of working with innovative technologies. Designing cool new systems and products to further our progress as a species. Once graduating, the real world didn’t reflect the grandiose ideas that I had as an undergraduate student. Where my first month on the job, was literally working on a desk and chair made out of boxes. Working on a laptop that couldn’t even run the lightest version of AutoCAD. How was I supposed to be an engineer and make any meaningful change without the essential tools?

Fast forward, five years. After traveling to five countries, getting married, relocating to another part of the county, and working fifty to sixty hour work weeks regularly; I reflected on my current state. I wasn’t working at a job or position that I was remotely interested in. I was entirely unfulfilled and mentally unstimulated with the work I was doing. Change and progress was resisted. The experiences of the prior years, helped me identified my true passions. I love to travel, explore cultures (especially through food and wine), spend quality time with loved ones, and as much time outdoors as possible. Professionally I love to create things, make tangible change in the lives of others, and be challenged mentally. Combining my personal and professional passions, I identified Computer Science and the program at Oregon State University.

My aspirations are to leverage software’s capability of endless applications and potential for good to creating positive change in the world. As my chapter at OSU is coming to an end, I’m looking more forward to my future than ever before.