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
- Experience with cloud services (AWS, GCP, or Azure)
- Familiarity with microservices or event-driven architectures
- Experience with CI/CD pipelines, containers, and observability tools
- Knowledge of SQL and NoSQL databases
- Contributions to open-source projects or personal technical projects
What We Offer
- Real ownership of core systems from day one
- Opportunities for professional development and continuous learning
- Flexible work arrangements
- A collaborative, inclusive team culture that values curiosity and ownership
Key Requirements
- Distributed systems design experience
- Strong object-oriented programming skills
- Cloud and CI/CD familiarity