My solution is the best!
A few days ago I was watching a keynote speaker talk about architecture. It was an interesting talk, he had a good concept and the idea definitely made a lot of sense. I didn't really like the presenter, which can happen, but that usually doesn't remove any credit from the content. Only this time it did, at least for me.
What happened?
Most of the presentation was pretty good, there were great examples in there and he really knew his stuff. But where he went completely wrong for me is the way he talked about other solutions and techniques. Calling them crappy platforms, telling people they should probably quit if they still use this, calling certain ways of doing things for hipsters, calling methodologies that are being used for years 'big mistakes'. You probably catch my drift by now, there were quite a lot of examples of these things during the presentation. So while the content was good, the way he treated other techniques actually made me lose complete respect of it. While this example is a little extreme, it got me thinking, why makes a lot of us treat our solution as the best, while talking bad about other solutions?
What causes this behavior?
We have a huge choice in techniques we can use for our work, and most of us will probably recognize the feeling of thinking the one we chose is the best. This feeling is completely natural, a part of human nature and it reflects the passion we have for the subject or the choice. While right after you chose a certain technique you might feel somewhat insecure about it, once you are familiar with it, this feeling usually gets replaced by the feeling of passion. If you talk with others and pay attention to yourself, you'll notice that you will be defending this choice quite passionately. So you go from having doubts to thinking it's the best you have ever seen, seems a little weird right? Don't worry, there is absolutely nothing wrong with you, you are just human.
Open yourself up
Who hasn't landed in a discussion about Windows being better than Linux, IOS being better than Android, React being better then Angular? We all did, we all still do and probably will do for a long time. While I'm not saying to just give up on these discussions, try and open yourself up a little. Try and place yourself in the shoes of other people, see how this might work for them and try and accept that we don't know everything and other solutions might work just as good and maybe even better. It seems very easy for us to judge something without actually having worked with it, and I think this all comes from that passionate human nature we have. But try and be aware of this nature and maybe next time try something or hear somebody out first before judging. The thought that I find very helpful for this is; "If a lot of people are using it, it has to be good in some way".
There is no best solution
When talking about this subject, one thing that tends to come up is that each language, framework or other technical solution has a purpose for a different situation. I don't think that is true. There is no "best" solution for a situation, at best there are some good solutions. Our possibilities in software engineering are just too big, solutions are too widely used, this makes the situations where there is one real best solution almost extinct. I even think that the more you learn about different technologies, the more you discover that they are a lot more similar at the core then you might think.
What can we change?
Now looking back at the presentation, what could he have done differently? It's actually very simple, he could've just not said anything about these things. They added zero value to the presentation. And if his goal was making it funny, just try and add a joke, or at least say something that isn't at the expense of others. Imaging the presentation this way actually sparks a light of enthusiasm and inspiration about the actual subject he was presenting, which I think would be the goal he'd want to reach with it.
When looking at our day to day work,you could start by trying to be aware of this, since awareness is key to bettering yourself. Like I said before, don't be judgmental on techniques and solutions but try and look at it from a more logical or rational standpoint. You'll notice that if you are more accepting to the choices of others and are able to acknowledge your lack of knowledge about the subject, others will tend to open up as well and you'll actually learn a lot more from it.
I'd love to end this article on a positive note and with that I'd like to ask you to try and treat others with respect, you don't need to put others down to add value to your own idea. Your vision, your idea, your opinion is worth sharing and is strong enough to stand on it's own!