19 Sep
|
HuntingCube
|
Bangalore East
19 Sep
HuntingCube
Bangalore East
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 solid 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.
Required Skills
['C++ Java C Linux Software Linux Kernel/drivers.
Debugging Problem
Solving']
Additional Information
NA
📌 Systems Software Architect – C/C++ (Bangalore East)
🏢 HuntingCube
📍 Bangalore East