250 likes | 257 Views
Dive into the world of programming with Chris Clark and uncover Brooks' Law, Hofstadter's Law, and other nuggets of wisdom. Learn the importance of simplicity, the perils of technical debt, and the art of effective communication in coding. Challenge assumptions, seek feedback, and become a better programmer.
E N D
Chris Clark May 12, 2016 BrooksismsAnd Other Nuggets of Programming Wisdom
Some random programmer. Worked with some other random programmers. Managedprogrammersfor a while. Opinionated. Who am I?
You are a Programmer. Beware Imposter Syndrome. Who are you?
Another programmer. Also managed programmers. Also wrote some books. Who is Brooks?
Adding manpower to a late software project makes it later. Brooks' Law
It always takes longer than you expect, even when you take into account Hofstadter's Law. Hofstadter's Law
X / Y Knowing the Problem Z
What is the problem we're trying to solve? 0th Questionof Programming
What is the problem we're trying to solve? nth Questionof Programming
What is the PROBLEM we're trying to solve? ∞th Questionof Programming
Simple is better than Complex. Complex is better than Complicated. The Zen of Python
You can't communicate complexity, only an awareness of it. Alan Perlis's Epigrams in Programming #105SIGPLAN (September, 1982)
If it is hard to explain, it is not a good idea. If it is easy to explain,it might be a good idea. The Zen of Python
Technical Debt Rigidity Time
Plan to throw one away; you will, anyhow.* Fred Brooks, The Mythical Man-Month
Every program has (at least) two purposes: the one for which it was written, and another for which it wasn't. Alan Perlis's Epigrams in Programming #6SIGPLAN (September, 1982)
First make it functional, Then make it beautiful, Then make it fast. Unknown
Premature optimization is the root of all evil. Knuth's Optimization Principle
There are only two hard things in Computer Science:cache invalidationandnaming things. Phil Karlton
Always code as if the person who ends up maintaining your code will be a violent psychopath who knows where you live. Unknown
Read more code than you write. Ask questions.Challenge assumptions. Seek honest feedback.
The stuff you know The stuff youknow you don't know The stuff youdon't knowyou don't know