Senior Software Engineer - Systems Software
Listed on 2026-10-15
-
Software Development
Software Engineer, Unix/Linux, Senior Developer
Team: U.S. Engineering / Software Development
About UsGRAID Technology develops GPU-accelerated RAID solutions for NVMe SSDs, helping customers achieve high performance, low latency, and reliable data protection for demanding enterprise, AI, HPC, and data-intensive workloads. Our engineering team works at the hardware/software boundary across Linux, Windows, NVMe, PCIe, CUDA, and system-level performance optimization.
Role OverviewWe are looking for a Senior Software Engineer to join our U.S. Engineering team in Sunnyvale, California. This is a hands‑on systems software role for an experienced engineer who can design, build, debug, and optimize high‑performance software for GPU-accelerated NVMe storage products. The ideal candidate combines strong low‑level engineering skills with technical leadership: someone who can own complex projects end to end, make sound architecture decisions, raise the quality bar, and mentor junior engineers through design reviews, code reviews, troubleshooting, and day‑to‑day technical guidance.
WhatYou’ll Do
- Lead the design and implementation of high-performance systems software for GPU-accelerated NVMe RAID products.
- Own major features from concept through architecture, detailed design, implementation, unit testing, integration, release, and post-release support.
- Design scalable, maintainable, and reliable software components across kernel-space, user-space, management tools, diagnostics, and automation where applicable.
- Debug complex issues across software, driver, OS, PCIe, NVMe, GPU, and hardware interaction layers.
- Analyze performance bottlenecks related to I/O behavior, latency, queue depth, CPU utilization, PCIe bandwidth, memory behavior, and GPU acceleration.
- Partner with QA, product management, customer support, and field engineering teams to reproduce issues, validate fixes, and improve product quality.
- Provide technical leadership through architecture discussions, design reviews, code reviews, and implementation guidance.
- Mentor junior engineers and help strengthen the team’s engineering practices, debugging discipline, and system-level design capability.
- Improve development efficiency by building tools, test automation, diagnostics, and internal documentation.
- Participate in customer escalation support when deep technical analysis or root‑cause investigation is required.
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field, or equivalent practical experience.
- 7+ years of hands‑on software engineering experience for senior-level candidates.
- Solid understanding of computer architecture, operating systems, concurrency, memory management, and performance-sensitive software design.
- Experience developing, debugging, and maintaining software on Linux; experience with Linux kernel modules, device drivers, or low-level system components is highly desirable.
- Strong debugging skills using tools such as gdb, perf, tracing tools, logs, crash dumps, or equivalent diagnostics.
- Experience designing and delivering complex software features with clear design documentation, test plans, and maintainable implementation.
- Experience with Git-based development workflows, peer code reviews, issue tracking, and modern software development lifecycle practices.
- Ability to lead technical discussions, evaluate tradeoffs, and make practical architecture decisions under ambiguity.
- Strong written and verbal communication skills, with the ability to explain complex technical topics clearly to engineers, QA, support, product, and leadership.
- Demonstrated ability to mentor other engineers and improve team-level engineering practices.
- Deep understanding of Linux internals, kernel…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).