tl;dr:Things I now believe, which past me would've squabbled with: (1) Simple is not given. It takes constant work. (2) There is no pride in managing or understanding complexity. (3) Typed languages are essential on teams with mixed experience levels. (4) Java is a great language because it's boring. (5) REPLs are not useful design tools (though, they are useful exploratory tools). And more.
tl;dr:'"What if it changes?" isn't just a question. It's a powerful heuristic for software design that can be used to justify almost anything. Everyone should use it more. It's great precisely because it's rooted in pure speculation.' Chris provides a guide for how to navigate this thinking.
tl;dr:Broken into three sections: (1) things Chris has changed his mind on e.g. typed languages are better when working in a team with various experience levels. (2) Opinions he's picked up e.g. adding more technology is rarely a good call. (3) Old opinions that are unchanged e.g monoliths are pretty good in most circumstances.