About Nexstem
At Nexstem, we are building the infrastructure for Brain-Computer Interfaces (BCI) — the hardware, software, and algorithms that power the next generation of neurotech applications. Our modular stack is licensed by enterprises, startups, and researchers to develop products in healthcare, human augmentation, entertainment, and beyond.As part of our mission to democratize neurotechnology, we are looking for a Principal Software Engineer (C++) to lead the design and development of performance-critical software that sits close to our hardware stack and powers real-time BCI applications.Role OverviewAs Senior Software Engineer, you will be responsible for architecting, implementing, and optimizing core system components in C++ that run on our edge devices and host platforms. You will own the end-to-end software design—from real-time signal acquisition to API-level abstractions—and ensure Nexstem’s platform is performant, reliable, and scalable.You will also be expected to provide technical leadership, mentor engineers, and work cross-functionally with hardware, firmware, and AI/algorithm teams.Key Responsibilities
- System Architecture & Design
- Architect modular, extensible software frameworks for BCI hardware and companion applications.
- Define system-level interfaces between hardware, firmware, signal-processing, and APIs.
- Make critical design trade-offs balancing performance, scalability, and maintainability.
- Core Development
- Develop high-performance C++ software (C++14/17/20) with a focus on low-latency, multi-threaded, and memory-efficient applications.
- Implement hardware drivers, communication protocols, and real-time signal acquisition pipelines.
- Build abstractions and libraries that expose Nexstem’s hardware capabilities to higher-level SDKs and APIs.
- Be strong in core Computer Science fundamentals and architecture.
- Hardware-Software Integration
- Collaborate with hardware engineers on device drivers, data acquisition interfaces, and embedded systems.
- Optimize performance on embedded processors, FPGAs, Linux-based systems, and edge computing devices.
- Performance & Reliability
- Profile and optimize system performance across CPU/GPU/accelerator architectures.
- Implement reliability, fault-tolerance, and recovery mechanisms for production-grade deployments.
- Mentorship & Leadership
- Set coding standards, best practices, and CI/CD workflows for the engineering team.
- Mentor junior and mid-level engineers in C++, software design, and system thinking.
- Innovation & Research Alignment
- Stay up-to-date with advances in real-time computing, compilers, and systems programming.
- Collaborate with algorithm and AI researchers to translate signal-processing pipelines into efficient runtime implementations.
Requirements
Education
- Master’s degree in Computer Science & Engineering or a related field.
- (Bachelor’s with an exceptional track record may be considered).
Experience
- 5+ years of professional experience in C++ system-level development.
- Proven track record in designing and delivering complex, production-grade software systems.
Technical Skills
- Expert-level C++ (C++14/17/20): STL, templates, modern design patterns.
- Strong knowledge of multi-threading, concurrency, synchronization, and memory management.
- Experience writing low-level code: device drivers, firmware interfaces, or embedded Linux/RTOS.
- Deep understanding and experience in Linux Kernel development and low-level operating system concepts.
- Familiarity with hardware communication protocols (USB, BLE, Wi-Fi, nRF, SPI, I2C, etc.).
- Experience in performance optimization, debugging tools (gdb, valgrind, perf), and profiling.
- Exposure to real-time systems, signal acquisition, or streaming data pipelines.
Bonus Skills (Good to Have)
- GPU programming (CUDA, OpenCL, Vulkan compute).
- Experience integrating C++ with Python or Rust in hybrid pipelines.
- Prior work in neurotech, robotics, IoT, or other real-time hardware-adjacent domains.
- Familiarity with numerical methods, DSP, or machine learning integration.
Soft Skills
- Strong systems thinking: can see the big picture and design for scalability.
- Exceptional problem-solving skills under performance/latency constraints.
- Ability to work cross-functionally with hardware, AI, and product teams.
- Clear communicator who can mentor, document, and lead by example.
Compensation & Benefits
- Competitive compensation with growth opportunities.
- Opportunity to define and shape the core software architecture for a cutting-edge neurotech platform.
- Work alongside an elite team at the intersection of hardware, neuroscience, and AI.
- Flat hierarchy, ownership-driven culture, and the freedom to experiment and innovate.
Skills: embedded,software,architecture,skills,design,c++,system design,system architecture,system development,c/c++ stl,low latency,sdk development,api,linux,software design patterns,system-level development.