Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
Donald Knuth, Structured Programming With Go To Statements, 1974
Well, still relevant in many development teams in 2018, since there has not been done any mainstream propaganda against an anti-pattern itself. Non-technical leaders of the enterprise are often bound to abide tech team decision to over-optimize at start (of a project or a feature), leading to an increased time to market, as well as increased complexity from optimization, if one done by a subjective opinion of a team/tech lead. Beware, *use code wisely*.