Senior Software Engineer

upGrad
Bengaluru, Karnataka, India

We’re looking for a builder, not just a backend developer. If you are interested, please fill the form below

Link - https://forms.gle/zsNeNqcvEPfDbFUd6

Someone who brings strong engineering fundamentals, moves with pace, questions decisions constructively, and understands why something should be built before deciding how to build it.

Backend will be the primary playground, but boundaries aren’t rigid. We expect engineers to shift across the board, work cross-functionally and pick up problems outside their immediate area when the product needs it.

What you’ll do

  • Build with ownership — take problems from idea and design to production, not just ticket to code.
  • Think from first principles — question assumptions, understand trade-offs and make deliberate engineering choices.
  • Keep it lean — prefer simple, maintainable architecture and continuously look for opportunities to optimize infrastructure and cost.
  • Design for tomorrow — think about scalability, extensibility, reliability and maintainability without over-engineering for imaginary scale.
  • Understand distributed systems — service boundaries, communication patterns, failure handling and when a microservice actually needs to exist.
  • Think deliberately about tenancy, data isolation, partitioning and access patterns.
  • Own performance — query optimization, API performance, caching, concurrency and identifying bottlenecks.
  • Think product, not tickets — understand the expected outcome and challenge a solution when there is a better way to achieve it.
  • Move with pace — make informed decisions, ship, measure and iterate.
  • Be cross-functional when needed. The problem matters more than where the boundary of your role happens to be.

What we’re looking for

  • 3–5 years of software engineering experience, with strong backend engineering fundamentals.
  • Hands-on experience with Java and/or JavaScript/TypeScript.
  • Experience building production systems using Spring/Spring Boot or Node.js.
  • Language and framework flexibility — comfortable moving between Java/Spring and Node.js when the problem or system calls for it.
  • Strong understanding of APIs, distributed systems and production-grade system design.
  • Experience with SQL databases, including schema design, indexing and query optimization.
  • Good understanding of NoSQL concepts — partitioning, consistency, access patterns and data modelling.
  • Experience with at least one cloud platform — AWS, GCP or equivalent.
  • Ability to reason about scale, reliability, performance, maintainability and cost while making technical decisions.

AI is part of the engineering toolkit

We expect you to use AI effectively to build faster and better — for exploration, coding, debugging, testing, reviewing and understanding unfamiliar systems.

But we’re not looking for a prompt hero.

You should understand what you’re shipping, validate what AI produces, question its assumptions and own the engineering decisions behind it.

The mindset we’re looking for

Simple over clever. Outcomes over tickets. Engineering judgement over trends. Pace without shortcuts.

If you like understanding problems deeply, building lean systems, questioning assumptions and stepping across boundaries when something needs to get done — you’ll fit right in at upGrad.

Score my resume against this job, free →

Get your ATS score for this role — free. Score my resume free →