About the opportunity
What you’ll be doing:
- You will contribute to all aspects of an agile software development life-cycle including design, architecture, development, documentation, testing and operations.
- You will build cutting-edge scalable systems by writing simple and efficient code.
- You will push your design and architecture limits for new product development.
- You will collaborate with product managers, and other key stakeholders within the MMT family to successfully execute projects.
- You will ensure compliance with build/release and configuration management process.
What you’ll bring to the table:
- You possess good understanding of Agile Methodology, Object Oriented Programming Concepts and Responsive Designs.
- You have hands-on experience on Java/ J2EE stack and have done development across multiple browsers/platforms delivering mind-boggling results.
- You thrive in complexity and jump at the opportunity to collaborate with colleagues to delivery projects within tight deadlines.
- If you have work experience in a product/start-up company, we’ll like you even more.
Our Purpose and Challenges
With over 47% market-share, MakeMyTrip is India’s first and biggest travel company. In fact, one in every four passengers at an airport is our customer. Driven by the desire to provide an exceptional travel experience for our customers, we have continuously stayed ahead of the curve by developing technology and products to meet the ever-changing demands of the rapidly evolving travel ecosystem.
We are currently solving multiple challenging problems, including -
- How to bring the next 100 million users to our platform?
- How to leverage customer insights to create a truly personalised experience for users?
- How to create a delightful experience for our users, to make travel synonymous to MMT?

