Over the last couple of months I've wondered just why it is that I invest so much of myself into projects at home and work. There are just some things that simply must be done a certain way and, when creativity is involved, the rules behind the creation come fast and furious. These self-imposed constraints ensure that certain criteria are met and people are generally happy with the end result, even when "people" just means me. That said, when building things that will be used by others, these constraints need to be communicated clearly in order to be understood.
Rules are often the result of past lessons and, as a result, each constraint has a great deal of backstory involved. Most people are wholly uninterested in the reasoning behind certain constraints, insisting they be removed regardless of the consequences to the rest of the creation. Examples can be insisting margarine be used instead of butter when making banana bread, or rejecting the logic structure of a data object and insisting that unrelated metadata be shoved in just to fit one tiny scenario that benefits 0.1% of the people using the creation. Most of the time I fight back, other times I ignore the demand and lie when asked about it later.
Them: Did you use margarine like I told you?
Me: Yes, of course. 20 grams, like you said.
Them: And see how good the bread came out? You should listen more often.
These arguments tend to happen quite often in everyday life, and it's a regular part of human interaction. Yet it seems that since the advent of Google-In-Your-Pocket, anyone and everyone can be an expert on anything and everything. People who couldn't tell you the difference between a spatula and a ladle will demand ingredients be swapped out of recipes. People who couldn't tell you the difference between a boolean and an integer will demand your project at the day job be shut down so that something their friends made can replace the tool and do a less-complete job at the same time.
I'm wholly fed up.
If someone doesn't like the way I make banana bread, they don't need to force it down their throat. They can say "No, thank you" like an adult and enjoy a different snack. If someone doesn't like the way I've written a certain piece of software that solves a business problem within the corporate guidelines we're all supposed to follow, they don't have to use it. They can use whatever alternative their friends are making in private like an adult without badmouthing the more mature tool that was created by reverse-engineering an undocumented CRM.
The asinine aggressions and obvious lies that people tell in the guise of "constructive criticism" generally add nothing of value or ruin what is otherwise a perfectly acceptable recipe for creation. If something can be improved, then having evidence to back up the claim is just as important as any recommendation. Unfortunately, evidence seems to be lacking from a great deal of negative and obstructive statements.
Perhaps I should relax. Perhaps I should not see the plethora of negative feedback from people who are n00bs with zero credibility on a subject as something worth paying attention to. Or perhaps the self-assessed Experts of Everything should actually make an effort of learning something before shooting down the work of others.