We as software developers love technology, especially new and shiny stuff. When it comes to building software we always want to play with the latest tool, technology and architecture of the day. And for a part that’s OK, as it drives innovation and creates new opportunities but for a part it is not as we have a tendency to over-engineer and try to stuff as many of these new and shiny things into our pour software projects.
“Don’t over-engineer” is a golden rule that we all should apply.
A great post that perfectly relates to this sentiment is “10 Modern Software Over-Engineering Mistakes”, a must read!