
Senior Embedded Linux developer
- Torino
- Tempo indeterminato
- Full time
- A challenging career path in a rapidly growing company with modern vision and talented teams.
- A competitive salary (and benefits) that values people skills and experience.
- 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!
- A meaningful work opportunity in a mission-driven company committed to empower people around the world.
- Ping pong and foosball tournaments (sport or gym benefit is also included for everyone!).
- Seasonal celebrations, happy hours and everyday drinks and snacks at the office.
- Sunny rooftop lunch breaks and hamacas for relaxation and concentration.
- 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.
- Create and maintain clear and concise technical documentation for designs, code, and test procedures.
- 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)
- Hands-on experience with hardware interfaces and protocols (e.g., I2C, SPI, UART, USB, Ethernet, CAN, GPIO)
- Proficiency with debugging tools (e.g., GDB, JTAG debuggers, oscilloscopes, etc)
- Broad knowledge of git flow
- Ability to read hardware schematics and datasheets.
- Able to write high quality technical documentation in English
- Fluent in English both verbal and written is mandatory
- Knowledge of the Arduino ecosystem
- Experience with Golang and/or Python
- Familiarity with containerization technologies (e.g., Docker) for embedded environments.
- Knowledge of security best practices in embedded Linux systems.
- Knowledge of network protocols (e.g. MQTT, CoAP, HTTP, TCP, UDP, AMQP)
- Knowledge of building systems for Linux distributions
- Knowledge of Github