profile-pic
Vetted Talent

Sanskar Gupta

Vetted Talent

Lead the development of front-end applications that enhance the user experience and productivity of the platform. With five years of experience in designing, building, and maintaining web applications using Material-UI, Ant Design, React, and Angular frameworks.


Have successfully delivered several modules and components that have improved the performance, functionality, and usability of the platform, such as the Feedback Module, the Courier Segmentation Engine, the Transport Management System, and the Communication Module. Have also collaborated with product managers, engineering managers, and back-end teams to define the requirements, timelines, and API contracts for the front-end tasks. Additionally, have created and followed coding standards and best practices that have increased the code quality and consistency among the team members.


Passionate about learning new technologies and frameworks that can help me create innovative and user-friendly web applications.

  • Role

    Associate Principal Engineer

  • Years of Experience

    7.2 years

Skillsets

  • Rtk query
  • State management
  • Scalable ui architecture
  • Performance Optimization
  • Micro-frontends
  • Material UI
  • Component design systems
  • Scrum
  • react
  • Figma
  • TypeScript
  • JavaScript - 7.0 Years
  • Redux-Saga
  • Jira
  • i18n
  • Highcharts
  • Git
  • Confluence
  • Ant Design
  • Agile
  • Redux - 6.5 Years

Vetted For

8Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Mid Level Frontend Engineer (Remote)AI Screening
  • 80%
    icon-arrow-down
  • Skills assessed :Context API, Restful APIs, CSS, Git, HTML, JavaScript, React Js, Redux
  • Score: 72/90

Professional Summary

7.2Years
  • Oct, 2024 - Present1 yr 8 months

    Associate Principal Engineer

    Saviynt
  • Jul, 2022 - Apr, 20241 yr 9 months

    Senior Engineer

    Getir India
  • Sep, 2021 - Jun, 2022 9 months

    Senior Engineer

    Brillio
  • Nov, 2017 - May, 20202 yr 6 months

    Software Engineer

    Accenture Digital
  • Dec, 2020 - Aug, 2021 8 months

    Software Engineer

    Cognizant

Applications & Tools Known

  • icon-tool

    Jira

  • icon-tool

    Figma

  • icon-tool

    Javascript

  • icon-tool

    React

  • icon-tool

    React Router

  • icon-tool

    ReactJS

  • icon-tool

    Redux Toolkit

  • icon-tool

    Redux-Saga

  • icon-tool

    HTML5

  • icon-tool

    HTML/CSS

  • icon-tool

    HTML, CSS and JavaScript

  • icon-tool

    Visual Studio Code

  • icon-tool

    Git

  • icon-tool

    GitLab

  • icon-tool

    Jest

Work History

7.2Years

Associate Principal Engineer

Saviynt
Oct, 2024 - Present1 yr 8 months
    Reduced Largest Contentful Paint (LCP) on high-traffic enterprise pages from 4.75s to 2.2s via progressive rendering and reduced application load time from 11s to 4s by redesigning localization architecture supporting 14K+ translations. Architected an AI-powered Integration Copilot from the ground up, a conversational workflow engine that automates enterprise application onboarding end-to-end, projected to reduce IGA deployment time by 20% and integration maintenance costs by 30%. Spearheaded the migration of a legacy application to a micro-frontend architecture, resulting in a 20% improvement in application uptime and improved scalability. Launched a ServiceNow CMDB discovery platform automating application inventory governance through scheduled discovery workflows and connection lifecycle management, slashing manual effort by 40 hours weekly.

Senior Engineer

Getir India
Jul, 2022 - Apr, 20241 yr 9 months
    Led development of the Main Panel platform supporting promotion management, product catalog, and warehouse operations resulting in a 25% increase in user engagement metrics through simplified design and functionality. Led the refactoring of legacy JavaScript code, reducing technical debt by 10% and preventing 3+ critical bugs, which findings helped fix the three biggest causes of crashes.

Senior Engineer

Brillio
Sep, 2021 - Jun, 2022 9 months
    Led front-end development for a retail domain financial decision-making application, enabling executive team to forecast company financial status with data-driven insights. Drove cross-functional alignment between frontend, backend, and design teams during agile ceremonies, which saved 4 hours weekly due to revamped sprint planning processes.

Software Engineer

Cognizant
Dec, 2020 - Aug, 2021 8 months
    Conducted frontend framework performance analysis that guided technology decisions, decreasing initial load time by 80%. Created React coding standards documentation ensuring consistency across the team, reducing average code review time by 35 minutes and improving code quality. Developed onboarding guide that accelerated new member integration, boosting team productivity by 20%.

Software Engineer