About MakeMyTrip.com
About
Connect with the team
Similar jobs
Required Skills: TypeScript, MVC, Cloud experience (Azure, AWS, etc.), mongodb, Express.js, Nest.js
Criteria:
Need candidates from Growing startups or Product based companies only
1. 4–8 years’ experience in backend engineering
2. Minimum 2+ years hands-on experience with:
- TypeScript
- Express.js / Nest.js
3. Strong experience with MongoDB (or MySQL / PostgreSQL / DynamoDB)
4. Strong understanding of system design & scalable architecture
5. Hands-on experience in:
- Event-driven architecture / Domain-driven design
- MVC / Microservices
6. Strong in automated testing (especially integration tests)
7. Experience with CI/CD pipelines (GitHub Actions or similar)
8. Experience managing production systems
9. Solid understanding of performance, reliability, observability
10. Cloud experience (AWS preferred; GCP/Azure acceptable)
11. Strong coding standards — Clean Code, code reviews, refactoring
Description
About the opportunity
We are looking for an exceptional Senior Software Engineer to join our Backend team. This is a unique opportunity to join a fast-growing company where you will get to solve real customer and business problems, shape the future of a product built for Bharat and build the engineering culture of the team. You will have immense responsibility and autonomy to push the boundaries of engineering to deliver scalable and resilient systems.
As a Senior Software Engineer, you will be responsible for shipping innovative features at breakneck speed, designing the architecture, mentoring other engineers on the team and pushing for a high bar of engineering standards like code quality, automated testing, performance, CI/CD, etc. If you are someone who loves solving problems for customers, technology, the craft of software engineering, and the thrill of building startups, we would like to talk to you.
What you will be doing
- Build and ship features in our Node.js (and now migrating to TypeScript) codebase that directly impact user experience and help move the top and bottom line of the business.
- Collaborate closely with our product, design and data team to build innovative features to deliver a world class product to our customers. At company, product managers don’t “tell” what to build. In fact, we all collaborate on how to solve a problem for our customers and the business. Engineering plays a big part in it.
- Design scalable platforms that empower our product and marketing teams to rapidly experiment.
- Own the quality of our products by writing automated tests, reviewing code, making systems observable and resilient to failures.
- Drive code quality and pay down architectural debt by continuous analysis of our codebases and systems, and continuous refactoring.
- Architect our systems for faster iterations, releasability, scalability and high availability using practices like Domain Driven Design, Event Driven Architecture, Cloud Native Architecture and Observability.
- Set the engineering culture with the rest of the team by defining how we should work as a team, set standards for quality, and improve the speed of engineering execution.
The role could be ideal for you if you
- Experience of 4-8 years of working in backend engineering with at least 2 years of production experience in TypeScript, Express.js (or another popular framework like Nest.js) and MongoDB (or any popular database like MySQL, PostgreSQL, DynamoDB, etc.).
- Well versed with one or more architectures and design patterns such as MVC, Domain Driven Design, CQRS, Event Driven Architecture, Cloud Native Architecture, etc.
- Experienced in writing automated tests (especially integration tests) and Continuous Integration. At company, engineers own quality and hence, writing automated tests is crucial to the role.
- Experience with managing production infrastructure using technologies like public cloud providers (AWS, GCP, Azure, etc.). Bonus: if you have experience in using Kubernetes.
- Experience in observability techniques like code instrumentation for metrics, tracing and logging.
- Care deeply about code quality, code reviews, software architecture (think about Object Oriented Programming, Clean Code, etc.), scalability and reliability. Bonus: if you have experience in this from your past roles.
- Understand the importance of shipping fast in a startup environment and constantly try to find ingenious ways to achieve the same.
- Collaborate well with everyone on the team. We communicate a lot and don’t hesitate to get quick feedback from other members on the team sooner than later.
- Can take ownership of goals and deliver them with high accountability.
Don’t hesitate to try out new technologies. At company, nobody is limited to a role. Every engineer in our team is an expert of at least one technology but often ventures out in adjacent technologies like React.js, Flutter, Data Platforms, AWS and Kubernetes. If you are not excited by this, you will not like working at company. Bonus: if you have experience in adjacent technologies like AWS (or any public cloud provider, Github Actions (or CircleCI), Kubernetes, Infrastructure as Code (Terraform, Pulumi, etc.), etc.
EDUCATION & EXPERIENCE :
- A professional degree in Computer Science from a reputable institution, backed by a consistent academic record.
- A knack for problem-solving, data structures, and algorithms.
- Proficiency in ElasticSearch.
- 3+ years of hands-on development experience, primarily in building products for large enterprises.
- Exceptional communication skills.
- Mastery in Java programming; familiarity with Python is a plus.- Experience with Spring Boot.
- Practical knowledge of one or more cloud-based technologies (e.g., ElasticSearch, Storm, Hazelcast, MongoDB, Ceph, Kafka) is highly desirable.
- Expertise in building concurrent and/or parallelized, highly performant scalable applications.
- A track record of identifying and addressing complex issues in scalable deployments.
- Exposure to Service-Oriented Architecture (SOA) and Test-Driven Development (TDD) is an added advantage.
ROLES & RESPONSIBILITIES :
- Dive deep into technical aspects (Analysis, Design & Implementation) as required.
- Take complete ownership of features within the product.
- Engage in debates and detailed discussions about functional and non-functional requirements with our Product Management team.
- Collaborate with the team to design solutions, seeking stakeholder input before implementation.
- Create essential artifacts such as functional specifications and detailed designs for your assigned features.
- Implement intricate features with an unwavering commitment to quality, following the Test- Driven Development (TDD) process.
- Maintain open lines of communication, promptly reporting risks and progress to your supervising manager.
- Share your expertise and mentor team members.
- Provide support by troubleshooting and creating Root Cause Analysis (RCA) for production issues, subsequently working on short-term and long-term solutions.
Responsibilities :
• Design, code, and implement highly scalable and reliable web-based applications.
• Coordinate with other team’s architect, engineers, and vendors, as necessary.
• Deliver on all phases of development work from initial kick-off, technical setup, application
development, and support.
• Identify exciting opportunities for adopting new technologies to solve existing needs and
predicting future challenges
• Perform ongoing refactoring of code, utilizing visualization and other techniques to fast-track
concepts, and delivering continuous improvement
• Work with product managers to prioritize features for ongoing sprints and managing a list of
technical requirements based on industry trends, new technologies, known defects, and issues
• Manage your own time, and work well both independently and as part of a team
• Quickly generate and update proof of concepts for testing and team feedback
• Embrace emerging standards while promoting best practices
Qualifications :
• Must have java experience
• Experience in computer science, computer engineering
• Web development work experience preferred
• Demonstrated experience in Agile development, application design, software development, and
testing
• Experience with building RESTful APIs
• Expertise in objected oriented analysis and design across a variety of platforms
• Thorough understanding of JSON, Web Service technologies, and data structure fundamentals
• Experience with adaptive and responsive development techniques
• Aptitude for learning and applying programming concepts
• Ability to effectively communicate with internal and external business partners
• Experience with a broad range of software languages and payments technologies is a plus.

- Interest in our tech stack (Java or Scala, SQL Databases, NoSQL, Microservices, and AWS)
- Strong computer science fundamentals with data structures, algorithms, various programming languages, distributed systems, etc.
- Understanding of engineering best practices—you constantly seek to improve engineering standards, tooling and processes
- Ability to write “good code” - easily understandable, secure and testable!
- Comfortable helping drive technical decisions within our Engineering team
- Experience building applications at scale
- Interested in exploring integration technologies
- Understand the business complexities of airline & hotel domain and system integration, their business process
- Explore new technology stacks for integration and
- Many more opportunities .
JEE Technologies: Java,Servlet
Database: SQL.JDBC
Tools : GIT
Web Services: REST based API or XML based web services
Others : design Patterns, UML
· 3+ years of Java backed application development and implementation experience.
· Minimum of one year of experience in Cloud, AWS Engineering & Development .
· Demonstrated knowledge of Distributed and Scalable systems.
· Experience on AWS Services is a big plus, such as EC2, ECS, ECR, Lambda, Elastic Cache, API Gateway.
· Knowledge about API design standards, patterns and best-practices especially Swagger and OpenAPI 3.0, REST, SOAP, MQ, JSON, Microservices etc.
· Java Microservices, RESTful Web Services.
· Spring Boot, Spring Cloud, Hibernate.
· JMS, queues, JBoss/Wildfly.
· Tools - JUnit, Easymock, Mockito, Docker, Kubernetes, Teraform.
- Understand the fundamentals of Software Engineering, such as Data Structures, Algorithms, Design Patterns
- Ability to write Java applications using Spring, Springboot or any other microservices frameworks
- Experience in the development of REST applications, in Java or Kotlin
- Capable of writing effective APIs
- Solid knowledge of JVM fundamentals such as classloading, memory management, garbage collection
- Demonstrated experience in platform API design and development
- Knowledge on microservice and event-driven architecture
- Experience in working with version control frameworks such as Git (preferable), SVN
- Experience with NoSQL databases (MongoDB or Cassandra) & Relational Databases
- Solid understanding of TDD & Agile principles such as CI / CD, with a proven track record of implementing solutions centred around those concepts
- Excellent communication, collaboration, reporting, analytical and problem solving skills
Required Qualifications and Skills:
- 3-5 years of work experience in the development background, with at least 2 years experience in Java, Spring, Sprint Boot, Hibernate or JPA, MySQL, Oracle, Spring MVC.
- B.E. degree in Computer Science, Graduate in Software Engineering or equivalent
- Experience in Core JAVA, Spring, Spring Boot Frameworks.
- Experience with ORM's like Hibernate.
- Good knowledge of developing RESTful web services using Spring Boot, Java1.x,Servlet2.4, JSP2.0, JDBC3.0, Java Mail, Struts2.x, HTML, HTML5, Angular7+, JavaScript, JSF, Bootstrap2.x-3.x, JQuery & CSS 3.x, Maven 3.x, Apache Tomcat7
- Knowledge of Cloud AWS.
- Experience in any Messaging Queue e.g. Apache Kafka, ActiveMQ, etc.
- Experience on Web services with REST and SOAP.
- Experience working on tool set like Eclipse IDE, SQL clients.
- Experience using application server like Jboss, TomCat, Wildfly, glassfish.
- Experience in using tools like SOAP UI, POSTMAN
- Ability to write SQL queries to fetch data.
- Knowledge of Micro services, Redis Cache and Mongo DB (or any other NoSQL) is good to have







