Embedded C++ Developer
Arnex Solutions LLC
- Job
- 30011
- Posted
- Location
- Dallas, TX
- Work type
- Full Time
- Tax terms
- C2C
- Experience
- Experience open
- Openings
- 1 opening
Skills
- Embedded C++ Developer
- Linux
- Git
- C++ Design Patterns
About the job
Embedded C++ Developer
Location: Dallas, TX
Experience: 7+ Years
Job Summary
We are looking for an experienced Embedded C++ Developer with strong hands-on expertise in modern C++ programming and Linux-based embedded systems. The ideal candidate will have a deep understanding of C++17/C++20, embedded software development, Linux internals, and system-level programming.
The candidate should be comfortable working close to the hardware, developing high-performance and reliable embedded software, debugging complex issues, and collaborating with hardware, firmware, and software engineering teams.
Key Responsibilities
- Design, develop, and maintain embedded software using modern C++.
- Develop applications and system-level components for Linux-based embedded platforms.
- Write efficient, reliable, and maintainable code using C++11/14/17/20 standards.
- Work with multithreading, concurrency, synchronization, and inter-process communication.
- Develop and integrate software components with embedded hardware and peripherals.
- Debug complex software issues using tools such as GDB, Valgrind, and Linux debugging utilities.
- Analyze system performance, memory usage, CPU utilization, and application stability.
- Work with Linux system services, processes, networking, file systems, and device interfaces.
- Collaborate with hardware, firmware, QA, and systems engineering teams.
- Participate in software architecture, design reviews, code reviews, and technical discussions.
- Develop unit, integration, and system-level tests.
- Troubleshoot issues across software, operating system, and hardware interfaces.
Required Skills
- 7+ years of experience in C/C++ or embedded software development.
- Strong hands-on experience with Modern C++ (C++11/14/17/20).
- Strong experience developing software on Linux.
- Excellent understanding of object-oriented programming, STL, templates, smart pointers, RAII, and modern C++ design patterns.
- Strong knowledge of multithreading and concurrency.
- Experience with IPC mechanisms such as sockets, shared memory, pipes, or message queues.
- Strong debugging and troubleshooting skills using GDB, Valgrind, core dumps, and Linux command-line tools.
- Experience with Git and standard software development workflows.
- Strong understanding of memory management, pointers, data structures, and algorithms.
- Experience with build systems such as CMake, Make, or similar tools.
- Ability to analyze and resolve complex system-level software issues.
Preferred Qualifications
- Experience with embedded Linux development.
- Experience with Linux device drivers or hardware interfaces.
- Knowledge of POSIX APIs and Linux system programming.
- Experience with cross-compilation and embedded build environments.
- Familiarity with networking protocols such as TCP/IP, UDP, and Ethernet.
- Experience with ARM-based or other embedded processor architectures.
- Familiarity with Yocto, Buildroot, or similar embedded Linux build systems.
- Experience with CI/CD and automated testing.
- Experience working in Agile/Scrum development environments.