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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Documentation: Create and maintain technical documentation, including design specifications, API documentation, and system diagrams. Foster a knowledge-sharing culture within the team.
- 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.
- 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.