reading-notes

reading notes for code fellows


Project maintained by dLeigh01 Hosted on GitHub Pages — Theme by mattgraham

Engineering Readings

These are important because it is essential in the coding sphere to know your worth, especially if you are taking freelancing positions, and it is easy to get stuck on something, so having multiple different ways to work through any problems that arise in your code is a good thing to have under your belt.

Act Like You Make $1000 An Hour

Many people waste much of the time that they have, but if you placed a higher value on your time, how would your life look? If you don’t place a high value on your time and effort, it is easy to allow the people around you to take you and your time for granted. You don’t want to just be busy, you want to be focused. Being busy is just being distracted from things that matter, and a sign that you aren’t on track. If you don’t keep track of your time, you let extra tasks take over the time that you have. Successful people don’t tolerate busywork and keep their eyes and minds on their goals.

Don’t let people think your time isn’t worth anything, because then they will treat it as such. You want to act as if your time is incredibly valuable to make those around you belive it.

For everything you say yes to, you have to say no to other things, so you should only agree to do things that are worth your time.

How to Think Like a Programmer

A good amount of people approach problem solving as

but that is a poor way to go about it, as it wastes time and involves no small amount of luck to find the correct solution. The best way to problem solve is to have and practice a framework. The best steps to follow when encountering a problem are

After you have all of that down, you need to practice pratice practice! The more you ingrain these skills and processes into your head, the easier it will be to go through them in the future. You don’t even specifically need to practice in code, just do problem solving activities, like sudoku.

Solving Problems

When most programmers are given a problem, they make several mistakes, one of which is misallocating their time. In interviews, programmers often try to jump straight into writing code rather than taking a moment to think about the problem. Another big mistake is trying to oversolve by making the solution more complex than it needs to be. The way you should really go about starting on a problem is

The majority of time spent on this should go into the first 3 steps. An important thing to remember about code is that nothing can be automated that cannot be done manually, which means any code you will ever make has a manual process behind it, which means a good way to start in on a problem is to figure out what that manual process is. When you’re optimizing, it should be done early, as it is easiest to figure out optimization in the simplest state of the problem rather than later while it is actual code. When you do have the real code set out and working, check it over to see if it can be optimized and further and that it has good variable names.

Finally, have confidence! Practice this process until you can do it without thinking and can have faith in it being the right way to go about things.

The 5 Whys

The 5 whys method refers to responding to a problem by asking Why five times and drilling down to the root cause of the issue, then finding a counter-measure to the root problem. A counter-measure is something designed to prevent the problem from reoccurring rather than just treating the symptoms of the problem.

The 5 whys can be used for troubleshooting, quality improvement, and problem solving, but is most effective on simple or moderately difficult problems and may not be suited to complex or critical issues as it will generally lead you down a single track where multiple things could be causing a more complex problem.

How to use the 5 Whys:

The Super Mario Effect

When people aren’t penalized for trying on a puzzle, they stick with it for a lot longer and are more likely to succeed at it. Mrk Rober refers to this as the Super Mario effect, as if you reframe learning experiences as a game, you are more likely to stick with them through all of your failures. It’s normal to fail at a video game and want to come back and try again, and people don’t care how you failed, they just want to know how far you’ve gotten. If you think of problems in your life like a game, it will be easier to get back up and keep trying whenever something doesn’t work out.

Things I Want to Know More About

Discussion

  1. One thing I bring to potential employers that no one else can is my adoration of problem solving and enthusiasm to keep working to find the right answer.
  2. 3 things I can start doing to get un-stuck on touch code are to find the manual steps behind what I need to happen, split apart the problem into smaller bits, and reassess the problem to be sure I’m not going about it the wrong way or missing an important piece.

[< table of contents]

[< home]