Senior Embedded Software Engineer
We are seeking a highly skilled and experienced Senior Embedded Software Engineer with expertise in Linux. In this role, you will design, develop, and maintain embedded software systems tailored for communication. You will collaborate with cross-functional teams to deliver high-performance, reliable, and efficient solutions for embedded systems.
Key Responsibilities:
* Lead the design, development, and maintenance of embedded Linux software systems for modems.
* Develop software components, protocols, and algorithms in compliance with industry standards and performance requirements.
* Optimise performance and memory usage for resource-constrained embedded devices.
* Work with firmware and hardware engineers to define software requirements and system architecture.
* Design, develop, and debug C++ code for embedded applications, ensuring quality and reliability.
* Create Linux kernel drivers and low-level software components for hardware interfaces and peripherals.
* Utilize tools like Jira for task management and Git for version control, ensuring efficient collaboration.
* Conduct thorough testing, debugging, and validation to identify and resolve defects.
* Participate in code reviews and design discussions to uphold best practices.
* Stay updated with advancements in embedded software development and Linux kernel technologies.
* Prepare and maintain technical documentation, including design specifications and user manuals.
* Contribute to process improvements and team discussions.
* Apply knowledge of IP networking protocols, routing, and related infrastructure, including PPP, DNS, DHCP, NAT, and iptables.
Qualifications:
* Proven experience as a Software Engineer in a similar role.
* Strong ability to manage and complete complex development tasks independently.
* Demonstrated creativity and innovation in problem-solving and design.