Senior Software Engineer (C++, Embedded)
BALIN TECHNOLOGIES LLC · Dallas, NC · 3 days ago
EngineeringFull-time
About the role
We are seeking an experienced embedded systems engineer with 6-8 years of expertise in architecture, design, prototyping, software development, code review, and unit testing for embedded devices. The ideal candidate will have a strong background in C, C++, and embedded Linux, with a focus on device drivers and modern C++ standards (C++11/C++14/C++17).
Responsibilities
- Develop, review, and test embedded software for Linux-based devices.
- Design and implement device drivers and Linux subsystems.
- Utilize memory and performance profiling tools to optimize software.
- Work with multithreading, algorithms, and inter-process communications (IPC).
- Implement remote procedure calls (RPC) and multiple communications paradigms (client-server, peer-to-peer, publish/subscribe).
- Collaborate with diverse engineering teams.
Requirements
- 5-10 years of experience in embedded systems.
- Expertise in C, C++, and embedded Linux.
- Strong knowledge of Linux, BSP, and Linux subsystems.
- Proficiency with the C++ build process and debugging tools (e.g., GDB).
- Experience with ThreadX or similar real-time operating systems.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Computer/Electrical Engineering, Mathematics, or a related field.
- Experience with IP-based communications and protocols (e.g., HTTP, TLS, REST, WebSockets, JSON, XML, Protobufs, Flatbuffers, RTP, RTSP, HLS).
Skills
- C, C++ (modern standards preferred)
- Embedded Linux and device drivers
- Debugging (GDB, Linux tools)
- Multithreading and algorithms
- IPC and RPC
- Client-server, peer-to-peer, and publish/subscribe paradigms