Why I do not evangelize anymore
If you knew me in 2009-2014, it might have met me either on a local Lyon meetup after one of my talk, or in heated debates in random online forums.
I was advocating or evangelizing about PostGreSQL over MySQL, KDE over Gnome, Linux over Windows, etc.
I have joined a new group few months ago, in my introduction, I have said, among other things, that I was doing Haskell programming for a living, with NixOS and NeoViM.
It was not about proving I was right, it was more spreading "good" practices/mindsets/tools, hopping one day, I'll work with them.
One of the members gently trolled me, which is ironic from a TypeScript and VSCode user.
Not so long ago, he pulled me aside to ask him if I was upset, because I was not advocating for my tools.
I don't actively evangelize anymore, even during GDCR, I ask the organizers to not mention I'm not using Haskell, and during my introduction, I say that "I'm open to any programming languages".
Note: I also do it to avoid spending my day explaining how Haskell work, and learn new approaches from other environments.
What happened since 2014?
I landed my first job, on a 25 years-old C and JavaCard secured and embedded operating. Developed by electronic engineers, with no notion of software architecture or software engineering.
I could waste all my energy in dozen of battles, try to reach an agreement on minor details.
I would probably win some, but I would achieve so little.
Instead, I focused on finding people with the envy of a change, the grumpy ones, the ones which started by noticing a problem, and eventually having a solution in mind.
On-boarding people on their own project, proving they were not alone, make us achieve more than I could expect if I had tried to force my changes upfront.
Do I think Haskell is the best programming language? No, even though it provides a solid framework for thoughts.
Do I think Prolog is the best programming language? No, even though it goes beyond what we can expect when it comes to expressiveness.
Do I think Idris is the best programming language? No, even though it gives we enough power to build bug-proof systems.
Do I think Erlang is the best programming language? No, even though it is probably the only environment we should use for distributed programming.
I could go on for a long time.
There is no right and wrong, only trade-offs, if at some point, or the person we are speaking to is claiming to have the silver bullet, then they did not think about the trade-offs.
That is why I do not evangelize anymore, I prefer build with the trade-offs I have chosen, and learn from others.