Navigating the Unconventional: How to introduce Erlang and Elixir

By Zoltan Literati, Business Unit Lead
We are exploring the realm of Erlang and Elixir programming languages, emphasising their importance on collaborative work and skill development.  These languages excel in rapid problem-solving, promote mentorship, facilitate code reviews, and foster continuous learning. Choosing the right tool is crucial for success.

Taking the road less travelled

When adopting Erlang and Elixir programming languages, it’s essential to start with a small, experienced core team and emphasize teamwork over individual heroics. Prototyping is recommended for design, as these languages are well-suited for rapid prototyping and easy issue identification. Building a self-sustaining team is crucial, with a focus on mentorship, code reviews, and long-term training. The key message is to use the right tool for the job, embrace growth, and seek support when adopting less common languages like Erlang and Elixir.

Building the core team

For the initial phase, assemble a small team of experienced experts who can help shape your plan and align stakeholders’ understanding. Enthusiasm and a grasp of the programming model are key. Your initial team should include those who understand the product life cycle and industry vertical. In smaller teams, these roles might overlap. It’s vital to foster a team spirit from the get-go instead of relying on a “hero culture.” While one star programmer can set the pace, they should never be left to go it alone; pair them with a finisher.

Design by prototyping

When it comes to design, prototyping is your friend. Erlang and Elixir are perfect for rapid prototyping. Applications practically build themselves, and changes in business logic are seamless. If your application crashes during development (which it probably will), pinpointing the issue is a breeze. Continuously optimize the prototype based on metrics and benchmarks. Remember, though, that your prototype is still a prototype. Politely push back any calls to ship it as a product. This is the stage to identify flaws and potential improvements. Don’t hesitate to rewrite parts of your application if needed; patching and hacking code can cost more in the long run. Once you’re satisfied with the prototype and ready to fully embrace the new language, it’s time to expand your team.

Build a self-sustaining team

Building a self-sustaining team is crucial. Create an environment that nurtures success and keeps the original team involved in mentoring new recruits. Not everyone needs to be an Erlang or Elixir expert, but they should be passionate about it and understand the right tool for the job. Learning Erlang and Elixir is relatively easy, but unlearning habits from other programming languages can be challenging. This is where mentorship and code reviews come in. Code reviews led by experienced developers should focus on quality, style, documentation, and overall system understanding. Invest in proper training and think long-term. Ensure your team understands the advantages of Erlang or Elixir and provides the right onboarding. Get involved in the community by attending conferences, organizing hackathons, and hosting meetups.

Closing words

In closing, popularity should never deter you from using the right tool for the job. When adopting a less common language like Erlang or Elixir, having an internal champion to build a core team around is crucial. Prototype early to learn and correct mistakes on a small scale. Expansion should involve talented software developers who grasp the concept of the right tool for the job. Foster a self-sustaining mindset within your team, and embrace growth as a continuous journey.  The Erlang Solutions team is ready to provide the assistance you need to foster your growth goals. You visit our page now to learn more and access our expert support.