Find Jobs
Find Jobs Near You – Available Work in Your Location
Skip to job details
NI
Nokomis Inc
Senior / Mid-Level C++ Software Developer Embedded Linux
Career Insights for C / C++ Developer / Engineer
See where this job fits in the broader career landscape. Knowing your career path helps you see what's possible from here.
Scorecard
Based on Pennsylvania data
Review key factors to help you decide if this role fits your goals. How is this calculated?
What they do
A C or C++ Developer or Engineer designs or improves computer software and applications using the C / C++ computer programming language. Oversees the entire C / C++ software development process. Analyzes customer or user needs, designs programs, writes code or instructs computer programmers, tests design, and documents programs. May assist with upgrades or maintenance.
$116,159 / year median in Pennsylvania
-13% projected decline
Job Description
Position Summary Nokomis, Inc. is seeking an experienced C++ Software Developer to build and support software for Linux-based embedded platforms. This role requires strong technical fundamentals, adaptability, and a commitment to getting important work completed. The developer will work with software, hardware, signal-processing, and systems engineers in a dynamic environment where priorities may evolve during development, integration, and testing. Responsibilities Design, develop, test, and maintain C++ and C software for embedded Linux systems. Develop multithreaded, networked, and performance-sensitive applications. Integrate software with custom hardware, sensors, and external systems. Participate in design reviews, code reviews, integration, testing, and field support. Troubleshoot software, Linux, networking, and hardware-integration issues. Maintain CMake-based builds and Git-based development workflows. Take ownership of assigned work and drive it through completion. Required Qualifications 3+ years of hands-on professional C++ software development, with C++ used as a primary development language. Linux software development and debugging experience. Practical experience developing or maintaining software in C. Strong understanding of software design, concurrency, data structures, and algorithms. Experience with Git-based development workflows and CMake. Ability to work effectively in a fast-moving, multidisciplinary environment. A degree in computer science or a related field is preferred, but equivalent experience will be considered. Ability to work fully on-site. Desired Experience C++17 or newer. Embedded Linux and cross-compilation. ARM, FPGA, or system-on-chip platforms. FFTs, digital signal processing, or real-time data processing. Lightweight messaging such as MQTT, ZeroMQ, NATS, TCP, or UDP. C# application development. GoogleTest, static analysis, profiling, CI/CD, Bash, or Python. Machine-learning inference or integration. Hardware interfaces, device communications, or sensor systems. An active or prior U.S. government security clearance is a plus. Level Expectations Senior candidates should be able to independently design and deliver complex software, lead debugging and integration efforts, make sound technical tradeoffs, and mentor other developers. Mid-Level candidates should be able to independently implement and test defined features, contribute to design decisions, and take ownership of assigned work with appropriate technical guidance. This position must meet export control compliance requirements. To meet export control compliance requirements, a "U.S. Person" as defined by 22 C.F.R. §120.15 is required. "U.S. Person" includes U.S. Citizen, lawful permanent resident, refugee, or asylee.