nhoban

nhoban

I’ve recently had a client query our use of Phoenix over other web frameworks. They indicated their investors/mentors had never heard of it and were concerned it wasn’t that popular among devs.

I’m guessing this is mainly a risk mitigation concern and that should they want to find another dev to replace us for any reason, they want to be able to with ease.

I’m just curious how you approach discussions like these with potential clients? Do you have any good resources you turn to that help you convince the client that Phoenix is the better choice over other web frameworks?

We’ve provided something like the following explanation to the client, but would love to hear any thoughts you may have if you’ve had dealing with this/similar scenarios.

Phoenix was created in 2014 (built on top of Elixir, which is the language) and is kind of like a lightweight version of Ruby on Rails. It was recently voted the most loved web framework by developers.

Stack Overflow Developer Survey 2022

Many notable organisations are using Elixir and/or Phoenix, including Apple, Financial Times, Bleacher Report etc.. Some benefits of Phoenix are:

  • Easy to learn and quick to scale
  • Enables you to go from prototype to production in no time
  • Incredibly fast
  • Concurrency - can handle lots of simultaneous connections extremely efficiently

It’s better than Java because it allows you to avoid having to use a client side framework like React or Vue. This is thanks to a technology called LiveView, which allows you to write client side behaviour in backend code. The end result is a web application that feels fast like a React app, but doesn’t require the overhead of creating and maintaining separate backend and front end apps.

While not as many developers know it, it is quite easy for other developers to pick up. A ruby or PHP developer should have no problems picking it up in a couple of weeks."

Showing Posts 1 to 10

joey_the_snake

joey_the_snake

I <3 Phoenix but I think this is a bit misleading. It has the best ratio of like:not-like votes but the total number of votes is quite small compared to the more popular frameworks.

mindok

mindok

I think your response looks good. I’d add a couple more points:

  1. that it makes modern, real-time features pretty straightforward to add, and give them some examples of what that means to them as a business.
  2. it just runs… fault tolerance due to the backing of the BEAM significantly improves reliability
  3. while developers may have to learn Elixir / Phoenix, they won’t need to learn a bunch of other stuff like external background job managers, redis, latest JS front-end framework, etc as all these things are baked in (@sasajuric’s great talk, Soul of Erlang, (Youtube) tabulates these at the end)
  4. related to the above - it’s operationally very simple to deploy - reduces DevOps costs and skill base required

It is then up to them to weigh up risks and benefits in their context, and I think it’s totally fair if the concerns related to developer availability outweigh the benefits for them - tech isn’t one size fits all. I don’t think you will find a shortage of other clients willing to go with Elixir/Phoenix.

adamu

adamu

I don’t want to second-guess, but this kind of question feels to me like they don’t really want to be convinced, but really want you to say “OK we will use Rails/Spring”. If there’s more than a little bit of push-back, it’s probably not worth the effort.

LostKobrakai

LostKobrakai

If non-technical people are concerned about your choice of technology it means they’re worried about painting themselves in a corner. Approaching that would involve figuring out which corner it is they’re worried about and then addressing those worries. I don’t think they want to be convinced about one technology over the other, but they seek ensurance of making a good choice. In the end they’re likely not in the position of properly evaluating the brought up arguments anyways.

15
Post #4
dimitarvp

dimitarvp

I am with @LostKobrakai and @adamu here: pick your battles wisely.

I’ve successfully advocated for Elixir 4 times in the last 6.5 years and the companies told me later they were very happy with their choice. Another 7 opted for something else.

Technical merits don’t matter to managers / business owners; they see technical complexities as your responsibility. They are mostly just managing risk. To them picking a stack with smaller hiring pool is a no-brainer case of high risk.

Whether that means they treat their employees like cattle that can and should be replaced at their whim – I’ll leave that evaluation to you. In my experience this was not always the case but to those people “just treat your people well and they won’t leave, duh!” is somehow not common sense. Then again, people leaving so they can focus on kids or side hobbies is a thing as well so I can understand their point of view somewhat.


If you end up trying to advocate for Elixir, emphasize on the fact that there is a number of companies that chose Elixir without having a single Elixir dev in their team, and still succeeded.

This impresses non-technical people.

derek-zhou

derek-zhou

I dunno, but if the investor or mentor actually try to have a say in which web framework to use, that feel very micro management to me.I don’t want to be this company’s tech leader.

dimitarvp

dimitarvp

Yep. It’s none of their business, 98% of the time. You want a problem solved? Cool, I’ll solve it for $X thousand. Let’s go.

I don’t tell my plumber whether to use $0.05 tape or $1.20 one. I want a job well done. If that means I pay a few bucks more I am OK with that.

But then again, they are trying to cover their arse in case you turn out to be irresponsible. They want to be able to call the next guy with minimum friction after, if need be. I understand their plight but they definitely can approach the problem in a more respectful and professional manner compared to what they usually do.

LostKobrakai

LostKobrakai

Yeah that’s what it sounds like. I don’t think details are what matters, but they hear Tech A all the time, so they’re cautious if they hear Tech B for the first time. If all plumbers you’ve seen bring a wrench I’d also wonder if the next one doesn’t bring one.

derek-zhou

derek-zhou

The OP mentioned investor and mentor, not founder, CTO or CEO. Using your plumber example, the property investor hired a property manager who in turn hired the plumber. In the most likely event, the investor don’t ever see the plumber. You got to have some trust on the manager you hired, or why bother.

dimitarvp

dimitarvp

Story of all modern IT economy, seriously. You summed it up flawlessly.

Trust is more and more rare to come by these days.

Sadly it’s a mutually feeding phenomena. I had a few contracts where I was treated rather badly and that just made me turn into a guy who shows up to get his salary, do the minimum / recommended amount of work, and then check out. I am not proud of it but employee motivation should be taken more seriously. You cannot be 100% self-motivated; if you go on that end of the spectrum you’re not an employee anymore and you should just pursue your own business ideas.

Thank you for the correction, I got a bit carried away. In this case it’s definitely none of their business what tech stack is being chosen. Or, they just choose fancy terms and they are not actually investor / mentor. In reality they are something much closer to a direct engineering supervisor.

Where Next? Top

Trending in Questions Top

katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
achenet
Hello, I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind. However, when I launch mix phx.server, I get an error...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
Cxx-mlr
I’m working on a small exercise involving update_in/3, and I came up with this solution: data = %{ name: "Periodic Table", category:...
New
ChrisAmelia
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication): toke...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
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
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews