Experienced developers migrating to elixir - How make it a step up instead a restart

As a senior developer, I’ve already have a good salary and perks that come with time and experience. But I’m really looking forward to work with elixir, but how to justify keep the high salary of a senior developer if I never used elixir in real professional projects? I feel resistance and discredit of many potential employers when I say: “I never used it professionally, but I have studying and practice it a lot”

I’m pretty comfortable solving any practical test the companies could gave me, but I’m struggle even reach this stage, because I’m rejected earlier due to “no professional elixir experience”

I think open source contributions and personal projects are the way to go here, but to build a good portfolio would take time too, maybe at least 2 years of serious studying and practice. Maybe it is the cost? (:

How were your experiences? Did you have to give away something in order to start to build your elixir career? How did it feels? How are you now?

1 Like

At the company I work at (healthcare-related startup in the US), we’ve had success hiring experienced developers with knowledge of web application tooling in other languages and cross-training them. There’s not a huge supply of specifically Elixir devs, and a whole lot of the stack overlaps (SQL is still SQL, Javascript is still Javascript, etc).

Also consider looking for companies that use whatever tools you’re experienced with but are considering a migration to Elixir (you may find their devs checking out local Elixir meetups, for instance).

5 Likes

Controversial and potentially unethical advice follows.

For me the answer was straightforward – I never did admit to the first 1-2 companies where I worked with Elixir that I had no extensive professional experience with it; I used it at my jobs before my first Elixir job to rewrite several services and to gain confidence in my practical skills (and that was behind my manager’s back).

After that I just answered vaguely “yep, I used it a few times to great success when rewriting parts of a legacy Rails system, and I am looking forward to use it more” and boom, I had my first Elixir job.

People are skeptical about lack of previous professional experience in any area but the senior programmers know that after you gain a certain amount of practice you can then become good at anything in a very short time. Which is what I did with Elixir.

So again, some people might find this advice unethical but as the Americans say: “don’t hate the player, hate the game”. Which means: after I found out what didn’t work and what worked I was able to bluff my way to Elixir jobs and do a pretty awesome job there.

Put your foot at the door by any means necessary. Then prove yourself. As long as you’re not scamming people and are actually pulling your weight and bring value to your employer / customer then both sides have won.

10 Likes

I’m a freelancer, and got my first paid Elixir gig through a consulting shop I often work through. I’d made quite a bit of noise about my enthusiasm for Elixir with them, and even organized a meetup in my city. So when there was a sudden need for an experienced developer to work in a client project, I was asked to help out. I was able to hit the ground running, no trouble, and charging my usual rate.

I suggest looking into networking as a way to help out with migration to professional elixir work. Attend (or organize) meetups, maybe give a talk or two, get to know other Elixir enthusiasts in the area. That way, when their company needs new developers, it’s very likely they’ll give you a call.

As for why they should pay you the senior developer rates even though you haven’t worked professionally with Elixir before? Elixir is only one part of the tech stack. Let’s take a web development project that is working with Elixir, Phoenix, PostgreSQL, Docker, Nginx, JavaScript ecosystem and so on. Of course, they also use ubiquitous technologies that are usually not even mentioned when looking for developers: HTTP, TCP/IP, DNS, HTML, CSS and so on. Odds are, if you’ve been working with web development before, you already have experience with a lot of that.

In addition, you have experience in aspects of work that are as important as programming skill itself, such as the ability to communicate clearly, clarify requirements, and confidence to push back and suggest alternatives when you can think of a better way. All this experience, both technological and “soft skills”, is worth a lot in terms of development speed and quality, and is therefore a good reason to pay you well. Lacking professional experience in some parts of the stack is not that important, especially when you have the personal enthusiasm to study and practice just those parts on your own. As developers, we have to learn new technologies for new projects all the time anyway.

For interviews, I believe it’s important to internalize the way of thinking I outlined above, and not sell yourself short. It’s easier to convince others of your value if you’re convinced of it yourself.

6 Likes

XD
“fake it 'til you make it”
I think it’s ethical for competent devs to embellish their professional experience during interviews.

As @jukvalim said, the value of a senior developer is FAR beyond just [not] knowing a single piece in the tech stack. So it’s not even “fake it till you make it” IMO. :slight_smile:

More like “don’t mention a few details and just do a good job as you always do”?

3 Likes

I don’t think it would take that long.

I know when I learned Rails with no prior Ruby experience, it took about 3 months of hardcore self guided research while building a real world project that I wanted to work on for myself. By the end of it, I had enough experience to get a bunch of freelance work and I felt confident in being able to solve any of the problems those gigs had. Even new challenges I’ve never implemented yet in Rails.

It’s taken me much longer than 3 months to learn Elixir / Phoenix and I still feel utterly helpless in some aspects of the language but I don’t think you’ll be locked into not being able to do any paid work for 2 years. Everyone has their own pace of course, but maybe something like 6 months seems viable if you stuck with it day in and day out.

1 Like

I think I got lucky :smiley:
I was hired in a company to re-implement their core system. At the time I was researching Go and Elixir, before going there. This company was about online advertisement (banners and such).
I spent a month or two on R&D, including Go and Elixir.
Finally, we settled down on Elixir, due to being able to handle concurrent large number of connections ,with small data transfer in each, more easily. Also it provided better soft real-time guarantees.

7 Likes