Systems Software Architect – C/C++
- ₹25L – ₹30L • 2.0% – 5.0%
- |
- |5 years of exp
- |Full Time
In office
Not Available
About the job
Systems Software Architect – C/C++
Join SecureMachines to architect and build next-generation secure systems spanning native software, cryptographic hardware, embedded platforms, and enterprise applications.
We are looking for an experienced C/C++ systems software architect who can design robust software architectures close to the hardware and operating-system layer. You will work across native libraries, device interfaces, system services, APIs, concurrency models, and hardware-software integration to build production-grade security products.
This is a hands-on systems architecture role, suited for engineers with strong C/C++ foundations who understand how complex native software is structured, executed, integrated, and scaled on Linux systems. The role requires the ability to reason across software layers—from application-facing APIs down to device and hardware interfaces—and translate product requirements into practical software architectures.
Responsibilities
What will you work on?
• Architect C/C++ native libraries, SDKs, system services, and device-facing software components.
• Define modular software architectures, component boundaries, interfaces, APIs, and execution models.
• Design multithreaded and concurrent systems, including synchronization, queueing, scheduling, session/context management, and resource management.
• Architect communication between applications, native libraries, services, drivers, and hardware devices.
• Design software interfaces for cryptographic hardware, FPGA-based systems, embedded platforms, and security devices.
• Define IPC, device communication, messaging, and request/response architectures.
• Design robust API layers for integration with higher-level environments such as Java, .NET, Python, and enterprise applications.
• Address performance, latency, scalability, reliability, fault handling, logging, and observability at the system level.
• Work closely with FPGA, embedded, cryptography, application, and validation teams to define end-to-end system architecture.
• Evaluate architectural trade-offs involving performance, concurrency, security, maintainability, and hardware constraints.
• Drive architecture decisions from design through implementation, integration, testing, and production deployment.
• Provide technical direction and design guidance to software engineering teams.
What Are We Looking For?
• Strong hands-on experience with C and C++ systems programming.
• Strong experience architecting native software libraries, SDKs, middleware, system services, or device software.
• Strong understanding of Linux system programming and runtime environments.
• Deep understanding of multithreading, concurrency, synchronization, memory/resource management, and IPC.
• Experience designing software that communicates with or controls hardware devices, accelerators, embedded systems, or security appliances.
• Strong understanding of API and interface design across multiple software layers.
• Experience with hardware-software integration and debugging across system boundaries.
• Ability to design modular, maintainable, high-performance, production-grade software architectures.
• Strong debugging and problem-solving skills, including the ability to analyze complex system behaviour across multiple components.
• Ability to translate product and hardware requirements into practical software architecture.
• Ability to work effectively across software, FPGA, embedded, cryptography, validation, and product teams.
• Strong ownership and ability to drive technically complex engineering problems from architecture through implementation.
Good to Have
• Experience with device drivers, PCIe, memory-mapped I/O, or other host-to-device communication mechanisms.
• Experience building software for HSMs, security appliances, networking equipment, storage systems, hardware accelerators, or embedded devices.
• Knowledge of cryptographic APIs or frameworks such as PKCS#11, OpenSSL, JCE, or similar interfaces.
• Experience designing native libraries consumed through JNI, P/Invoke, FFI, or other language bindings.
• Understanding of secure software design, key management, cryptographic systems, or hardware-backed security.
• Experience with performance profiling, debugging, and optimization of multithreaded C/C++ applications.
This role is primarily focused on C/C++ systems software architecture and hardware-integrated software, rather than web application, frontend, or conventional enterprise backend architecture.
About the company
Similar Jobs









