Programming Principles
- One of our main concerns is to handle complexity (from Code Complete).
- The best feature of a software is how easy it is to change it.
- Part of your job is to educate your boss about technology (from Code Complete).
Separation between intention and implementation
If you have to spend effort into looking at a fragment of code to figure out what it's doing, then you should extract it into a function and name the function after that "what".
-- Martin Fowler
https://martinfowler.com/bliki/FunctionLength.html
Opportunity Cost
Life is short and you don't get to learn more than a tiny fraction of the knowledge and skills available, so if you want to make really cool stuff then you need to spend most of your time on the highest-leverage options and spend only a little time on the lottery tickets.
-- Jamie
https://scattered-thoughts.net/writing/things-unlearned/
Intelligence trumps expertise
People who actually make progress are the ones who are keenly aware of the bounds of their own knowledge, are intensely curious about the gaps and are willing to learn from others and from the past. (...) Curiosity and lack of ego is a fast path to expertise.
-- Jamie
https://scattered-thoughts.net/writing/things-unlearned/
Speed Matters
You can improve your coding speed a lot by improving simple mechanical skills which are easy to measure, practice and improve. It's a lot easier to get faster at coding then it is to get better at choosing the right idea!
-- Jamie
https://scattered-thoughts.net/writing/speed-matters/