Embedded Linux Engineer/Linux Kernel Engineer-REMOTE
Apetan Consulting
yesterday
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Remote
Tech stack
C
Agile Methodologies
Automation of Tests
C++
Computer Programming
Continuous Integration
Software Debugging
Device Drivers
Memory Management
Linux on Embedded Systems
Embedded Software
Ethernet
Firmware
Hardware Interface Design
Performance Tuning
Software Architecture
Real-Time Operating Systems
System Programming
Systems Integration
Universal Asynchronous Receiver/Transmitter
Software Organization
Multithreading
Serial Peripheral Interface
C++14
Software Version Control
Job description
We are seeking a Senior C++ / Embedded Software Engineer to design, develop, and maintain embedded software solutions for complex systems and devices. The ideal candidate will have strong expertise in modern C++, embedded Linux/RTOS environments, low-level programming, and system-level debugging., * Design, develop, and optimize embedded software applications using C/C++.
- Work with embedded Linux, RTOS, device drivers, and hardware interfaces.
- Collaborate with hardware, firmware, and cross-functional engineering teams.
- Perform system integration, debugging, testing, and performance tuning.
- Develop and maintain software architecture, design documentation, and technical specifications.
- Troubleshoot complex software and hardware interaction issues.
Requirements
- 5+ years of experience in embedded software development.
- Strong proficiency in C++ (C++11/14/17 or later) and C programming.
- Experience with embedded Linux and/or RTOS environments.
- Knowledge of multithreading, memory management, networking, and system-level programming.
- Experience with debugging tools, version control systems, and software development best practices.
- Strong problem-solving and communication skills., * Experience with device drivers, firmware development, or hardware interfaces (SPI, I2C, UART, CAN, Ethernet).
- Familiarity with ARM-based systems and embedded architectures.
- Experience with CI/CD pipelines, automated testing, and Agile development methodologies.