Accenture Digital
Nov, 2017 - May, 20202 yr 6 months
    Developed innovative web portal solution for Saudi Government, improving inter-departmental communication among 200+ stakeholders and enhancing scheduling efficiency. Built Accenture API platform that accelerated project speed by 16% in early stages, reducing overall development time and enabling faster client delivery.

Achievements

  • Designed Feedback Module reducing front-end deadlines by 50%
  • Analysing the Courier Segmentation Engine
  • Developed Transport Management System
  • Developed Communication Module in the Global panel
  • Maintaining and upgrading existing modules related to Couriers
  • Developed Fleet Management Module in the Global panel
  • Involved in Front-end Estimation, prioritisation, defining timelines
  • Provided API contracts to Back-end team
  • Key Member in Sprint Planning, Capacity, Estimation & Grooming
  • Prepared framework performance report decreasing initial load time by 80%
  • Developed common components increasing team speed by 40%
  • Developed React coding standard document and Onboarding guide

Testimonial

Getir

Ali Karzan

I have known Sanskar for more than one and a half years during which time he worked as a software engineer in my teams.

Sanskar is a very strong software engineer with a special flavor in frontend development. He is really comfortable with dealing with challenging (software development) problems. And he is so successful in coming up with elegant solutions very timely to those complex problems. His work during our time together has always been impressing and outstanding.

Sanskar is a self-motivated professional with a very positive attitude. He never hesitates to go the extra mile to ensure quality in everything he does. Sanskar is also a great team player pushing things forward. Also, he enjoys helping his teammates any time needed. That is for sure, Sanskar would be very valuable to any team.

Cognizant

Arjun

I have worked with many professionals throughout my journey, but Sanskar was a promising one to work. His work ethics are pristine, and he is easily adjustable to a given situation. His expertise as a developer is considerable and helped our team to come up with efficient solutions. I hope to get a chance to work together again.

Major Projects

5Projects

Courier Segmentation

Getir
Jan, 2024 - Present2 yr 5 months
    • Focusing on the generation of a dynamic list of couriers whom notifications need to be triggered by accepting various parameters from the end users

Courier Communication Module

Getir
Aug, 2023 - Jan, 2024 5 months
    • In-house notification module to trigger notification to courier located in any of the organization location
    • Trigger notification through web application build on react


Courier Feedback Module

Getir
Apr, 2023 - Jul, 2023 3 months

    Developed Feedback module analytical dashboard to understand the overall pulse of couriers as iteration rate has its peak and feedbacks was pending from very long time

FTS

Getir
Nov, 2022 - Mar, 2023 4 months

    Getir provides its own vehicles for delivering the orders from the store houses to customer where Its getir's responsibility to manage all the vehicle across different country, have developed a platform around it

TMS

Getir
Jul, 2022 - Oct, 2022 3 months
    • Supply chain project which used to track fleet and manage inventory across its dark stores and warehouse

Education

  • Bachelor of Science in Information Science & Engineering

    Dayananda Sagar College of Engineering (VTU) (2017)

