I feel like you could permute "elegant", "efficient", and "effective" in any way here and still arrive with a maxim that sounds nice but doesn't really say anything.
I feel like you could permute "elegant", "efficient", and "effective" in any way here and still arrive with a maxim that sounds nice but doesn't really say anything.
elegant: builds a system in a way that is technically satisfying
efficient: builds a system in a way that uses the least resources
effective: builds a system in way that best solves the problem
I've built a lot of elegant systems that didn't solve the right problem but sure looked good.
I've also build systems out of leftover servers and laptops that were super inexpensive.
But I've learnt that there are times where spending money is the best way to build the system that the customer actually wants (and will pay for).
No, 'Effective' solves the problem, but not necessarily in the "best" way possible. In my opinion, the quote as stated is just wrong. Effective means "gets it done", but doesn't convey that it was done optimally.
It makes much more sense to me to say...
"Any run-of-the-mill engineer can design something which is effective. A good engineer designs systems to be efficient. A great engineer designs them to be elegant."
It makes much more sense to you (and me) that way but the point is our common sense about what makes an engineer great is wrong.
In real world systems you often have competing constraints. In construction if someone asked you to make a beam section more efficient you'd need to consider weight, cost, weld-ability, yield strength etc. All competing against each other.
An effective engineer is someone who can see the whole picture of the system and where his design fits into it. Being able to make the most appropriate efficiency gains in areas where you get the greatest benefit.
I've always considered a technically elegant solution to be something more novel - an approach that had never been considered before or consider and dismissed as unworkable in the past.
Elegance requires constraints consistent and few, whereas reality is a seething mess of capricious special cases - the far end of the spectrum from pure consistent abstractions.
But not only that it's easier, he also means that a solipsist chasing idealized butterflies is not an engineer. An engineer is meant to solve real, practical problems.