We are looking for a talented Software Engineer with expertise in using Elixir and familiarity with Radio Frequency (RF) systems to join our team. The ideal candidate will be passionate about cutting-edge technologies, with the ability to integrate software development and RF hardware to create robust solutions.
Key Responsibilities:
- Elixir Development: Design, implement, and maintain highly concurrent, distributed applications using Elixir, ensuring scalable and reliable solutions.
- RF System Integration: Collaborate with cross-functional teams to integrate RF components and systems into software solutions, optimising for performance and accuracy.
- Software Architecture: Contribute to the architecture and design of software solutions, ensuring they meet both functional and performance requirements.
- Collaborative Development: Work closely with hardware engineers, product managers, and other software developers to define project scope, technical specifications, and timelines.
- Troubleshooting and Debugging: Identify, analyse, and resolve issues related to software performance, RF integration, and system reliability.
- Testing & Quality Assurance: Develop and implement unit tests, integration tests, and ensure overall code quality and robustness.
- Documentation: Maintain clear and comprehensive documentation of code, RF configurations, and integration processes.
- Research & Innovation: Stay updated with the latest advancements in both Elixir development and RF technologies, and bring fresh ideas to improve system performance and reliability.
Required Skills & Experience:
- Proven experience with Elixir in building scalable, fault-tolerant, and concurrent applications.
- Solid understanding of Radio Frequency (RF) systems, including RF signal processing, transmission, and troubleshooting.
- Experience working with embedded systems, wireless communication protocols, or network systems is a plus.
- Strong knowledge of distributed systems and microservices architecture.
- Proficiency in using Elixir's ecosystem (e.g., Phoenix framework, GenServer, Nerves for IoT, etc.).
- Understanding of networking protocols and communication systems (e.g., TCP/IP, UDP, MQTT, etc.).
- Hands-on experience with signal analysis tools (e.g., spectrum analysers, oscilloscopes) and RF testing.
- Familiarity with Git, continuous integration, and deployment pipelines.
- Strong analytical and problem-solving skills with the ability to work under pressure and tight deadlines.
Preferred Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Experience with other functional programming languages (e.g., Erlang) or real-time operating systems.
- Knowledge of IoT technologies and wireless communication standards (e.g., LTE, 5G, Wi-Fi).
- Familiarity with cloud technologies (AWS, Azure, Google Cloud) and microservices deployment.
- Experience with Agile/Scrum methodologies.
Personal Attributes:
- Strong communication skills, both written and verbal.
- A proactive and self-driven attitude with a strong desire to innovate and improve.
- Ability to collaborate effectively in a team-oriented environment.
- Passion for continuous learning and staying ahead of technological trends.