Or why we should keep an eye on transfer learning. This is one of the promising way to get a more efficient machine learning process. Might come with its own challenges in methodology complexity though, it'll likely be easy to do it wrong and to notice that too late.
Good summary on why overengineering is bad, why it happens and how to try to prevent it. We deal with complexity we better make sure there's no undue complexity in our systems.
The wording and bias of the article is a bit startup-y but most things in there apply more widely.
The paper is very "cloud focused" but most of the arguments make sense overall. Managing complexity is really the core issue of what we do as engineers... or at least it should be.
Second time I bump into this book being mentioned somewhere. This good summary really makes me want to read it. At least it gives a clear overview of complexity and how it's tied to other softer topics. I especially like the distinction between tactical and strategic, it's one I do often. I think I'm particularly willing to read the chapters about comments and TDD... from the summary it seems it's where I'm the most at odd with the ideas in there.
Funny way to recall some of the odd complexity classes. :-)
Interesting take on optimisation and complexity... Indeed it's probably best to not use the latter to achieve the former otherwise that complexity can never be removed anymore.