What Is Erlang?
Erlang was initially designed with the purpose of supporting and building telephony technologies — that is, platforms that handle complicated systems that required continuous usage, high volumes of consumers, and concurrency. That’s why so many phone companies, such as T-Mobile, have embraced the language.
A general-purpose, open-source language, Erlang has a number of benefits, including the fact that it can be used for a long period without interruption. Other advantages include:
- Easy integration
- Built-in support
- Declarative syntax
- Memory management
Today, Erlang is used for messaging and chatting, banking, eCommerce, and blockchain, along with telecommunications projects.
How Difficult Is It to Find a Skilled Erlang Developer?
While Erlang isn’t that difficult for a seasoned developer to learn, the language isn’t widely used. Unless you operate in a major tech capital like San Francisco, you’ll probably have some difficulty finding a developer specializing in the language who will work on-site. But there’s a considerable number of Erlang developers working remotely around the world.
What to Look for in an Erlang Developer
Even though the programming language isn’t one of the most popular, there are many instances where Erlang is the ideal choice, particularly if you’re working on communications and related platforms and services. If you are in the market for an Erlang developer, there are some qualities to be on the lookout for.
Of course, experience using the language is the number 1 priority. Given how small the number of Erlang developers, they are expected to be well-versed in the language and its intricacies. These specialists should also have a background in building communications and messaging platforms. Knowledge of related languages, such as Elixir, will also come in handy, as will an ability to leverage the tools associated with these languages:
A passion for the language and willingness to work with other developers are also essential soft skills for an Erlang developer.
What separates Erlang from other languages?
Erlang’s ability to change code without disruption — or “hot-swapping” — is one of its chief qualities. It’s also known for concurrency or handling multiple processes simultaneously. Processes exchange messages to communicate with one another.
Other notable characteristics of the language are reliability, scalability, fault tolerance, and user-friendliness.
For which types of projects should you use Erlang?
Erlang was originally built to support messaging systems that need to handle high loads of concurrent exchanges. This persists today, with Erlang having applications beyond telecommunications systems: chat platforms like WhatsApp, eCommerce stores, FinTech solutions, and banking tools, and blockchain, to name just a few.
Erlang is also useful for building web apps, although its cousin, Elixir, may be a better choice.
What tools do Erlang developers use?
There are many tools an Erlang developer should have in their repertoire. For example, there are several tools intended for working within a shell, such as user_default and ~/.erlang. Testing tools include QuickCheck and Proper, among others, and debugging platforms such as rebug are used for debugging purposes. These are just some of the ways to support development with Erlang.
Ejabberd, an open-source, XMPP server, is written in Erlang, and in collaboration with the language, it’s ideal for creating messaging platforms and chat apps.
What frameworks are available for Erlang?
There are many frameworks that facilitate quicker and easier development with Erlang. OTP is the chief resource an Erlang developer should use. Web frameworks include ChicagoBoss, Nitrogen, Zotonic, and N20, along with the micro-framework Axiom. Erlang Web is a former web framework, but it’s no longer in use today.
What is Elixir?
Elixir is built on top of Erlang as another general-purpose programming language that shares many of the same qualities and applications. Concurrency, scalability, easy maintenance, high performance, and user-friendliness are some of the advantages the 2 languages share. Elixir also uses the Erlang virtual machine and is capable of creating fault-tolerant applications, like its cousin language.
When should you use Erlang vs. Elixir or vice versa?
Although both languages support development of this nature, Elixir is often the better choice when you’re looking to build scalable platforms and web apps. It’s also a good choice if you have a highly skilled team and need ultra-quick development. Meanwhile, it’s probably better to go with Erlang if you’re building products in the FinTech or communications space and don’t have a huge budget at your disposal.
We are looking for an experienced software developer specializing in Erlang to spearhead projects focused on telecom and related services. In addition to building applications and platforms from scratch, you will also be tasked with scaling our existing software.
- Design and build software using Erlang and other languages and tools based on client requirements
- Debug products
- Communicate with team members and stakeholders
- Assist with scaling existing systems
Skills And Qualifications
- At least 5 years of experience using Erlang
- Extensive knowledge and experience with the Erlang ecosystem, including frameworks, libraries, and other tools
- Experience developing telecoms platforms
- Knowledge of additional programming languages, including Java, C, Clojure, Scala, and Elixir
- Ability to work with a team in a fast-paced environment
- Bachelor’s degree in computer science or a related field