nexodata Logo nexodata
⏩ nexodata Logo

Software Engineer – Linux Kernel & Storage Systems

πŸ’° $90,000 - $140 🌍 Canada πŸ“… 03/18/2025

Apply

Job Description

**About Nexodata:**

Nexodata is a cutting-edge cloud-native storage company revolutionizing data
security and efficiency. We specialize in developing software-defined storage
solutions that protect backups and critical data from ransomware.

**What We 're Building:**

We’re on a mission to design an immutable, cryptographically secured storage
system with features like tamper-proof data integrity, and hardware-secured
storage.

**Key Responsibilities:**

* Develop and optimize high-performance software-defined storage (SDS) solutions, focusing on concurrency control, atomicity, and data consistency.
* Design and implement kernel-level file systems, drivers, and robust locking mechanisms for highly concurrent environments.
* Work on high-performance storage systems with features like erasure coding and data durability.
* Build robust data protection mechanisms, including erasure coding, tamper-proof storage, and hardware integration (e.g., TPM).
* Collaborate to design systems with fault tolerance, distributed consistency models, and high availability.
* Implement encryption and tamper-proof mechanisms for data security.
* Build and integrate APIs with storage hardware and backup solutions.

**Must-Have Skills:**

* Expertise (3+ years) in Linux kernel programming, file system development, and driver design.
* Expertise in the implementation of concurrency control, including multithreading, fine-grained locks, atomic operations, and lock-free data structures.
* Strong background in C++ and system programming, with a focus on performance optimization and scalability.
* Knowledge of NVMe, SPDK, DMA, RDMA, or DPDK for high-performance storage and networking.
* Knowledge of distributed systems, fault tolerance, and networking protocols (e.g., TCP/IP, gRPC).
* Knowledge of performance optimization through asynchronous I/O (e.g., io_uring) and parallel recovery paths.
* Knowledge of disk I/O, caching, and hardware interfaces.