About the Role
We are looking for a Software Development Engineer (SDE II) to join our team and help design and build scalable, reliable distributed systems that serve millions of customers. As a mid-level engineer, you will own features end to end, contribute to architectural decisions, and mentor newer engineers while continuing to grow your own technical depth.
Responsibilities
- Design, develop, test, and deploy backend services and features with strong ownership
- Contribute to the architecture of distributed systems, including service communication, scaling, and failure handling
- Write clean, maintainable, well-tested code and uphold quality through code reviews
- Troubleshoot, debug, and resolve production issues, and improve latency, performance, and cost
- Collaborate with cross-functional teams including product managers, designers, and other engineers
- Contribute to technical documentation and operational runbooks
- Participate in on-call rotations to support team-owned services
Basic Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent practical experience)
- Around 3 to 6 years of professional software development experience
- Strong proficiency in at least one object-oriented language (e.g., Java, C++, C#, Python)
- Solid understanding of data structures, algorithms, and object-oriented design
- Hands-on experience designing or building distributed systems, including queues, caching, databases, and concurrency
- Proficiency with version control systems (Git)
- Strong problem-solving skills and attention to detail
Preferred Qualifications