Careers at WEKA
WEKA is growing and looking for driven and professional individuals who are eager to join us on our mission to solve the world’s biggest storage problems.
Senior Software Engineer, Linux Kernel
About The Position
Weka is a fast-growing startup developing the world’s fastest and most scalable data platform. WEKA lives anywhere the data does, whether on-premises, in the public cloud, or in a hybrid environment, and was built from the ground up to meet the diverse needs of modern data workloads.
At Weka, we are constantly putting our technology and ourselves to the test to solve today’s biggest data storage challenges while enabling heightened productivity.
We currently enable Fortune500 companies to push the boundaries of what’s possible, achieve breakthrough innovations, and solve previously unsolvable problems. Want to join the ride?
What makes a Wekkie?
If you have a positive “can-do” attitude, a relentless curiosity about all things tech, and you thrive on pushing limits and breaking barriers, you’ll fit right in at Weka!
We’re a super friendly bunch who support each other, promote best practices, and we always encourage collaboration and sharing ideas. Even on rainy days, our sunny spirits shine through. And as we grow, we’re inviting those who are like us to join in the fun!
What you'll be doing:
As a Senior Kernel Engineer at Weka, your primary responsibility will be collaborating with other team members on our high-performance filesystem solution and releasing our kernel driver, which is written in C on top of Linux, as part of the Weka filesystem product.
The kernel-based filesystem driver provides file access and logic to Weka filesystems and the ability to connect clients to the Weka cluster. This enables the Weka system to provide applications with local filesystem semantics and performance while providing centrally-managed, shareable, and resilient storage.
Our entire kernel team proudly delivers high-quality kernel drivers and you will have the opportunity to quickly become an integral contributor.
As a Senior Kernel Engineer, you’ll:
- Design and develop core product features in a complex software system with a focus on Linux kernel and OS infrastructure layers
- Provide architectural guidance and fresh ideas in our core kernel driver and related interfaces
- Locate performance bottlenecks within Linux and/or its driver or other components, and suggest & implement enhancements to meet target performance goals
Most importantly, assume nothing - constantly revisit how we work and whether our productivity is perfectly tuned
- 3+ years of hands-on experience in Linux kernel development and debugging
- Master of low-level C development in Linux kernel, with vast experience in performance-sensitive code and a solid understanding of the VFS, page cache & file system concepts
- Familiarity with kernel development methodologies and kernel structure, as well as experience in developing kernel modules
- Top-notch experience in the Linux Kernel Driver model & development
- Lock/lockless synchronization between kernel space & userspace
- Broad knowledge and understanding in Linux internals, kernel subsystems (Memory Management, IO, Storage, Networking), and kernel crash and core analysis skills
- Knowledge of IO tools and performance benchmarks using standard tools
- A deep understanding of threading and locking mechanisms
- A highly motivated and independent engineer with a positive attitude, a creative and open mind, and fluency in English.
It's nice if you have:
- A background in working with the Linux kernel community
- Experience contributing/up-streaming/maintaining kernel code
- Knowledge of storage subsystems, storage stack, and protocols (NVMe, NFS, Samba, filesystems), along with development experience with enterprise-grade storage solutions
- Experience hacking complex open-source projects