Interests

  • Cooking
  • Biking
  • Travelling
  • Trekking
  • AI-interview Questions & Answers

    Good. So I'm currently having 6.5 years of experience in front-end development, and I'm currently associated with GetThere India. And here, my role is to work on the front-end Clitter task. And I majorly worked on React JS during my 6.5 years of experience. Here, what I used to do is I take the cabins from the product managers, convert them into technical stories, and then try to convert them into technical specs. Then I try to assign the task to the team, and I take up the complex tasks and assign them to myself. I use to build up reusable components so that they can be used across our application, and I also work on performance optimization techniques used in React. So I majorly work on the front-end side. Also, in this process, I try to develop the API contract, which is required by the back-end team. So providing them the API contract is also a part of my role. So that's it.

    Coming to this question of choosing Redux or a context API. So, we were working on a very small project where we were used to build our application where our courier or the people who want to join GetIt would want to fill up a form. And then based on that, we would take their response and proceed further. So in this scenario, since this is a very small application that doesn't deal with a lot of complex city and doesn't have so many models, So there, we tried to use the context API for state management, and in a place where we have multiple components where the data of each company needs to be shared between them to do the processing. So in that scenario, we would go for Redux. So based on these parameters, my decision improved based on the requirement, complexity, and the need of the project. It basically influenced my decision.

    Can you explain how the problem is? Yeah. So, prop drilling is a problem where you have a parent component and many child components. There is a parent component inside that, and there are n number of components below it. In this scenario, what we can do is use the context API. And using the context API, we don't have to manually pass props through each component. Instead, we define a global context, and that global context can be utilized. We can wrap the component across that context, and then we can utilize that context throughout all the components which are wrapped around it. So, through this, we can avoid using state management libraries.

    Okay, outline the steps for connecting the ad component to our Redux store. So, there are a few methods which we can use to achieve this. Certainly, to achieve this, first, we install the Redux and the React Redux packages, and then we create a Redux store. And then we define the root reducer and the reducers also. Based on that, we have a selector, like, the user selector through which we can connect our component to the store. And that selector, what it does is it gives us complete access to the store, which is in the Redux. So through the user selector, we can connect our component to the store. Earlier, we had a connect function, which was a higher-order function that accepted the map state to props and map dispatch to props. So these are the ways through which we can connect our store.

    Okay. How do you manage application state in a component hierarchy when not using Redux or a context API? Okay, let me think of managing the hierarchy without using Redux, so we can leave the state of the component using the useState hook. The useState hook is a way to manage the state of the component within its scope. The second one would be through prop drilling, where we can pass props from one component to another or others. We can also pass data from a child to a parent through callbacks, using props properly. Additionally, we can use higher-order components or render props to manage the state. Through these techniques, we can manage the application state in a component hierarchy. So, yeah.

    Strategy strategies do you use to optimize the rendering performance of a React application? So we have strategies for performance. So what we can do is use React memo for functional components, which wraps the functional component with React's memo to prevent unnecessary renders when props haven't changed. This is one technique. Then we have shouldComponentUpdate or PureComponent for class-based components, which are part of the lifecycle methods, and we can avoid using inline functions, which can also be optimized. We also have hooks such as use memo and use callback, which are used to memoize expensive calculations and functions. We have code splitting, so React has React lazy and suspend to load components, which introduces an initial load time. Through this, we can also optimize performance. In cases where we have a large set of data, we can use virtualization in that scenario. So, these are the few strategies through which we can optimize the performance of a React application.

    Ensure unit tests are comprehensive and maintainable for React components. We can use a testing framework or library, like Jest or Enzyme, for testing. The testing library is for rendering the component. We can write a clear and descriptive test. When writing test cases, we should write a proper description to each test suite to explain what it's trying to do. Then we can test the component behavior, not the implementation. Testing the component behavior helps us understand whether we're achieving what we're expected to achieve. We can use mocking and stubbing of APIs to test whether we expect from the API. We can test the external dependency and isolate the API to test the API thoroughly or the response we're expecting from that function. There are discovery tools, like Jest's coverage, through which we can check the coverage of our test cases and discover all the code we've written. These are the few things through which we can ensure we're writing a comprehensive and maintainable test case for React components.

    Implementing theme switching in React involves managing the state globally to apply different styles based on the selected theme. We can use the React Context API for this purpose. To begin, we define the theme context globally. Then, we can use the styled components library to apply styles based on the current theme. This way, we can create teams and provide team data along with a function to toggle the theme. For implementing the theme context, we can use the React Context API and styled components.

    Server side rendering has its own benefits. For instance, when a normal React application is not SEO friendly. There's a popular framework that simplifies server side rendering for React applications known as Next.js. We can then choose our framework and leverage it to help with initial data fetching. It fetches the data on the server side before rendering the component, which ensures that the data fetching logic is consistent between the server and avoids discrepancies. Apart from this, when we develop an application with server side rendering, we ensure that metadata such as title and description is rendered on the server for SEO benefits. We use a library like Next.js to manage metadata. We can also use code splitting to reduce the initial load time. We can use tools like Webpack or Vercel, and we can use dynamic import. We ensure that code splitting works seamlessly with server side rendering to avoid any issues. Then, we can implement caching to improve performance and reduce server load. We use a caching header and a server side caching solution like Redis.

    How do you approach implementing custom hooks in a React application for reusing logic? So, we can use custom hooks. Let's suppose we have a component where we've written a boost effect, which calls the API call and stores that response into our internal state of that component. We can extract this functionality into our custom hook, and that custom hook will only deal with the logic of fetching the data from the network and then return the response directly. So, if we do this, instead of writing the same logic again and again in all different components, we will be reusing that logic in our custom hook. And then we can reuse this logic at multiple places throughout the application by just simply importing it. This will reduce our code redundancy, and the application will be more performant also.

    When would you consider using CSS module in a project, and what benefit do they provide over traditional CSS? Using CSS modules in a project can be a great choice, especially when there are benefits to using CSS modules, like component-based architecture. When your project is structured around reusable components, CSS modules help encapsulate the style for each component and avoid global namespace pollution. In cases of large codebases, using CSS modules is preferable to traditional CSS. Additionally, CSS modules make the code more modular and maintainable. They ensure that the styling scope is local to the component, improving maintainability and readability. Apart from this, CSS modules automatically scope CSS by generating unique class names and prevent conflicts. This avoids global namespace pollution, making it easier to maintain the code.