How to hire Elixir Developers? - interview with the IT recruiter, Mikołaj Musioł
It can be tough to find Elixir developers. They're a rare breed and love the language so much that they're often hard to pull away from their current projects. So, what to do, if you're looking to add Elixir development capabilities to your business?
If you are looking for someone with Elixir experience, it is worth getting good tips from an IT recruiter. How do you select candidates to get only the best of the best? How do we do it at Curiosum?
Mikołaj Musioł, an IT recruitment specialist, will tell us about it.
Software developer vs. other positions and industries - differences in recruitment
Software engineer recruitment - is it different? Before you started working in IT, you had experience recruiting in other industries. Is recruiting in IT different for you from recruiting for other sectors? And if so, why? What are your experiences?
Mikołaj Musioł: The difference in recruiting between the industries is noticeable here. I think when it comes to IT, it is generally a different industry, regardless of whether we are talking about marketing IT services, sales or IT recruitment. I used to recruit salespeople, other recruiters, and even blue-collar workers, which was all similar to me - but the IT business is completely different in this case.
Of course - these are mainly differences in salary, and there is no need to hide it. But also the approach to the stages of recruitment - we always try to recruit someone for a given position as soon as possible, while we are looking for a web developer, we have even more emphasis on it. Therefore, these recruitment processes have to be really short. In addition, we have a slightly inverted hierarchy here - software developer so often have to be obtained, and less frequently, he is looking for job offers and have to try hard. I am not saying this is bad; it just happened because of the shortages in the labour market. There are also other differences, but these are probably the two basic ones.
I have worked in recruitment for 4-5 years, while I have been directly related to IT for almost a year. And I must admit that the style and culture of this environment suit me, talking about my experience working in IT recruitment.
And what do you think, what are the reasons for these differences, that it is not the software engineer who fights for the company, but actually the company fights for the great talent? You already have experience in recruiting, for example, Senior Elixir Developers - what does it look like in their case?
M.M.: Indeed, such a model when we, as a company, "hunt" for developer appears quite often, certainly more often than in other industries. This is probably happening due to the initial deficit of people in the computer science industry when it was growing. We had a very high demand for programmers in the market; the need was greater than the supply. It is a particular industry that requires really appropriate qualifications and technical computer skills, and I think it also requires a specific character to be a good software engineer. As a result, the advantage has tilted to the employee market, where companies compete for suitable candidates. Despite the passage of time and the increase in employees in the IT market, it is difficult to change (e.g. because technologies also change and develop very quickly).
The second issue is how to recruit. In other sectors, it is much easier for us to find candidates who meet our expectations and have appropriate qualifications. This is because we, as recruiters, can mainly carry out most of the processes of checking these qualifications during interviews. In the case of a web developer, it is much more difficult for us - we cannot check the skills of programmers on our own, so often, these recruitment processes are usually extended in time (luckily, this does not happen in Curiosum).
The third thing, as I mentioned, is the nature of these people (developers) - it is built through years of experience. In IT, candidates create a professional experience from a very young age. They are sure of what they want to do in life, and they develop very quickly in this respect by participating in various meetups or conferences. They also work a lot on their own, exercising and searching for information. For these people, their skills will always be in the first place, and only then their adaptation to a specific business, to a particular team.
How to hire a qualified Elixir developer?
So, how to deal with it? How do you hire a skilled software engineer? How to approach such a recruitment process? What works for you, and what is essential in such recruitment for Curiosum? How do we approach this?
M.M.: As for our approach, I think our recruitment process is very well organized. It cannot be that we employ one software engineer in this way and the other in another way. The process must be structured so that subsequent people, hearing from someone what our recruitment looked like, will not be surprised that it looks completely different in their case. To be able to compare the candidates, we have to systematize this process.
It helped me a lot to establish specific stages with our management (with Michał and Szymon), so I can tell the candidate at a particular step: "Hey, during the next meeting, you will already talk to our CTO and CEO, which you had the opportunity to watch in our Elixir Meetups, interviews, maybe also at the ElixirConf conference. Additionally, you can check their blog posts, which will help you prepare for this conversation and ask about anything you want." For me, it is very important and helps build confidence that we are specialists in Elixir, but also in other technologies that we are talking about, in many respects. So it is constructive from a recruiting perspective.
On the other hand, what I appreciate about candidates (and I recommend potential candidates to try to develop themselves) is when they approach a recruiter as a normal person. You must remember that the recruiter is your direct source of knowledge about the company you want or do not want to work for. Like me, I want to learn as much as possible about the candidate, they can also ask questions about the company, the technological approach, the organization of work, the team responsible, the management model, etc. Thanks to this, both parties immediately know if we will fit in with the company, and there will be no disappointments or misunderstandings.
I found Elixir specialist!
You've been working for less than a year at Curiosum, and we must admit that our web development team has grown significantly during this time.
M.M.: As far as I remember, we hired 7-8 people in those few months, so the team has grown a lot, and we did not suspect we would be able to do it so quickly. I am most pleased that we have given a chance to a few juniors who are actually starting their career path thanks to us. I think it is a big plus because we invest a lot in these young people, who develop quickly and can support us quite quickly in projects for our clients.
Is it always the way from junior to senior? What are your experiences based on recruitment?
M.M.: I don't think it is as common and obvious as it may seem. For example, at Curiosum (and I suspect in other companies), when we hire people for the junior position, we want such a person to develop with us and become the best future developers. But it happens that we have contact with mid/regular and senior developers and talk to them to introduce them to new technology for them. Then we hire them as people interested in Elixir. Sometimes they are very advanced in other technologies (for example, they are experienced Ruby developers), so they quickly learn these new skills in Elixir.
Junior, Regular, Senior Elixir Developer jobs offers
So maybe let's start with who is the junior elixir developer we employ at Curiosum. Are these people just starting their path in commercial projects? And when is it that we hire someone for junior elixir developer, and when for mid? What is the difference?
M.M.: Most often, juniors in our company are people who are just starting their commercial careers. And I think it is similar in most software houses, especially in application & web development. However, it happens that these are people who worked for less than a year in some other technology and became interested in Elixir (or simply wanted to change their work environment) - these are also juniors for us. It isn't easy to draw a clear line between junior and mid because it also depends on the person's ability. Some people learn Elixir so well during the year that they are on a solid mid-level. And some people need much more time to acquire such skills.
So, we can see that this approach to recruiting is not that obvious. Someone may apply for a junior or regular elixir developer position, and then we verify it - can anything happen?
Of course, we do not have situations where a junior would apply for a senior (laughs). Still, the differences between a junior and a mid/regular elixir developer are sometimes less visible. Here, of course, we verify it, and it's nice how such people can check their skills during recruitment.
Applying for a job as a developer
There are probably situations when the candidate thinks, "well, I don't want to be a junior anymore, and I don't feel like being a regular software developer yet" - what then?
M.M.: It happens very often. However, I encourage all to try, because such a recruitment application does not oblige you to anything yet! Sometimes it happens that someone applies for a junior position and becomes a regular elixir developer, or some people become juniors, and after a few months, we can say that they managed to complete these skills for the regular software engineer position because they already have the right approach. At Curiosum, I think we create an excellent environment for development.
As far as I know, the candidates also receive really good feedback from you after the interviews. Thank to that, they know exactly what they can improve if they do not manage to get this dream position.
M.M.: Yes, I suggest in which area I recommend the development, and it is not that if we refuse someone once, we will not be able to meet again. Currently, I have contact with several ex-candidates with whom I know we will not do anything for the next few months. Still, we write to each other from time to time, and I know there will come a day when they will complete their knowledge, and I will invite them to recruitment again. And regardless of whether they will join us later or another company, it is also vital for us to build this community around the Elixir technology.
Not only job but also fit into the team
How do you manage to match these employees to our team culturally? Because, of course - on the one hand, we have a skillset, and it comes first. But have you ever recruited a person whose skillset was appropriate, but it turned out that it did not touch the cultural and organizational line?
M.M.: There were such candidates. However, it always turned out to be after all the recruitment stages. Why? I will not precisely verify this skill set, which is much more critical in assessing such a candidate. However, to reach the verification skills as a development stage, we first go through such cultural and organizational steps with characterological matching. It very rarely happens that I would "let" someone who does not fit our company in terms of work organization or communication methods go to this strictly technical stage. Or people who might not be entirely loyal as employees - it is also an essential aspect of the recruitment process for us and the opportunity to gain knowledge both ways is very important for us.
Responsible and curious developer - don't focus only on the benefits
Do you think hiring Elixir Developers differs from recruiting developers of other technologies? When it comes to software development, is the process similar for each technology?
M.M.: I think that, of course, Elixir is unusual :) I will probably not cite many details here but based on many conversations with various people, I believe that in the case of Elixir developers, this process differs from other technologies. For example, a large percentage of people switch to Elixir from other technologies - from Ruby or Erlang (languages that are Elixir's "parents"). These people are experienced and successful in other technologies, often in object-oriented languages, have heard about Elixir and are trying to switch to this functional language. Developers are positively surprised by its performance and possibilities.
Seniors from other technologies sometimes look like juniors with the Elixir technology because it baffles them. But, at the same time, they want to learn it and can even accept lower salaries or other requirements just to learn this language because entering this technology is challenging for them. And since our company already offers a range of various projects for which we recruit, we can also match the interests of candidates to these projects.
Our approach, development opportunities in Elixir technology and projects - this is definitely our plus. I don't know if I would be able to offer something like this to candidates by recruiting for software engineer positions from other languages.
So we can say that Elixir developers are such true enthusiasts?
M.M.: Yes, because usually, they have a strong interest in this language by themselves. It's not that the market has forced them because there are plenty of job offers in other technologies. However, they became interested in Elixir because of its advantages. After such a conversation, I even often say: "You know, I would like to understand all that you are 'fond of' in this language, but unfortunately, I do not know everything, but it's great to see such a passion!". Talking to passionate people is the most pleasant type of recruitment for me.
It is also very nice to talk to people who say that they already know us as a company. Incredibly, around 40% of the candidates I speak with (and these are people not only from Poland) say that they already associate Curiosum - from the blog, Elixir Meetup, our social media, and others. And what is most pleasing - they heard about us in discussions about Elixir in other companies! That shows that we are seen as one of the leaders in this technology. It is nice to hear candidates say, for example, "Hey, I saw your CEO / CTO at a meetup, and they really know their stuff." Here's a big round of applause for our marketing department as well, because the girls promote these monthly meetups.
It's nice to hear that! Thanks!
Then tell me, is it challenging to find seniors in Elixir in Poland, maybe in the world, and why? Finally, how do you assess whether the interest in this technology will grow?
M.M.: The upward trend is visible, and I am sure that the interest in Elixir at the senior level will undoubtedly continue to grow. The results of this year's StackOverflow survey show this upward trend. Still, before that, taking into account our recruitment processes, it was noticeable that we have more applications, questions, and interviews because people are simply increasingly interested in this technology. This can be seen even on Linkedin - more people in Elixir groups, more posts, and more countries are entering this technology. Elixir conferences are also developing - not only in Brazil, where Jose Valim, the creator of Elixir, comes from, not only in London or Poland, but we even have an Elixir conference in Kenya! So this upward trend is evident.
But I must say that I know many backend developers who, when asked if they know Elixir, ask me: "Elixir? I don't know this technology. What is it?". And it seems pretty surprising that we can see that it is the language most liked by developers (if they start working with it). Yet, it is still much less popular than other languages. So here is probably our significant role in promoting this language.
M.M.: I agree, and promoting more functional programming languages, such as Elixir (not only object-oriented technologies), is probably necessary. This is because functional languages are often overlooked in, for example, college education, which is regrettable. The general education in colleges and universities is mainly based on object-oriented languages, so functional languages such as Elixir and Haskell are still less popular.
Freelance elixir developer - Elixir jobs
What about the seniors you have had the opportunity to contact? What does it look like in their case? What made them interested in Elixir, after all? Were these people who rather switched to Elixir from a different technology, or on the contrary - are they people who are deeply embedded in Elixir from the very beginning?
M.M.: The group of Senior Elixir developers can be broadly divided into two groups. Some are switching to Elixir, already having senior experience in other technologies, such as Ruby. These people already know a part of Elixir and can appreciate its advantages, which is why they are open to development in this direction and specialize in it. The other part of people are people who did not even know Ruby before. Generally, they appreciate functional languages and thus highly enjoy Elixir, emphasizing its advantages, such as scalability. Both of these groups mention as the advantages of Elixir its transparency and ordering it all. Although Elixir is ten years old, and this is not so little, it still works like new technology, meaning - it changes dynamically and listens to the feedback of its users. Thus, products such as WhatsApp, built on this technology, achieve success.
However, when it comes to job offers, what is necessary for seniors is the transparency of recruitment processes (conditions, remuneration, organizational culture). For seniors, it is crucial to have a tangible impact on the development of projects and, thus, the company's growth. Therefore, the type of projects they would participate in after starting cooperation with us is also important.
Job offers at Curiosum - recruitment process
Well, if you could describe in steps - what does the recruitment of Elixir Developers in Curiosum look like?
M.M.: There are several ways to contact us - you can find us on Facebook, Linkedin (preferably directly to me), or via our website. We have job offers for several Elixir positions, depending on your experience. And of course, you can visit our blog and ask about the organization of work in Curiosum, our projects, etc.
However, if you apply for our job offer, I guarantee the answer will come to you within a few hours. If it is ok, we will immediately arrange an initial interview, during which I will just tell you more about the job and see if you fit the company based on organization & culture. Of course, I will describe some advantages of joining our team like working remote or other benefits.
If so, we move on to stage 2 - usually, it is an interview with Michał and Szymon, who check the skills. And after this stage, we already know if we want to cooperate with a given person, and we pass this information on to the candidate immediately. If it's positive, it's great - we sign a contract and move forward. If not - what I can promise to the candidates is that they will surely receive solid feedback. Sometimes I refer them to other companies; sometimes, I provide them with some sources to learn so that they can improve. And it does not mean they cannot return to us after supplementing their knowledge and skills with the necessary elements.
Very rarely, but there is one more stage when we recruit strictly for a given project, that such a candidate still has an interview with our client. Still, we try to make this element appear as rarely as possible because we know how to check a given programmer's skills so that it simply meets our expectations in a given project. If such an element should occur, I will always inform you about it at the very beginning.
Usually, these processes are very fast in our company - it takes only about a week from applying to getting a decision.
Check our job offers!
Is Curiosum currently only recruiting seniors? How would you convince potential candidates to apply?
M.M.: We are mainly looking for regular and Senior Elixir Developers, and we will always have a job for people with extensive experience, but also for people who are just getting into this technology. Suppose somebody is already advanced and has experience with Elixir. In that case, I can say that we will probably understand each other because, as Curiosum, we want Elixir to become a very popular technology in Poland and the world. And for this, we need people who are also intensely interested in it. So we create the right environment for you to be able to code in any project and use all your abilities. As I mentioned - Curiosum is one of the leaders in Elixir technology in Poland, so I think it is worth emphasizing.
Not only job - what are the other possibilities?
We can also encourage some people here that if they do not even think about changing jobs or are unsure whether they want to change the company they work for, they may just write to you on Linkedin, right? If they want to find out more, it does not have to be a CV and a web application right away; you are very open to such contact via Linkedin.
On the other hand, if you write to them to chat, they can relax, arrange a call, because even if they did not consider changing jobs, for us, it is essential not only to find a developer but also to... find out what developers expect or building contacts among people in the industry, correct?
M.M.: Yes, I'm glad you mentioned it. All information about the job offer is public. We have nothing to hide here, so if any questions arise, simply write to me. I will be happy to answer because it also helps me improve these job offers to include all important information there. And the second thing is, even when you are not interested in changing jobs, we can speak of guest posts on our blog or about having you appear at our meetups as a specialist; we can exchange experiences - so if I write to you, let's just chat, give me a chance ;)
So, visit our blog and YouTube, join Elixir Meetups to learn more about Elixir, and apply for Curiosum's job offers!
M.M.: Of course, I remind you that you can always write to me directly on Linkedin to find out more about our Elixir jobs, benefits, clients and even the time zone ;) Don't hesitate to ask me about anything related to the job offer.
FAQ
What are the Key Qualities to Look for in an Elixir Developer?
Look for knowledge of the Elixir language, experience with the Phoenix framework, understanding of functional programming principles, and familiarity with Erlang.
How Can You Assess an Elixir Developer's Expertise?
Evaluate their understanding of Elixir's concurrency model, ability to work with databases, proficiency in writing testable code, and previous project experiences.
What are the Best Practices for Hiring Elixir Developers?
Define your project requirements clearly, assess technical skills through coding tests, consider cultural fit, and check references.
Where Can You Find Elixir Developers?
Search on platforms like GitHub, Stack Overflow, Elixir forums, or specialized tech recruitment sites.
How Should You Prepare for Interviewing Elixir Developers?
Develop a set of technical questions related to Elixir and your project needs, and consider involving a current team member with Elixir expertise in the interview process.
What is the Average Salary for an Elixir Developer?
Salaries vary based on location, experience, and the complexity of the project. Research current market rates for the best estimate.
How Do Remote and Freelance Elixir Developer Rates Compare?
Freelance rates may be higher due to short-term contracts and additional taxes, while remote developers might offer more flexibility and cost-effectiveness depending on their location.