Job Openings Erland and Elixir Engineer

About the job Erland and Elixir Engineer

Job Title: Erland and Elixir Engineer

Experience: 3 to 5 Years

Time Zone: IST Time

Job Type: Remote

Work Location: -

Domain: -



Job Overview:

We are seeking a skilled and experienced Erland and Elixir Engineer with at least 5 years of hands-on experience in developing and maintaining scalable and robust applications using Erlang and Elixir. As an Erland and Elixir Engineer, you will be responsible for designing and implementing high-performance, fault-tolerant, and distributed systems that power our platform. You will work closely with cross-functional teams to deliver innovative solutions and contribute to the continuous improvement of our software architecture.

Responsibilities:

  1. Software Development: Design, code, test, and maintain high-quality software applications using Erlang and Elixir programming languages. Collaborate with the development team to implement new features and functionality.
  2. Distributed Systems: Build distributed and fault-tolerant systems that can handle high concurrency and ensure smooth operations even under heavy loads. Employ the actor model and other Erlang/Elixir concurrency mechanisms effectively.
  3. Performance Optimization: Identify performance bottlenecks in the system and implement optimizations to improve response times and resource utilization. Monitor system performance and fine-tune as necessary.
  4. Code Review and Quality Assurance: Conduct code reviews to ensure adherence to coding standards, best practices, and design patterns. Participate in and contribute to the improvement of the software development process.
  5. System Architecture: Collaborate with architects and senior engineers to design scalable and maintainable software architectures. Contribute to the overall system design and suggest improvements based on emerging technologies and trends.
  6. Troubleshooting and Debugging: Investigate and resolve technical issues, including defects and system failures. Apply advanced debugging techniques to identify root causes and implement effective solutions.
  7. Testing and Automation: Develop and maintain unit tests, integration tests, and automated test suites. Ensure high test coverage to validate the correctness and stability of the software.
  8. Documentation: Create and maintain technical documentation, including design specifications, API documentation, and system diagrams. Foster a knowledge-sharing culture within the team.
  9. Collaboration: Collaborate with product managers, designers, and other stakeholders to understand requirements and translate them into technical solutions. Participate in Agile development processes and scrum meetings.
  10. Continuous Learning: Stay up-to-date with the latest trends, tools, and technologies in the Erlang and Elixir ecosystem. Share your knowledge with the team and actively contribute to technical discussions.

Requirements:

  • Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
  • Minimum 5 years of hands-on experience in software development using Erlang and Elixir.
  • Strong understanding of functional programming concepts and concurrent programming in Erlang/Elixir.
  • Experience with OTP (Open Telecom Platform) and OTP design principles.
  • Proficiency in writing efficient, fault-tolerant, and scalable code in Erlang and Elixir.
  • Solid understanding of distributed systems and microservices architecture.
  • Familiarity with web application development and frameworks (e.g., Phoenix).
  • Experience with version control systems (e.g., Git) and code collaboration platforms (e.g., GitHub).
  • Strong problem-solving skills and the ability to debug complex issues effectively.
  • Excellent communication and teamwork skills to collaborate with a diverse set of stakeholders.
  • Self-motivated and proactive with a passion for learning and continuous improvement.