stefannovak
Giving a tech talk at my Microsoft tech stack company, how do I persuade them to give Elixir a try
Hi all,
I’m going to be giving a little 20 minute tech talk at my company which uses .NET C# across all of our 100ish size IT team. I’m a big time Elixir/Erlang/OTP fan and I want to spread the good word to my team.
My question is, as a .NET tech stack company, what should my biggest talking points be? I don’t want to do just a 20 minute lecture about what Elixir, functional programming, concurrency is, I want to try and structure this talk in such a way that it plants the seeds of perhaps doing some new projects in Elixir, starting a cool internal Elixir dev team! Because finding Elixir work is tough so I want to try and make the Elixir work for myself.
Fortunately the place I’m has a quite mature, modern tech stack. We only have one legacy monolith. So there’s loads of similarities between our services that we’d write in .NET/Elixir. They’re all microservices, either APIs or Workers or both, they all communicate with each other, most often using Rabbit, all deployed using Kubernetes/Docker, all that cool stuff.
The problem is we’re a company based in one country, perhaps a million customers, and our business model (insurance) doesn’t provide scenarios that play to Elixir’s strengths: massive concurrency, fault tolerance, extremely high availability, etc. So I’m probably fighting an uphill battle here, why would the company create an application in a programming language that none of the other team know.
But I do believe that even if you’re not expecting 100 requests a second, Elixir is still worth working with.
So my plan is to give them a whistlestop tour of Functional programming, talk about processes, supervision trees, fault tolerance, basically a mini Joe Armstrong talk. Then I’ll show some LiveBook code samples showing cool pattern matching, metaprogramming, spawning 1 million processes live, etc.
Then some magic words to say to suddenly free me from Microsoft ecosystem and finally give me commercial Elixir experience! Or perhaps a demonstration of something, some LiveView app?
Cheers all!
Most Liked
ausimian
I think you have a couple of choices. Either pitch it as a personal interest, some fun thing you’d like to share, see if you can provoke some curiosity from your co-workers, plant the seed, create your allies etc.
Or, go after a known and widely recognised problem within your organisation that Elixir is uniquely capable of solving, or at least can solve significantly better than the existing tech stack in at least a couple of dimensions.
Fwiw, I’d take the first option and play the long game, at least publicly. Maybe skunkworks something on the side if you can find someone else who’s interested enough.
(As an aside, I once gave a lunchtime ‘brown-bag’ on Erlang - Elixir didn’t exist then - within Microsoft to a bunch of battle hardened MSFT veterans, fun times)
Edit: the reality is all medium to large companies have software systems that are critical to them and practically all of them are not written in Elixir. They are written in boring but effective ecosystems likes Java or .Net. Moving this needle is very hard as a single developer.
LostKobrakai
I’d take a look at The Soul of Erlang and Elixir and figure out which parts would make the biggest impact based on the shorter timeframe.
adamu
My repeated experience is that people can’t be persuaded to switch tech stacks, no matter how good the argument. It’s like a religion. People aren’t going to budge from what they know.
The best ways are to start something new, or join an existing elixir project. Joining an existing project might not be possible depending on where you live/work. You could start something new in the same company if you have enough influence to start an autonomous project, but you’ll be making people worry about the bus factor in that case.
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









