Senior Embedded Linux Engineer (Firmware)

Оплата: По договоренности
Удаленно
Full-time
Part-time

As a Senior Firmware Engineer, you'll play a crucial role in advancing our firmware capabilities across multiple hardware components and systems. This position offers the flexibility of remote work or in-person collaboration at our offices in Lithuania (Vilnius) or Poland (Warsaw, Wroclaw).


Key Responsibilities

- Design, implement, and test software changes to our VOS1 and VOS2 platforms, ensuring optimal performance and reliability.

- Develop and maintain Linux device drivers for various hardware components including display controllers, touch interfaces, and wireless modules.

- Architect efficient power management solutions for battery-powered embedded systems.

- Create comprehensive automated test suites for quality assurance in our dedicated test lab.

- Optimize firmware for improved performance, reduced power consumption, and enhanced reliability.

- Collaborate with hardware engineers to solve integration challenges and implement hardware abstractions.

- Maintain detailed technical documentation for all firmware components and interfaces.

- Troubleshoot complex system issues spanning both hardware and software domains.

- Contribute to continuous improvement of development processes and tooling.


Required Skills

- Bachelor's degree or higher in Computer Science, Electrical Engineering, or related technical field.

- 5+ years of experience in firmware development for embedded systems.

- Expert-level proficiency in C programming, with strong C++ skills (up to C++17/20).

- In-depth knowledge of embedded Linux systems and kernel development (Linux 5.x).

- Demonstrated experience with Linux driver development and hardware abstraction layers.

- Practical experience integrating and developing drivers for displays, touch controllers, and wireless components (BT/WiFi).

- Strong background in power management optimization for battery-powered devices.

- Familiarity with hardware interfaces such as SPI, I2C, UART, and GPIO.

- Experience with embedded debugging tools (GDB, JTAG, logic analyzers).

- Proficiency with version control systems, particularly Git.