Senior Software Engineer, Platform (US)
Weka.IO
WEKA is architecting a new approach to the enterprise data stack built for the AI era. The WEKA® Data Platform sets the standard for AI infrastructure with a cloud and AI-native software solution that can be deployed anywhere. It transforms legacy data silos into data pipelines that make GPUs, AI, and other performance-intensive workloads run faster, work more efficiently, and consume less energy.
WEKA is a pre-IPO, growth-stage company on a hyper-growth trajectory. We’ve raised $375M in capital with dozens of world-class venture capital and strategic investors. We help the world’s most innovative enterprises and research organizations, including 12 of the Fortune 50, reach discoveries, insights, and outcomes faster and more sustainably.
We’re passionate about helping our customers overcome complex data challenges to accelerate their innovation and help grow their businesses. If you share our passion, we invite you to join us on this exciting journey.
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 our new Senior Software Engineer, you’ll be joining the Platform group. This group of highly experienced and detail-oriented engineers proudly owns the network stack, storage stack, task scheduling infrastructure, and more.
As a Senior Software Engineer, you’ll:
- Play an active role in creating jaw-dropping designs, writing impressively efficient code, and conducting collaborative code reviews;
- Share fresh ideas and architectural guidance for our core areas of distributed computing, high-performance storage, and cloud computing; and
- Challenge our benchmarks with performance testing around IO and storage throughput.
Requirements
- Mastery of low-level C/C++ development in Linux user space or kernel space with vast experience in performance-sensitive code
- 5+ years of hands-on experience with software development on Linux-based systems
- Familiarity with network concepts and protocols (UDP, TCP, InfiniBand, Ethernet, RDMA).
It's nice if you have:
- Experience with DPDK and SPDK
- Knowledge of storage systems and SSDs
- Kernel driver development know-how
- Previous experience with hardware interfaces
- Prior involvement with deep networking (congestion control, bonding, VLAN, InfiniBand)
- Familiarity with storage concepts (SMB, NFS, S3, SSD, NVMe, Linux filesystems).
- Experience with the development of highly distributed systems.
- Experience with memory management concepts and entities in a multiprocessing system (cache, shared memory, Numa, etc.)
- Experience working on complex and large-scale and/or distributed systems, databases, or others
Concerned that you don’t meet every qualification above?
Studies have shown that women and people of color may be less likely to apply for jobs if they don’t meet every qualification specified. At WEKA, we are committed to building a diverse, inclusive, and authentic workplace. If you are excited about this position but are concerned that your past work experience doesn’t match up perfectly with the job description, we encourage you to apply anyway – you may be just the right candidate for this or other roles at WEKA.
WEKA is an equal-opportunity employer that prohibits discrimination and harassment of any kind. We provide equal opportunities to all employees and applicants for employment without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws. This policy applies to all terms and conditions of employment, including recruiting, hiring, placement, promotion, termination, layoff, recall, transfer, leaves of absence, compensation, and training.