We are seeking a talented Erlang Developer to join our dynamic and innovative team. As an Erlang Developer, you will play a key role in designing, developing, and maintaining our Erlang-based applications and systems. You will have the opportunity to work on challenging projects that require expertise in Erlang/OTP and concurrent programming.
Key Responsibilities:
Design and Development : Collaborate with the development team to design, implement, and maintain Erlang applications and systems with a primary focus on Ejabberd. Ejabberd Customization : Customize and extend Ejabberd functionalities to meet specific project requirements. Real-time Communication : Building and optimizing real-time communication systems, ensuring low-latency and high-performance messaging services. Code Optimization : Identify and implement performance optimizations to ensure the efficient operation of Erlang-based software. Concurrency : Utilize Erlang/OTP to build highly concurrent and fault-tolerant systems. Troubleshooting : Debug and resolve issues in Erlang code, ensuring the reliability and stability of applications. Testing : Develop and execute unit tests and integration tests to verify the correctness of Erlang code. Documentation : Create and maintain comprehensive documentation for Erlang-based projects, including design documents and code comments. Collaboration : Collaborate with cross-functional teams, including front-end developers, DevOps engineers, and product managers, to deliver high-quality software solutions. Performance Monitoring : Implement monitoring and alerting systems to proactively identify and address performance bottlenecks and issues. Code Reviews : Participate in code reviews to maintain code quality and promote best practices.
Security : Implement and maintain security best practices to protect sensitive data and ensure compliance with data privacy regulations.
Qualifications :
Bachelor s degree in computer science, Software Engineering, or a related field (or equivalent work experience).
Proven experience as an Erlang Developer or similar role with a focus on Ejabberd.
Strong knowledge of Erlang/OTP and functional programming concepts.
Proficiency in concurrent programming and distributed systems.
Familiarity with message-passing architectures and message queues.
Experience with Erlang tools and libraries such as OTP, Elixir, and Rebar.
Knowledge of Linux/Unix operating systems.
Understanding of database systems, NoSQL databases (Realm) and SQL databases (Postgres ).
Excellent problem-solving skills and the ability to work independently and in a team.
Strong communication skills and the ability to collaborate effectively with cross-functional teams.
Nice-to-Have:
Experience with web & mobile XMPP clients like Smack, XMPP
Framework and Converse JS.
Familiarity with cloud computing platforms (e.g., AWS, Azure, Google Cloud).
Knowledge of containerization and orchestration tools (e.g., Docker, Kubernetes).
Previous experience in real-time communication systems.