profile-pic
Vetted Talent

Rohit Sharma

Vetted Talent

Engineer-first backend specialist with 6 years of experience who ships Al-enabled software. I design and operate scalable services/APIs, event-driven pipelines, and developer tooling so models become reliable features. Deep in Python, containers, and cloud (Azure/AWS/GCP). Hands-on with LLM integration, tool-driven agents, retrieval patterns, and observability. Built SDK-like templates that boost team velocity and quality.

  • Role

    Software Development Engineer III & FastAPI Engineer

  • Years of Experience

    5.33 years

Skillsets

  • Microservices
  • SQLAlchemy
  • SQL
  • NoSQL
  • Git
  • Datadog
  • Cursor
  • Claude
  • Bootstrap
  • Supervisord
  • REST
  • Python
  • PagerDuty
  • OpenAI
  • New Relic
  • MongoDB
  • Redis - 3 Years
  • Linux
  • Kubernetes
  • Jenkins
  • HTML
  • Gunicorn
  • GCP
  • Flask
  • FastAPI
  • Docker
  • CSS
  • CDN
  • Bash
  • Azure
  • ArgoCD
  • AWS - 2 Years

Vetted For

8Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Backend Python Developer(Remote)AI Screening
  • 64%
    icon-arrow-down
  • Skills assessed :Web Frameworks, AWS, Django, MySQL, Node Js, Postgre SQL, Python, Rest APIs
  • Score: 58/90

Professional Summary

5.33Years
  • Mar, 2026 - Present 2 months

    Site Reliability Engineer 2

    Booking Holdings (NASDAQ: BKNG)
  • May, 2024 - Dec, 20251 yr 7 months

    Senior Software Engineer II

    o9 Solutions, Inc.
  • Feb, 2024 - Apr, 2024 2 months

    Software Development Engineer II

    Hyperbots Systems
  • Jul, 2020 - Apr, 2021 9 months

    Associate Software Developer

    Embibe
  • Apr, 2021 - Mar, 2022 11 months

    Software Development Engineer I

    Embibe
  • Apr, 2022 - Feb, 20241 yr 10 months

    Team Lead - Content Management Services

    Embibe

Applications & Tools Known

  • icon-tool

    Docker

  • icon-tool

    Jenkins

  • icon-tool

    Amazon Web Services (AWS)

  • icon-tool

    FastAPI

  • icon-tool

    Flask

  • icon-tool

    Django

  • icon-tool

    MongoDB

  • icon-tool

    Postman

Work History

5.33Years

Site Reliability Engineer 2

Booking Holdings (NASDAQ: BKNG)
Mar, 2026 - Present 2 months

Senior Software Engineer II

o9 Solutions, Inc.
May, 2024 - Dec, 20251 yr 7 months
    Authored an enterprise-grade Cookiecutter FastAPI Microservice Template and a shared Docker/Conda base image (logging, DB integrations, async jobs, caching, CI hooks). Cut new-service bootstrap time from days to minutes; standardized telemetry. Automated Spark job parameter selection by data profile, reducing job-creation overhead by 20% and stabilizing cluster utilization under peak loads. Introduced asynchronous MongoDB write pipeline for logs (buffered queue + backpressure), improving throughput and avoiding API hot paths blocking. Adopted Supervisor-managed background workers, graceful shutdowns, and health/readiness gates; shipped CI/CD workflows on ArgoCD.

Software Development Engineer II

Hyperbots Systems
Feb, 2024 - Apr, 2024 2 months
    Hardened 5 FastAPI AI/ML service deliveries with multi-stage Docker builds, cutting build times 50% and image sizes; enabled repeatable dev/prod parity. Boosted correctness with Pydantic validation, and integrated pre-commit quality gates.

Team Lead - Content Management Services

Embibe
Apr, 2022 - Feb, 20241 yr 10 months
    Team Lead, leading a team of 6 engineers and QA; daily scrums, peer code reviews, requirements to deliverables. Designed a User Research Platform using Flask, Jinja2 and Bootstrap; boosting content feedback loops 100x. Built and owned content delivery microservice using FastAPI; scaled REST APIs across B2C products with low latency and integrated Cloudflare edge caching for high availability.

