About the Role :
We are looking for a skilled and detail-oriented Software Engineer to design, build, and maintain robust, scalable applications that power our products.
This is a full-stack software engineering role with a strong emphasis on back-end development. Professional experience with Rust is essential.
You will use Rust to build reliable, secure, and high-performance services while contributing across the broader technology stack, including APIs, databases, front-end (MFE) applications, cloud infrastructure, and delivery pipelines.
You will work closely with other software engineers, product managers, and other cross-functional partners to turn requirements into well-designed, maintainable solutions.
You will contribute to technical design discussions, code reviews, automated testing, observability, and continuous delivery.
This role is ideal for a software engineer with at least two+ years of professional experience who enjoys solving complex problems, takes pride in technical quality, and is comfortable working across the full software development lifecycle.
What does a great Software Engineer do ?
- A great Software Engineer builds reliable, maintainable systems by mastering the tools of their craft while remaining curious about the wider technology landscape.
- You write clean, efficient, and idiomatic Rust, using asynchronous programming, strong type systems, structured error handling, modular design, dependency management, and configuration best practices to create responsive and adaptable services.
- You design and maintain relational database architectures, preferably using PostgreSQL, with careful consideration for performance, data integrity, migrations, indexing, SQL queries, and transaction isolation.
- You develop well-structured REST APIs with clear contracts and predictable behaviour. You build robust validation and error-handling mechanisms, manage API versioning, and secure endpoints using technologies and standards such as OAuth 2.0, OpenID Connect, and JWT.
- Although the role is back-end focused, you are comfortable contributing to front-end applications using technologies such as Vue.js, Angular, or Lit. You understand (web)component-based development, state management, browser behaviour, API integration, accessibility, and responsive user interfaces.
- Testing is part of your everyday engineering process. You write meaningful unit, integration, and end-to-end tests, structure applications for testability, and use mocks or test doubles appropriately. You consider performance, security, reliability, and failure scenarios when designing and validating software.
- You build observability into your systems through structured logging, metrics, dashboards, alerting, and distributed tracing, making applications easier to operate, monitor, and debug.
- You contribute to cloud and DevOps practices by working with AWS, containerized workloads, infrastructure as code, and automated delivery pipelines. You use tools such as Docker and Terraform to create consistent, repeatable, and maintainable environments.
- You use Git and CI/CD pipelines effectively, automating build, test, security-checking, and deployment processes so that changes can move safely and efficiently from development to production.
- You collaborate openly, communicate clearly in writing and conversation, and provide thoughtful, constructive feedback during code reviews. You work effectively with both engineering and non-engineering colleagues to deliver successful outcomes.
- You also use AI-assisted development tools thoughtfully and responsibly. You may use them to accelerate research, implementation, testing, documentation, and problem-solving, while independently validating outputs and protecting security, privacy, intellectual property, and compliance requirements.
Key Responsibilities :
- Design, develop, test, and maintain back-end services.
- Build secure, well-documented, and scalable REST APIs.
- Design and optimize relational database schemas, queries, migrations, and transactions.
- Contribute to front-end applications.
- Develop and maintain unit, integration, and end-to-end automated tests.
- Implement structured logging, metrics, tracing, monitoring, and alerting.
- Build and maintain cloud infrastructure and services on AWS.
- Manage infrastructure through code using Terraform or comparable tools.
- Containerize and run applications using Docker.
- Contribute to CI/CD pipelines for automated build, test, validation, and deployment.
- Participate in technical design discussions, code reviews, troubleshooting, and production support.
- Collaborate with product, design, platform, quality, security, and other cross-functional teams.
- Improve engineering practices, development workflows, system reliability, and :
- 4+ years of professional software engineering experience.
- Professional experience developing production software with Rust.
- Good understanding of back-end engineering principles, asynchronous programming, error handling, and maintainable software design.
- Experience developing and integrating RESTful APIs.
- Solid understanding of relational database design and development, preferably with PostgreSQL.
- Experience writing and maintaining unit and integration tests.
- Basic understanding of modern front-end development.
- Practical experience with Docker, Git, and CI/CD pipelines.
- Understanding of cloud infrastructure and software deployment practices.
- Effective collaboration and clear communication within cross-functional teams.
Nice to have experience :
- Experience with modern versions of C# and .NET, Python, Bash, or Scala.
- Front-end development experience with Vue.js, Angular, or Lit.
- Experience deploying and operating applications on AWS.
- Experience using Terraform or another infrastructure-as-code platform.
- Knowledge of event-driven systems, messaging platforms, or distributed architectures.
- Familiarity with OAuth 2.0, OpenID Connect, JWT, and secure API development.
- Experience with OpenAPI or similar API specification tools.
- Experience with observability platforms, distributed tracing, or application performance monitoring.
- Understanding of software security, dependency management, and automated security scanning.
Personality :
- Quick thinking and acting with minimal/no supervision.
- Self-driven, independent, creative, and eager to learn new skills.
- Ability to work effectively with incomplete information.
- Great communication skills.
- Experience with and desire to work for an asynchronous, remote, and global team.
Work Location :
Hybrid Work Model: This is a hybrid position, requiring you to work in the Bengaluru office 3 times per week.
Senior Software Engineer - Full Stack • Bangalore