Software Development Engineer
San Mateo Metro Area, CA
- Own the full cycle of development from inception, design, development, testing, and production.
- Work on distributed systems for data processing, with efficient protocols and communication, locking and consensus, schedulers, resource management, low latency access to distributed storage, auto scaling, and self healing.
- Understand and reason about concurrency and parallelization to deliver scalability and performance in a multithreaded and distributed environment.
- Use modular design patterns to deliver an architecture that's rooted in simplicity, that's easy to iterate on and constantly evolve.
- B.S. or M.S in Computer Science or in a related technical field or equivalent practical experience
- Fluency in Java with 5+ years of experience developing production level software
- Strong foundation in data structures, algorithms, multi-threaded and asynchronous patterns and their applications towards developing scalable systems
- Passion for quality, zero downtime upgrades, availability, resiliency, and uptime of the platform
- Experience developing scalable distributed systems and deploying, scaling, and managing microservices
- Experience with containers and kubernetes for orchestration and container management in private and public clouds (AWS, Azure, Google Cloud) a plus
- Excellent understanding of distributed file systems like S3 or ADLS or HDFS a plus
- Excellent communication skills and affinity for collaboration and teamwork
- Interested in and motivated to be part of a fast-moving startup with a fun and accomplished team
- Startup experience a plus