Programming Principles

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/