Jobs · Engineering · North Carolina

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

Similar jobs