Job Description :
- 10 years of Backend/ Software Engineering experience.
- Hands on production experience with FastAPI (mandatory).
- Expert-level Python knowledge.
- Strong experience with : Relational databases (PostgreSQL/MySQL).
- At least one NoSQL datastore.
- Deep understanding of : Backend architecture patterns.
- Design patterns (GoF, SOLID, DDD concepts).
- Distributed systems fundamentals.
- Experience designing and evolving large-scale systems.
- Practical experience with cloud services and deployments.
- Proven ability to lead technical decisions and architecture discussions.
Nice-to-Have :
- Experience migrating monoliths to microservices (or deciding not to).
- Event-driven or streaming systems experience.
- API gateways, rate limiting, auth systems (OAuth2, JWT).
- Prior experience acting as Senior Backend Developer, Tech Lead or Solution Architect.
Core Responsibilities :
System Design & Architecture :
- Design end-to-end backend systems with a focus on scalability, resilience, and maintainability.
- Define service boundaries, data ownership, and communication patterns.
- Select and apply appropriate architecture patterns :
- Modular monoliths.
- Microservices.
- Event-driven systems.
- Layered and hexagonal architecture.
- Drive trade-off decisions (performance vs cost vs complexity).
- Produce architecture diagrams, ADRs, Data Flow Diagrams and technical design documents.
Backend Engineering :
- Design and develop high-performance backend services using Python and FastAPI.
- Build and maintain RESTful APIs and async services.
- Handle concurrency, background processing, and IO-heavy workloads.
- Enforce clean code, SOLID principles, and testability.
- Lead code reviews with a focus on correctness, performance, and long-term design.
Data Engineering & Storage :
- Design and optimize schemas in RDBMS (PostgreSQL/MySQL) Indexing, query optimization, transactions, isolation levels.
- Design data models for NoSQL systems (MongoDB, DynamoDB, Redis, etc.).
- Choose the right data store based on access patterns and consistency needs.
- Handle migrations, versioning, and backward compatibility.
Distributed Systems :
- Design systems that handle : Partial failures.
- Retries, timeouts, and idempotency.
- Horizontal scaling.
- Experience with message brokers and async communication (Kafka, RabbitMQ, SQS, etc.).
- Understand consistency models, eventual consistency, and data replication.
DevOps & Cloud (Hands-on but not DevOps-only) :
- Work in cloud environments (AWS / Azure / GCP).
- Containerize services using Docker.
- Deploy using CI/CD pipelines.
- Understand Kubernetes concepts (pods, services, autoscaling) or managed alternatives.
- Collaborate with DevOps/SRE on observability, logging, and monitoring.
Technical Leadership :
- Act as technical owner for backend systems.
- Mentor senior and mid-level engineers.
- Set engineering standards and best practices.
- Work closely with product and business stakeholders to translate requirements into technical designs.
Note : Please send Cv only, who can attend the interview weekdays, with short notice period (max 15 days only).