When it’s good and bad to be a contrarian programmer

An early concept you learn in programming is that it’s not smart to get caught up trying to reinvent the wheel. If a software solution already exists that can get a job done, it’s typically a good idea to noddingly make use of it and move along to the next issue.

This is a companion discussion topic for the original entry at https://triplebyte.com/blog/when-its-good-and-bad-to-be-a-contrarian-programmer

How do you balance “going with the flow” with your strong “I know best” opinions as a free-thinking engineer? I mean, the wheel has occasionally needed some reinvention, right?

1 Like

People sometimes come up with excellent ideas. Even if someone throws up multiple brainfarts along with gems, that individual needs to feel acknowledged in conversation, respected as a human, and taken seriously as a professional.

Often when someone imagines and shares a cutting-edge concept, he/she will get laughed-off by peers who themselves have a only middling understanding of the field… It helps their little group bond. The masters don’t do that: A decade or two later, when the technology catches up, someone often implements an eerily similar idea and gets rich; that clique of naysayers will have long forgotten about their derision.

The point is that to actually implement the “culture of innovation” that everyone wants, we need to lay our egos and rivalries at the door in order to offer serious consideration and solid reasons that something isn’t feasible: be it via formal proof, simulation, market study, prior work, etc.

People fear humiliation, so we need to not jump to belittle anything that sounds overly “out there” because these laugh-provokers are also precursors to realizing fundamental facts… That’s how laughter is supposed to work.

PS: I put “culture of innovation” in quotes because in large part it’s as simple as people being professionals, not falling for groupthink/not-invented-here syndrome, and deciding they don’t need to obstruct in self-defense.