Software Development Engineer I

Embibe
Apr, 2021 - Mar, 2022 11 months
    Developed optimal image/video pipelines: branded 5,000 learning videos with real-time ingestion, improved page load by 30% and frontend performance scores by 50%.

Associate Software Developer

Embibe
Jul, 2020 - Apr, 2021 9 months

Major Projects

1Projects

HoneyBee Agentic Framework

    HoneyBee is a policy-first agent orchestration framework that separates creative generation from deterministic governance. Large Language Models (LLMs) and other tools produce candidate artifacts, while a deterministic Arbiter applies a Policy DSL to validate outcomes against explicit rules, constraints, and targets.

Education

  • B.Tech - IT

    DIT University (2019)

Interests

  • Bike Rides
  • Games
  • Watching Movies
  • Exercise
  • Listening Music
  • Youtube Learning
  • AI-interview Questions & Answers

    I'm a 2019 BTech IT graduate from DIT University, Dehradun, where I completed my bachelor's degree in IT profession. After that, I joined Embibe, an EdTech platform, as an intern. Over time, I transitioned into a full-time environment and have been there since, where I learned a lot about professional software development, developing web applications, mostly using Python. I've developed some utility tools for internal teams that help with their productivity and more efficient workflows. I've contributed alongside senior developers on their existing projects and contributed as a professional Python developer and web applications developer. I have over four and a half years of experience. During this period, I was introduced to technologies and web frameworks like Flask web framework, FastAPI web framework, and Django web framework, all of which are Python web frameworks. I've also worked with Docker, authorization of Python applications, databases like MongoDB, MySQLDB, Postgres, and SQLDB, and caching facilities like monitoring tools, logging tools, such as the ELK stack or Loggly. In my recent projects, I had to dockerize and deploy five machine learning services on AWS. I did that, and along with authorization, I integrated a logging framework for those applications. I created a common logging package and integrated it into all the applications. It uses the ELK stack, sending logs to Logstash, and from there, it gets forwarded to Elasticsearch, and we can see the logs in the Kibana UI. That's my recent project.

    What automated tools would you recommend for continuous integration and deployment in a back-end development pipeline that uses Python and AWS services? I would recommend workflows like GitHub workflow or Bitbucket workflow. If you don't have access to GitHub workflows, I would recommend hosting a private Jenkins server under your VPN or something and using that to integrate with the building and deployment of your Python applications to AWS infrastructures, which is your AWS ECR, Elastic Container Registry, where you upload your latest Docker build images and ECS, Elastic Container Service, where you can just create new task definitions with your latest image tags and redeploy the service. There's also things like Terraform that you can use instead of Jenkins. That would just make it easier to migrate on some different infrastructure later on. If you wish to migrate to Azure, let's say, then all you need to do is just a Terraform file for Azure for your services and that's it. So continuous integration and deployment in a back-end development pipeline that uses Python and AWS, most standard and most widely used is Jenkins. So I would recommend Jenkins.

    Using ORMs like SQLAlchemy and using placeholders for important variables are both good strategies to prevent SQL injection when writing back-end code with Python that interacts with a MySQL database. A common strategy is to avoid using complete hard-coded SQL queries and instead use pre-validated placeholders. Additionally, trying to use an ORM like SQLAlchemy to generate your queries can also help prevent SQL injection attacks.

    what mechanisms would you implement to ensure fault tolerance and high availability of REST API built with Node.js and deployed on AWS is to configure the load balancer for scaling thresholds and scale the application horizontally for high availability. I would think we can scale the application horizontally for high availability and fault tolerance. AWS provides monitoring on the infrastructure metrics, so we can define metrics like CPU or memory usage thresholds based on which your application would scale up or scale down automatically. We just need to fine-tune that configuration with respect to our application and our user base for fault tolerance. I would also think implementing a CDN would be a very good idea since the application requests would be cached to the nearby geolocations of the CDN servers, giving low latency to the end user. And of course, there's caching edge caching, so that would really give you high availability and fault tolerance. Implementing a CDN would be a good choice for this requirement.

    In what ways do you manage session state persistence in a serverless architecture deployed on AWS Lambda using Python and Node.js? In what ways do you manage session state persistence in a serverless architecture deployed on AWS Lambda using Python and Node.js? I think I haven't explored this domain yet, so I'm not sure how to manage session state persistence and serverless architectures. I have personally or professionally never tried using a serverless architecture for deploying Python or Node.js applications on AWS Lambda. So, I'll pass on this question for now, but I'll surely find out how to do that.

    How do you apply the single responsibility principle of SOLID in Python module design considering REST API implementation? So, single responsibility principle simply states that a part of code should be only responsible for a single responsibility. So, we divide our modules based on that thin layer and we separate each module as per their respective responsibilities. Considering REST API implementation, so, I would keep my views separately, I would keep my models in a separate module, I would keep any third-party integrations in a separate module. So, based on these logical categorization, I would arrange or structure my code base. What else can we do? I would try to use managers with, it depends what design pattern to use, but with managers, I mostly like to use the adapter pattern where you can just make the manager in such a way that it can adapt to different kinds of underlying technologies if required. So, introducing managers that basically take care of the requests coming from the API views and processing that request using internal modules and internal data files or databases or anything, right? So, yeah, I think that's it for this question.

    let's fix the logic error in the JavaScript function. ```javascript function calculateSum(arr) { let sum = 0; for (let i = 0; i < arr.length; i++) { sum += arr[i]; } return sum; } ``` However, there's a more concise and efficient way to calculate the sum of an array in JavaScript using the `reduce()` method: ```javascript function calculateSum(arr) { return arr.reduce((a, b) => a + b, 0); } ``` This version of the function achieves the same result but in a more concise and idiomatic way.

    examine this Python code snippet used for initializing a flask application can you spot and explain the flaw and how the application context is being handled from flask import flask app equal to flask name with app dot app context initialize extensions def hello return hello world app dot add URL rule slash will close the application context as soon as you're out of it so spot and explain the flaw and how the application context is being handled so when statement is being used in app dot app context initialize extensions then get out of the context I think extensions should be add URL rule is out of application context it will still work I think I need some need to check some documentation again maybe look on some resources on the internet and then I can solve this one

    How would you handle database schema migrations in a continuous delivery environment for Python based applications using postgres SQL. Python based applications, so if you are using Flask, we can use Flask migrate to run the database migrations. And handle the migration in the docker build. When you build a fresh image with the migration, it'll also run the migrations, making sure the corresponding database in that environment is updated before the application is deployed with the updated code. So in that way, I think we can handle migrations in a continuous delivery environment. So we just use Flask migrate for migrations if we are using Flask framework. Otherwise, we can find out other migration tools. I think SQLAlchemy by default provides this functionality. So yeah. So we integrate the migration and the docker build before building the new application.

    What is your method for securing REST API endpoints when building Python applications? It is good to have a question and answer this question one more time, okay. Good to have a question, okay. My method for securing REST API endpoints when building Python applications involves handling security at the API gateway layer, which is the most easiest way. Otherwise, if I want to handle security inside the application, then I first need to decide what security measures I want to use. If it's basic user password authentication, like basic auth, or if it's like a JWT token based authentication, or like an API key or a license key based authentication. So, I can implement any one that I would want for my particular use case. So, yeah, there are many ways. What is my method for securing REST APIs? I think verifying the JWT token is a good method if you're using JWT tokens, otherwise an API key is a good option, like sharing the API keys with your targeted users privately, but still there are like chances of leakages, yeah.

    How would you monitor and debug performance issues in a Python application interfacing with PostgreSQL on AWS? Monitoring and debugging performance issues, I would first utilize the infrastructure metrics provided by AWS to check if the infrastructure is okay, such as CPU usage, memory usage, and networking metrics. I can then go through the logs in the log section to see the application server logs. If I'm unable to find insights from there, I would try to access those logs through my personal login setup. If not, I would try to run the application locally and attempt to reproduce the issue. This would significantly give me an insight on where the issue lies.