Over-engineering is often solving problems that are either future problems that don't actually exist, or solving problems that were caused because of previous code.
An example is a developing a custom templating language instead of using an ERB file. This is an example of a problem that doesn't exist, creating super customized, ultra-flexible systems that most likely will never be used to their full potential. Often these systems use layers and layers of abstractions in order to get 'clean' code.
Also be careful because the term "over-engineering" is used as a cudgel by people who want to talk smack about code they might not really understand or that feels complex to them, when in reality it might solve a problem really well. It takes a while to fully understand a complex problem, and a complex solution that solves it.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Over-engineering is often solving problems that are either future problems that don't actually exist, or solving problems that were caused because of previous code.
An example is a developing a custom templating language instead of using an ERB file. This is an example of a problem that doesn't exist, creating super customized, ultra-flexible systems that most likely will never be used to their full potential. Often these systems use layers and layers of abstractions in order to get 'clean' code.
Also be careful because the term "over-engineering" is used as a cudgel by people who want to talk smack about code they might not really understand or that feels complex to them, when in reality it might solve a problem really well. It takes a while to fully understand a complex problem, and a complex solution that solves it.