Dogmatism and Software Engineering should be an oxymoron

Thoughts on the strong feelings about Technology that lead to Software Dogmatism in the workplace.

I love coding. I don’t care about the language I use or technology. I care about solving challenging problems, about creating something from nothing.

The observation

For the past few years, not a single day has passed without learning something new and without actually coding (except some notable exceptions where I was taking a vacation near the sea). If I’m not developing software for my clients/bosses, I will do it for myself in any programming language that I can find. I love reading about modern software engineering concepts, too. I am very proud of the speed with which I can grasp new technologies. I adore it. This skill, however, has come after many years of forcing myself to get out of my comfort zone every time I touch a keyboard and by trying to keep my mind open regarding anything new that emerges in the software world.

  • Assuming that your platform of choice is better because… it’s the thing that keeps you fed or because your friends are using it.
  • Bashing people using a tech different than what you use because it may mean that someday you may have to learn how to use this tech too.
  • Not having ownership of the code one writes (the grand notion of “it works, therefore it’s enough” — leading to all sorts of hidden bugs and non-scalable code) because no one took the time of actually questioning oneself.

They [confidently wrong programmers] tend to be dogmatic, intolerant and impractical. In our line of business, that can result in inappropriate and self-defeating design decision

Ringing a bell? I’m sure it does. Possibly this description fits one of your colleagues, or even yours. I would stretch the quote a bit further: The confidently wrong programmers, if left unchecked, can lead to an entire team losing their morale or be dismantled. I have witnessed this thing happening once or twice.

  • React vs. Angular (why not learn both and use each one as appropriate?)
  • Native vs. Hybrid (why not do both?)
  • C++ vs. Java (seriously? A language war? Why not use both?)
  • … etc. etc. etc

Dogmas

This kind of behavior is very apparent in all sorts of human societies. Having dogmas as life guides make it easier for individuals to feel that the foundations of their existence are simple, straightforward, and well established. It also facilitates interactions with people having the same views. For many, it is a social enabler. However, it is also the root of many types of problems like cultural wars and social breakdowns (I believe that no explanatory links are needed here).

At the end of the day…

Next time someone shows you something new or tries to disagree with you about technology politely, welcome it. Who knows, maybe that someone is advancing your career just by wanting to discuss it with you. And if you happen to find someone who raises the conversation’s decibels beyond acceptable levels instead of giving you utilizable arguments and info, stop the conversation politely. People like these shouldn’t be given the impression that someone listens to what they are babbling about. You will be doing yourself a favor.

Software Architect, currently @ Vodafone GR. Past: Lead Dev @ Intrasoft Intl, atcom.gr and more. Crafting apps & web services since 2007. https://oramind.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store