Get Ready for 401
- Solving Problems
This is, of course, a hugely important topics in software development, as all of our work is just solving problems. You first start by trying to understand the problem, don’t start by solving it in code, just simply start by just trying to understand it, don’t try to get fancy either. It can be helping to reread or go over the problem multiple times, write some pseudo-code and try to solve it using that, and THEN start writing real code.
- Act like you make $1000/hr
Ever heard of the phrase “you are what you pretend to be”? well, it’s quite true, the old(er) people had quite the wisdom honestly. Just think of your time as something that VERY valuable, afterwards you’ll start to get a new perspective on what’s important and what’s just fluff. I’m not saying to be arrogant, but place a high a value on your time, because it reality, it is, and very too.
- How to think like a programmer
It’s important to learn how to solve problems like a programmer, and a great way to do that is by a) having a framework and b) practicing it. A framework is just a guideline you follow, in this case you could do:
- understand, which is to say you need to get the problem, REALLY get it. A good tip is to try to explain the problem in plain english (or any other language of your choosing), if you can, then you probably understand the problem well enough, otherwise you should try to think about it more. Another good tip is to doodle and sketch the problems out, this can be pretty powerful as it allows you to break down problems visually as well as in your brain.
- plan, take your time, plan it, and then plan it again. When you reach the end of this step, you need to have a thorough and exact step-by-step plan, otherwise you need more time, and more effort still. To get a good plan, answer this question: “Given input X, what are the steps necessary to return output Y?”. Don’t forget to use comments, they’re pretty important.
- divide, meaning, make the problem smaller, as tiny as you can get them to be while still making sense, then after you solve all of those tiny little problems, you can put everything together.
And of course, practice, and you need a lot of that.
- The 5 Whys
The “5 whys” is a great way to try and understand what are you doing and why and all of that fuzz, otherwise this can all be a jumbled mess, so you need to break the problem into smaller problem, and start asking smaller questions. This way allows you to ACTUALLY solve problems, instead of “band aiding” the problem, which will most likely come to bite you later. Just keep asking why until you get to the root of the problem, otherwise, keeping why-ing.