5 ms·
I second this. I would say that I am pretty advanced with Python (and Django) and same with JavaScript (Vue and Nuxt) and have written applications that got use
by davehcker 4y ago
I second this. I would say that I am pretty advanced with Python (and Django) and same with JavaScript (Vue and Nuxt) and have written applications that got used by multiple users. I saw a sharp rise in my productivity when I knew enough about the frameworks. But Elixir + PhoenixLiveView + Tailwind has been life changing.
I learned Elixir for the sake of the joy of learning a new programming language and I kept playing with it for few random days over 5-6 months. Finally, I took the leap of faith and for our startup I started the switch to Elixir + LiveView with minimal JavaScript hooks and I feel a weird bliss that we are two engineer FTEs and I can add features on a daily basis. Why that's the case, I still haven't ruminated myself, but my guess is 1. I have gotten older, 2. Elixir is beautiful and productive by design-- pattern matching, everything is a process (so the dimensionality of time is not an issue at all) and the code is kind of a right balance of simplicity and complexity, and in my opinionated view, there is "one" right way of doing things. 3. Standard tooling (mix, ExUnit). They have enabled us to write really maintainable code and for our next hires, we are willing to pay for them to learn Elixir than switching to other languages. Of course this is only for true for our web app which is actually a weird beast that interfaces farms, sensors, algorithms, and humans.
- kodah 4y agoAwesome experience write up. Question for you and OP, do you find that using languages like Elixir makes it so you have to look for a certain kind of dev given that Elixir is a pretty niche community or are folks with no experience able to adapt with relative ease?
- davehcker 4y agoI didn't want to confess, but yes you're right. Elixir (or the willingness to learn Elixir) is a great filter for me to find the right people. Again, this is my purely subjective opinion and might as well be true for other languages as well.
- nelsonic 4y agoNot one of the OPs but can happily echo their experience/praise for PETAL and think I can answer your dev search question: Anyone with a can-do attitude can learn Elixir. People with a “no thank you, I already know XYZ” mindset you really don’t want on your team. Almost 20 years ago @pg wrote the “Python Paradox” post: www.paulgraham.com/pypar.html The same holds true for Elixir (and Rust) these days. The people you want to hire are those who learn new skills/languages proactively. However I can confidently say, from experience of having hired several Python devs/data scientists with zero Elixir experience, that smart+motivated people can learn Elixir in a couple of days and be productive within a week. See: https://www.verytechnology.com/iot-insights/elixir-for-pythonistas https://www.verytechnology.com/iot-insights/elixir-for-pytho...
- _ktx2 4y agoThat nailed what I wanted to know. Thanks!
- john_the_writer 4y agoI'd argue the other way. Yes anyone with a can-do can learn Elixir. But there's a difference between learn and LEARN.. I work with a pile of rails devs writing code in elixir. In that I mean you can feel the rails in their code. It "tastes" like rails. A few python devs also write python with elixir syntax. Finding people who know the language is hard. Finding people who are willing to risk their time on the language is also hard. By risk. If I spend 2 years writing Elixir and then go looking for a job I'm looking at getting a job with a language that's not popular. So my pool of place that will even look at me is smaller. Hiring managers/gate keepers might not see.. After 12 years of c++ I got a job where I needed to code in Delphi-Script for a year. When I told recruiters what I'd been doing I got "Oh.... Okay um... We'll call you." I switched to rails for 6 months (same job) and recruiters were calling me non-stop. Working in low popularity langs limits my options. (even if they are great langs) I'd say picking a language that's not yet popular limits your pool not just to the can-do's, but also to the can get my next job with this on my CV.
- pcthrowaway 4y ago
- nyxcharon 4y agoI'll more or less echo what nelsonic said. No one where I work has come in with Elixir experience. We look for people that are motivated to learn. Elixir has been one of the easier languages in my career to learn, and I think others that I work with would agree with that.
- Dowwie 4y agoThe degree of difficulty with learning Elixir/OTP depends on what one needs to learn. Phoenix web development has its own domain of learning requirements where as other domains have theirs. Learning Elixir is one thing but learning OTP, and then learning how to make sound decisions about design/architecture, is far more demanding of effort and time. "How do others solve this?" leading to github search tends to fall far short of what one would find with other language ecosystems.
- eddsh1994 4y agoMoving from Python/JS -> Elixir at a startup seems very high risk, have the rewards been worth it? I can imagine issues with hiring, unknown unknowns, and less libraries/support in general.
- davehcker 4y agoI know-- I was scared like hell. But after the first week and multiple staging releases in less than 10 days, I was on top of it. Yes, hiring is real challenge and am facing it already. However, if I, even as a startup, reach the salary threshold, then hiring is not a problem. I'd say I've yet not found a case where I couldn't find a library for my use case.
- innocentoldguy 4y agoThe start-up I work for uses Phoenix and Elixir. I've been there around two years now and we haven't experienced any issues with hiring or finding skilled people. If anything, I'd point to Elixir as being one of the major factors of our success. We are a remote company, so things may not be as easy, depending on your location, if your company demands people be in the office.