Arduino's mission is to enable people to enhance their lives through accessible open-source electronics and digital technologies. Since 2005, millions of people, from kids and students to engineers and professionals around the world are using Arduino to innovate in the fields of music, games and toys, smart homes, farming, autonomous vehicles and many more.
To support our growth, we are looking for a Senior Embedded Linux Developer to join our Hardware & Firmware team. You will be instrumental in designing, developing, and maintaining the Linux-based software stack for our embedded devices. You will design, develop and test Linux components (for example, hardware drivers) to be used in microprocessor-based hardware boards developed by Arduino. You will work across the entire product lifecycle, from initial concept and architecture definition to deployment and ongoing support, ensuring our products are robust, performant, and secure.
A young and inspiring work environment that encourages diversity and cultural exchange.
Individual growth objectives with a dedicated budget for learning/training.
Flexible working hours and working locations, we value work-life balance!
Seasonal celebrations, happy hours and everyday drinks and snacks at the office.
Design, develop, and optimize Linux kernel modules, device drivers, and user-space applications for embedded hardware.
Develop and maintain Board Support Packages (BSPs) for new and existing hardware platforms, including bootloaders, kernel configuration, device tree, and file system integration
Collaborate closely with hardware engineers to bring up new boards, debug hardware-software interactions, and ensure seamless integration.
Analyze and optimize system performance, memory usage, and power consumption for embedded Linux devices.
Diagnose and resolve complex technical issues related to the embedded Linux operating system, drivers, and applications.
Work effectively with cross-functional teams including hardware, application software, Quality Assurance, and product management to define requirements, integrate components, and deliver high-quality products.
Represent Arduino at internal / external events and share our spirit with the developer community
Bachelor's or Master's degree in computer science, engineering, or related field
At least 5 years experience in Embedded Linux development.
Strong proficiency in C and/or C++ for embedded systems.
In-depth understanding of the Linux kernel, including drivers, kernel modules, and system calls
Experience with embedded Linux distributions and build systems (e.g., Yocto Project)
Able to write high quality technical documentation in English
Fluent in English both verbal and written is mandatory
Experience with Golang and/or Python
Knowledge of security best practices in embedded Linux systems.
Knowledge of network protocols (e.g. Knowledge of building systems for Linux distributions