stefannovak

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

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

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

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.

Where Next?

Popular in Discussions Top

Donovan
Hello everyone, I’m so glad to have discovered this awesome community. Thanks for creating it! This is my second post, and apologies for...
New
owaisqayum
I have a sample string sentence = "Hello, world ... 123 *** ^%&*())^% %%:>" From this string, I want to only keep the integers, ...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39467 209
New
WolfDan
After doing a port from a c++ library to my project in phoenix I’ve seen that I need a faster way to run this algorithm and I found this ...
New
ricklove
I was just introduced to Elixir and Phoenix. I was told about the 2 million websocket test that was done 2 years ago. From my research, t...
New
nunobernardes99
Hi there Elixir friends :vulcan_salute: In a recent task I was on, I needed to check in two dates which of them is the maximum and which...
New
AlexMcConnell
The reason that Rails is as popular as it is is because it’s very easy for relatively inexperienced developers to get a lot of work done....
588 19652 166
New
CharlesO
Erlang :list.nth simple, but 1 - based nth(1, [H|_]) -> H; nth(N, [_|T]) when N > 1 -> nth(N - 1, T). Elixir Enum.at … coo...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New
AstonJ
It’s been a while since we’ve had a thread like this, so what better way to kick off the year with :003: What does being an Elixir user ...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54120 245
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement