As a Software Developer, you'll:
- Be a lead engineer in Rust programming and systems programming to help accelerate the development of the company's caching and data lake.
- Optimize software and hardware interactions to achieve minimal latency, efficient resource utilization, and maximum performance, with a focus on both scaling up and scaling out systems.
- Translate complex architectural designs into implementable solutions and effectively communicate them to fellow programmers.
- Analyze IO bottlenecks in the system and resolve bugs around cache handling and race conditions.
Requirements
- 2+ years of experience developing non-web applications with Rust
- 8+ years of experience with system-level programming languages such as C, C++, or Java
- Strong understanding of Linux storage subsystems, networking stack, and low-level network protocols (TCP, HTTP, etc.)
- Proficiency in modern software development practices, including Git, CI/CD, code review, automated testing, and cross-team collaboration in large projects
- Excellent problem-solving skills with the ability to analyze requirements and propose technical solutions, document technical designs and decisions, and debug complex system-level issues
Bonus Qualifications:
- Contributed code to the Linux kernel or similar open-source project
- Programmed for embedded systems or ARM64
- Database, S3, or POSIX file system programming experience