reading-notes

View the Project on GitHub TrunkOfUkuleles/reading-notes

Solving Programming Problems

            -- Read the problem completely twice. 
            -- Solve the problem manually with 3 sets of sample data. 
            -- Optimize the manual steps. -- Write the manual steps as comments or pseudo-code. 
            -- Replace the comments or pseudo-code with real code. 
            -- Optimize the real code.

As much as 70% of our time should be spent in steps 1-3

start practicing going through the steps manually before getting to pseudo code

actually pseudocode! And start thinking in functions- break up big problems into smaller solutions

see TopCoder and Codility

1 Hour = $1000

this is where I get to freestyle because I am bored. The concept of putting a price tag on “time” in your life is such a fucking backwards way to look at things (note: it is an effective societal view to maximize profits and that’s about it). My point really being if we start looking at work/time/effort in relation to our target of life balance, most people are really in a place where that number should be a hell of a lot closer to that thousand vs the paltry $15 we have been arguing over. That being said, tech offer a level of training outside of straight college degree that affords a bit more leverage. Depending on where you want to go in, your “labor” value could easily far exceed $1000/hr. Especially if you factor in whatever inflated potential for profit we like to play with before anything actually gets built.

5 Whys

Gotta love Japanese Business culture/myth. He always loved walking the floor so he can better understand the problem. So it was a mix of being present and communicating clearly with people along the chain. Systematizing that to delve into at least a 5 factorial to find the root of the problem. Similar to how you can section off pieces of your code to see where the information is being lost.

the list

  1. Assemble a Team
  2. Define the Problem
  3. Ask the First “Why?”
  4. Ask “Why?” Four More Times
  5. Know When to Stop
  6. Address the Root Cause(s)
  7. Monitor Your Measures