3 ms·
Absolutely not. You get three "innovation tokens"[1] to spend on any startup and if you spend one of them on getting a team to learn Phoenix you're short-hande
by mikece 6y ago
Absolutely not. You get three "innovation tokens"[1] to spend on any startup and if you spend one of them on getting a team to learn Phoenix you're short-handed right out of the gate. Choosing boring technology allows you to focus on the business/problem domain you're trying to solve and allows you to find more qualified engineers to help you get there.
If we've learned anything from Facebook it's that you can start out with a pure LAMP stack and scale to billions of users with selective re-engineering later if there's a need to scale (Twitter proves something similar with Ruby on Rails; I'm sure there are "boring" Python examples as well).
[1] https://mcfunley.com/choose-boring-technology https://mcfunley.com/choose-boring-technology
- komon 6y agoDropbox or Instagram might be good python examples
- gervu 6y agoThat's certainly an argument to be made, but I think you've overlooked the part where Erlang predates Rails by about two decades.
- mikece 6y agoErlang does, but Elixir and Phoenix don't.
- gervu 6y agoElixir and Erlang both yield BEAM bytecode, which is what actually runs. There's zero difference other than a choice in interface design, which is why they're also completely interoperable. Phoenix is basically a feature wrapper around Cowboy which is written in Erlang and dates to 2011 when it reimplemented Webmachine which ran on Mochiweb which I am too lazy to dig up the actual start year for beyond "had quite an install base when Rails was in alpha." Again, potentially useful argument, but you're pointing it in a direction that doesn't make any sense if you actually understand how those work.
- KarimDaghari 6y agoOne thing I’d like to note is that node is becoming a more ubiquitous stack. Don’t you think?
- MRonErlang 6y agoThe tip says that you have to choose which is better for your team, which is very understood, no new technology, something which your team is almost senior. I work usually with people who has a lot of experience in Elixir and Erlang so, in my case, choose something like Python, Ruby or PHP is the wrong choice. You have always to check what is the knowledge of your team, the experience they have and then take a decision, but says "no" to a technology without checking the background of the team is a BIG mistake.