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.

venkatd

venkatd

I would also first take the time to understand what they value at your company. This is important because you may be selling an aspect of Elixir that they don’t care about.

For example, with our startup, we do not need a high availability system. A few minutes of downtime per day is not a big deal.

What drew us to Elixir was how it excels at taming complexity, maintainable data processing pipelines, and the tooling around it such as Livebook.

If you understand why they chose the current tech stack, you might understand what the technical leadership values at the company.

Then you can tailor the presentation to highlight those points.

dimitarvp

dimitarvp

Too tired and busy to do my usual (from years ago) advocacy but one central point that really should be driven home one way or another is that Elixir is perfect for long-running servers where reliability is the absolute primary priority.

Where Next?

Popular in Discussions Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
f0rest8
Hi everyone :waving_hand: Posting here to showcase and announce that Metamorphic is now officially live on a public-facing domain at htt...
New
AstonJ
A recent chat with @leifericf inspired this thread - he’s worked in the gaming industry, and so it got me wondering what kind of industri...
New
AstonJ
Have you changed the way you learn? Maybe you started off using docs and tutorials and are now an avid book reader or course watcher? Or ...
New
AstonJ
@Garrison’s comment in another thread reminded me of this post by Joe: With the big five exerting more control than ever, new (AI) play...
New
marciol
Thinking about how Contexts on Phoenix 1.3 are beautiful in the simplicity, elegance and minimalism, coalesced in the smallest unity of E...
New
jonator
FLAME is basically the dream for running AI agents that need system command access such as coding agents. However, I have concerns about ...
New
wanton7
Our company has used virtual actor framework called Orleans that is for C#/.Net Framework. There are clones of it in Erlang GitHub - erle...
New
travisf
In upgrading from Ecto 2 to Ecto 3 I’m dealing with a failing test. If I use ExMachina build(:address) I’ll get an error trying to put_e...
New
isaacsanders
When I try to run my applications and I haven’t updated the dependencies, the output tells me to run mix deps.get. Why doesn’t the binar...
New

Other popular topics Top

yurko
Here are few pieces of (common) Linux knowledge that we use for reasonably small one server apps. We use Ubuntu but this should work for ...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

We're in Beta

About us Mission Statement