Back to Jobs

Embedded C++ Developer

CIS Technology Inc

Job Description & Details

This is a heavy-duty embedded development gig focused on building robust firmware and Linux-based systems for real-world hardware. If you enjoy digging into device drivers, optimizing memory footprints, and wrestling with low-level concurrency, this 24-month contract gives you plenty of runway to sink your teeth into complex architectural challenges.

What You'll Actually Be Doing

You'll spend your days designing, prototyping, and writing clean, highly efficient C and C++ code for embedded Linux devices. Expect to spend a significant amount of time knee-deep in code reviews, writing unit tests, and profiling memory usage and performance bottlenecks. You'll be dealing directly with Board Support Packages (BSPs), inter-process communication, and making sure various subsystems talk to each other without choking the hardware.

The Core Tech Stack

You absolutely must know modern C++ (C++11, C++14, or C++17) inside and out, alongside solid C fundamentals. Linux kernel and subsystem knowledge, device driver development, and an intimate familiarity with the C++ build process are non-negotiable. On top of that, you need to understand multithreading, algorithms, IPC, RPC, and common communication paradigms like client-server or publish-subscribe. Familiarity with IP-based protocols like HTTP, TLS, and WebSockets will definitely give you an edge.

Interview Expectations

Expect the interviewers to probe deep into your concurrency knowledge by asking how you handle race conditions and deadlocks in resource-constrained multithreaded environments. They're secretly looking for practical scars—times you've actually debugged a nasty memory leak or performance bottleneck on embedded hardware using profiling tools, rather than just reciting textbook definitions. Be prepared to whiteboard low-level C++ memory management and IPC design.

Application Advice

To get past the ATS and grab the hiring manager's attention, make sure your resume highlights specific instances where you built embedded Linux solutions from scratch or optimized existing device drivers. Ditch the generic summaries and explicitly feature keywords like 'Embedded Linux', 'C++14/C++17', 'IPC', 'RPC', and 'memory profiling' right at the top so they instantly recognize you speak the language of low-level systems engineering.