Intelligence • Twenty years of experience in Enterprise Software Development • Ten years of Spring • Spring Web Services • Spring REST • Spring Scala • Spring Reactive
should be obvious, consistent, and predictable, based upon the name of the operation and other clues.” http://c2.com/cgi/wiki?PrincipleOfLeastAstonishment
but no simpler” – Albert Einstein • “Make simple things simple, and complex things possible” – Alan Kay • “The simplest thing that could possibly work” – Kent Beck • “The first thing I could possibly think of”
hide complexity behind abstractions • Create multiple implementations to see if your abstractions are correct • The simplest thing that works! • You don’t have to ship them
undo the effect of a decision • Huge for programming languages • Small for Agile projects • APIs are more like languages https://dannorth.net/2006/05/28/how-simple-is-too-simple