About the role
Responsibilities:
- Design, build, and operate backend services, APIs, data models, and asynchronous workflows.
- Own production reliability, debugging, monitoring, migrations, and safe releases.
- Build scalable and reliable product features from problem statement to production.
- Work across APIs, databases, caching, queues, and distributed systems.
- Debug issues across client, network, backend, cache/queues, and data layers.
- Collaborate closely with product and design and contribute to technical decisions.
- Make scoped web/mobile changes when required to complete or debug a feature.
- Review code and help improve engineering practices and junior engineers.
- Use AI coding tools to accelerate development while maintaining ownership of the code.
Requirements:
- 3-5 years of experience building and operating production software.
- Strong experience with at least one backend language: Java, Go, Node.js, Python, or equivalent.
- Strong understanding of API design, SQL/relational databases, data modeling, concurrency, caching, queues, and failure handling.
- Proven experience owning production systems, incidents, difficult bugs, migrations, or reliability improvements.
- Experience writing maintainable code, tests, logs, and metrics.
- Product mindset with the ability to connect engineering decisions to user experience and business impact.
- Ability to work beyond the backend when required, with some exposure to web/mobile development.
- Strong communication, ownership, and ability to challenge technical decisions constructively.
Good to have:
- Flutter/Dart or frontend experience.
- Redis, Kafka, RabbitMQ, or other messaging systems.
- Real-time systems, WebSockets, and event-driven architecture.
- Cloud, CI/CD, observability, and capacity planning.
- Security/privacy experience.
- Experience mentoring engineers or leading small technical initiatives.