Hacker News new | past | comments | ask | show | jobs | submit login

Too true. I think the quote hits on this part where Edsgar is saying that it takes education to appreciate simplicity. Some problems have an inherent complexity to them and to appreciate an elegant solution that is sufficient to the task requires some training and understanding of the problem. It's a bit subtle perhaps but I think it's important to understand!



It's also a fantastic recipe for getting out of touch unjustifiably with the rest of the world, and shooting down completely valid input.

"You just aren't intelligent/smart enough yo understand/appreciate the elegance of my design" is the cope of many a fragile engineer in the face of a real world bashing their head against something rendered unnecesarily complicated for reasons completely tangential/unrelated to intended use.


The proof of the pudding is in the tasting in such cases. If you can't explain it to someone else then you definitely don't understand it. Ask a few questions and fragile egos tend to reveal themselves.


Oh, it can be the case you absolutely do understand it, you can explain it, you can point out line by line, and class by class what you wrote, and why it makes the people whom you wrote it for's life easier. You can also document it, and provide references to external docs you relating to frameworks you depend on.

That still will not convince some that cannot be bothered to track where their bits are.

I bring up the point because I've whipped up a system specifically intended for shipping a declaratively defined DB state, to a particular user specifiable environment, whilst limiting thr actual implementation of said data as close as humanly possible to forms that were already being written.

There are just some times when the needed solution will not be accepted until people have rammed up against the problem they don't even know they have. Thus is the curse of the implementer that prevents rather than remedies.

Make a problem impossible to occur and people think you over engineered it. Sit on the answer til everything is on fire, and the migration cost is maximized, and you're looked on as a visitation from on High.

It...really...sucks.


Oh I get that.

Sometimes people mix up simple with familiar, easy, or shallow. They expect that they won’t have to learn anything or that understanding should come without effort. Unfortunately this is not the case.

I often use the word sufficient in place of simple when trying to convert this to an audience that isn’t familiar with the subject matter. It’s as simple as one can make it without waving our hands about the essential complexity of the problem itself.

The proof of Cantor’s theorem is conceptually simple but there are plenty of people who cannot appreciate it because they understand little enough maths. And yet the theorem serves as a basis for more interesting theorems and practical applications.

I also try to avoid the use of the term, over-engineering. I find it is often thrown around too easily and used derogatorily.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: