profile-pic
Vetted Talent

Ravindra Kumar Meena

Vetted Talent

As a seasoned Senior Software Engineer with over five years of experience, I have honed my expertise in full-stack development, specializing in technologies such as React.js, Next.js, PostgreSQL, and Python. Throughout my career, I have led impactful projects, from spearheading the development of cutting-edge e-commerce platforms to introducing innovative technologies like Tailwind CSS and GraphQL to enhance performance and user experience. My journey has also involved integrating complex features like Elastic Search and Amazon S3, demonstrating not only technical proficiency but also a keen eye for collaboration and innovation. Additionally, my commitment to open-source contributions, notably through Google Summer of Code 2019, underscores my dedication to continuous learning and driving impactful solutions in the dynamic field of software engineering.

  • Role

    Sr Backend Engineer

  • Years of Experience

    6.3 years

  • Professional Portfolio

    View here

Skillsets

  • AWS
  • AWS
  • Docker
  • GraphQL
  • JavaScript
  • MySQL
  • Postgres
  • react
  • Tailwind
  • CSS3
  • HTML5
  • Kubernetes
  • MongoDB
  • Next
  • Node
  • TypeScript

Vetted For

7Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Fullstack Developer- React/Lua (Remote)AI Screening
  • 73%
    icon-arrow-down
  • Skills assessed :Communication Skills, Github, Python/Lua, react, Good Team Player, Next Js, Postgre SQL
  • Score: 66/90

Professional Summary

6.3Years
  • Nov, 2023 - Feb, 20262 yr 2 months

    Senior Full Stack Developer

    Nielsen
  • May, 2022 - Nov, 20231 yr 6 months

    Software Engineer

    Thoughtworks
  • Jul, 2019 - Jul, 20223 yr

    Software Engineer

    Capgemini
  • May, 2017 - Jun, 2017 1 month

    Full Stack Developer Intern

    Kwatt Solutions
  • May, 2018 - Jun, 2018

    Software Engineer Intern

    Shopsense Fynd
  • May, 2019 - Jul, 2019 2 months

    Open Source Contributor Internship

    Google Summer of Code

Applications & Tools Known

  • icon-tool

    AWS S3

  • icon-tool

    Python

  • icon-tool

    React

  • icon-tool

    Next.js

  • icon-tool

    PostgreSQL

  • icon-tool

    tailwind css

  • icon-tool

    MERN Stack

  • icon-tool

    GraphQL

  • icon-tool

    Node.js

  • icon-tool

    REST API

  • icon-tool

    Express.js

  • icon-tool

    TCP/IP

  • icon-tool

    Google Analytics

  • icon-tool

    PHP

  • icon-tool

    Bootstrap

  • icon-tool

    TypeScript

  • icon-tool

    Docker

  • icon-tool

    tailwind

  • icon-tool

    React Query

  • icon-tool

    FastAPI

  • icon-tool

    JWT

  • icon-tool

    LLM

  • icon-tool

    LangChain

  • icon-tool

    AWS

  • icon-tool

    Tailwind

  • icon-tool

    Postgres

  • icon-tool

    MySQL

Work History

6.3Years

Senior Full Stack Developer

Nielsen
Nov, 2023 - Feb, 20262 yr 2 months
    Built a scalable e-commerce platform with microservices architecture, focusing on responsive and accessible frontend experiences using Next.js/React, TypeScript, and Tailwind CSS for user authentication, product catalogs, shopping carts, and secure payment processing. Designed and integrated RESTful APIs and data pipelines using Node.js (Express) and FastAPI (Python), connecting backend services to frontend for seamless full-stack functionality, while leveraging AWS Lambda for serverless functions that reduced infrastructure costs by over 30% and maintained high availability. Implemented an administrative dashboard with real-time order and product management features, instrumenting telemetry and analytics to measure adoption and UX quality, and using feature flags for incremental rollouts. Optimized UI reliability, error handling, and observability by profiling performance and automating tests, enabling quick reviews and actions for administrators. Mentored junior developers, conducted code reviews, and enforced best practices in secure, maintainable code, fostering a collaborative Agile environment.

Software Engineer

Thoughtworks
May, 2022 - Nov, 20231 yr 6 months
    Led full-stack development of a social media analytics platform using React.js and PostgreSQL, delivering responsive, accessible frontend interfaces for tracking user engagement across channels, with real-time data visualization via WebSockets and D3.js for actionable insights. Designed and integrated GraphQL APIs with Apollo Client to optimize data fetching, reducing load times by 50% and improving web performance through efficient state management and caching strategies. Collaborated with product managers and UX designers in Agile sprints to gather requirements, conduct user testing, and iterate on features, resulting in an intuitive platform with enhanced accessibility and responsive design. Optimized backend database queries and indexing in PostgreSQL to handle large datasets efficiently, integrating data pipelines for scalable, reliable processing. Contributed to engineering excellence by writing automated tests, documenting APIs, and performing code reviews to ensure testable, maintainable code.

Software Engineer

Capgemini
Jul, 2019 - Jul, 20223 yr
    Developed responsive photo-tagging features in a web application using React with Redux for state management, ensuring accessible and performant UI components with HTML5/CSS3. Built and documented RESTful APIs using Node.js with Express for backend integration, connecting to frontend services and handling file uploads (PNG/PDF) to AWS S3 with secure, efficient data pipelines. Owned end-to-end feature development, from API design to frontend implementation, focusing on web performance, error handling, and automated testing for reliable user experiences.

Open Source Contributor Internship

Google Summer of Code
May, 2019 - Jul, 2019 2 months
    Basic support for Trace Compass: Collected trace logs generated by target running RTEMS application to host via TCP transfer method and displayed the events (IRQ Analysis) of the same trace in Trace Compass.

Software Engineer Intern

Shopsense Fynd
May, 2018 - Jun, 2018
    Used cursor approach with GraphQL and PostgreSQL to boost the performance of pagination. Integrated Google Analytics in ReactJS application that gives detailed event information on the Google Analytics dashboard.

Full Stack Developer Intern

Kwatt Solutions
May, 2017 - Jun, 2017 1 month
    Developed a responsive website from scratch along with Admin Panel and E-Mail PDF feature using PHP and Bootstrap which reached over 10K+ views within 10 days of the launch day.

Achievements

  • Flipkart Grid 3rd rank in college.
  • Top 3% of over 2000 teams in Microsoft AI Challenge 2018.
  • Won Silver medal in SOF (Science Olympiad Foundation) in High School 2014.
  • Flipkart Grid19 3rd rank in college.
  • Won Silver medal in SOF (Science Olympiad Foundation) in High School in 2014.
  • Top 3% of over 2000 teams in Microsoft AI Challenge 2018
  • Flipkart Grid19 3rd rank in college
  • Won Silver medal in SOF (Science Olympiad Foundation) in High School in 2014
  • Microsoft AI Challenge 2018
  • Flipkart Grid19 AI Challenge
  • Science Olympiad

Major Projects

4Projects

e-commerce app

Nielsen
Nov, 2023 - Present2 yr 7 months

    Roles and Responsibilities:

    • Spearheaded the development of a cutting-edge e-commerce platform using the MERN stack, resulting in a 40% increase in user engagement and a 30% increase in sales revenue.
    • Introduced Tailwind CSS as a styling framework, significantly reducing development time and improving UI consistency across the application.
    • Worked in Microservice architecture to increase scalability, fault isolation, etc.
    • Technologies used: React, Node, Docker, Kubernetes, AWS, TypeScript, Postgres, MongoDB, Nextjs, Python, PostgreSQL

Trading app

ThoughtWorks
May, 2022 - Nov, 20231 yr 6 months

    Roles and Responsibilities:

    • Developed efficient indexing and querying mechanisms to power the search functionality, ensuring fast and accurate search results.
    • Identified and implemented strategies to leverage the enhanced search capabilities to drive more orders.
    • Integrated the parallel file upload process to Amazon S3 (Simple Storage Service) to ensure efficient and scalable document storage.
    • Designed and implemented the integration between the application and S3, ensuring secure and reliable document storage.
    • Technologies used: React, Node, GraphQL, Git, Docker, Kubernetes, socket.io, Nextjs, Python, PostgreSQL

Travel app

Capgemini
Aug, 2019 - May, 20222 yr 9 months

    Roles and Responsibilities:

    • Integrated Redux, a predictable state container, to manage the application state efficiently and enable a seamless user experience.
    • Implemented the necessary API endpoints to support the functionality of the web application, including user authentication, photo management, and tagging
    • Developed reusable and responsive UI components using React.js to align with the overall design of the application.
    • Integrated the necessary AWS SDK and authentication mechanisms to ensure secure and reliable file uploads to the S3 bucket.
    • Technologies used: React, Node, GraphQL, Git, Docker, Kubernetes, socket.io, Redux, RestAPI, Express, AWS S3, Nextjs, Python, PostgreSQL

Google Summer of Code 2019 with RTEMS organization

Google
May, 2019 - Aug, 2019 3 months

    Roles and Responsibilities:

    • Implemented a TCP-based transfer mechanism to securely and efficiently transfer the collected trace logs from the target system to the host system.
    • Collaborated with the Trace Compass development team to understand the project's roadmap and align the RTEMS-related functionality with the overall vision.
    • Engaged with the broader Trace Compass community, including developers, users, and project maintainers, to gather feedback and address user requirements.
    • Designed and executed comprehensive test suites, including unit tests, integration tests, and end-to-end tests, to validate the correctness and robustness of the implemented functionality.
    • Technologies used: C++, Ubuntu

Education

  • B.Tech

    Indian Institute of Technology (2019)

Interests

  • Cricket
  • Travelling
  • AI-interview Questions & Answers

    Hello. My name is Ravinakumar Amina. I graduated in 2019 from ISM, Dhanbad. It's an IT college, one of the prestigious colleges in India. I did my project in conversational AI from over there. Currently, I'm working at Nielsen as a senior software engineer. I hold an experience of close to 5 years as a full stack developer. And, talking about the technologies, I have worked on React Js, Node Js, TypeScript, and JavaScript. I also have an intermediate level of experience in DevOps. Talking about other frameworks, I have worked on Django, HTML, CSS, and I also have sound knowledge in AI as well. Apart from this, I have also done open source contributions via Google Summer of Code in RTMS organization. So that's a bit about me. And, talking about my hobbies and interests, I like to play cricket, and I also like to do hiking as well.

    To enable the feature flag in a React application, we can design a configuration file in our React application. This configuration file will have features corresponding to their values, true or false. If a feature's value is true, that means the flag is enabled. If the value is 4, it means the flag is not enabled. We have to import this configuration file in the React component where the enabling of this component will be done, so we have to import this configuration file in their React hook. From there, the state of this component will be maintained. Once this is done, we can directly have a toggle button in the UI. Based on the feature flag, it will be turned on or off based on the requirement.

    So, I have faced this risk condition when multiple user accesses are possible concurrently. In fact, I have experienced this situation in the past. So for this type of thing, we have to use the transaction. So that in a transaction, what happens is that only at the moment, concurrently, a few processes will be executed. Okay? But it will also be isolated as well. Okay? It will be isolated because we will be using the transaction mechanism as serializable. Using the serializable and the transaction, we can achieve this very easily. And this will avoid the risk condition. By avoiding the risk condition, only one block of the one row of the table will be accessed by one process because of the transaction. Another process that wants to execute on that row has to wait, it will be queued. And once the previous one gets successful or its completed data execution, the next process will get a chance to try to execute on that particular row. So via using transactions and locking mechanisms, we can achieve this very easily.

    So, okay. Large monolithic Next.js application, this can be done very easily if you have a monolithic Next.js application, which is large. You have five endpoints, let's say, slash a slash b slash c, and so on. Ten routes. Okay? So, what we can do using micro front-end architecture is create different repositories. Okay? Based on that, slash a will be one micro front-end service. B will be another micro front-end service. And C will be another micro front-end service. So, that is how, like, based on the route slash a, if the request comes with the route slash a, then it will be directed to the slash a micro-service that is handling the slash a route. If the request comes through the slash b, then it will be handled by the slash b micro front-end service. So, that is how the large monolithic Next.js application can be divided into micro front-end architecture. And I have used this and currently, I'm also using this micro front-end architecture in my project. And what I've experienced is that it has also improved the performance of the application very drastically.

    The strategy that I used to decide if I am supposed to create a new component or expand the existing one is as follows. So, let's say I'm trying to develop some feature and I try to import the component. If I see that this component can be extended, which will fulfill my requirement, then I will definitely extend that component. I will also make sure that the existing functionality that was handled by the component does not break. If I feel that the existing component will not at all be able to fulfill the requirement that I need, then I will create a new component. To make sure that everything goes well, we have the existing test cases and unit test cases. We need to run those test cases against the refactored component if we are building the existing one. We need to check if everything goes well, and then only we will be able to commit the new version of the updated component. So, that is how I would make sure that the updated component does not break the entire functionalities.

    Yes, I have previously worked on serverless architecture. So serverless functions are generally used in serverless or microservices architecture. So using serverless functions, we have a function on AWS, which is called Lambda. They are called serverless functions. The key point behind serverless functions is that they are very easy to code and easy to maintain. This is all deployed on AWS. So that's how it's done. And let's say, in one of the applications I was working on, an ecommerce application where the user was supposed to download the file of past orders. Okay. So downloading a file is a very heavy process. Like, you need to compute orders in the last 2, 1 month, 2 months based on the requirement. So it was a little heavy. Based on that, the serverless function was used where it triggers that this is the user trying to get the order, the download history of the previous order. So this is how it was done. Using the serverless function, it automatically sends the file to the user as well.

    So here, what I see here, we have directly checked out the master first before actually pulling the repository. Okay? So here, this is the one issue that I see here. 1st, we should pull the repository. Okay? Then only we should check out the master. Once we have done this, then we will ensure that we always have the latest code available in this CICD pipeline. So for this step, we would first clone the repository, check out the master, and try to pull again, just to make sure that we have the latest version of the code. So that is how we can improve this CICD pipeline.

    Okay. So, there is one issue that I see here. So if the role is admin, then it will please print the welcome admin. If the role is moderator or the role is user, then it will print the welcome team member. Or else if it is not anything, then it will bring the welcome guest. And after that, once this is all done, after that, we have also set it as end. Yes. So end means that this is the stop of the execution. That is causing the script to end at one particular line. So this will prevent the print welcome message function from being called.

    To implement a custom Lua model that efficiently handles concurrent data rights and reads, so what we can do here is utilize the basic fundamentals of the transaction. So, okay, in a transaction, a transaction follows the property of ACID. It is atomicity, consistency, isolation, and durability. So, with this, what happens at one particular time, one process is allowed to execute while other processes are queued. So, in this way, we are making sure that the process that is trying to update a row or data logs it by one process so that other processes do not execute on it. So, that is how we make sure that the data we are writing is not dirty, and the data that we are reading is not dirty. So, that is how we make sure by using the transaction mechanism that the rights and reads are good and not dirty.

    Process SQL adhere to the asset properties. The asset properties mean here a means. Like, all steps should compute or none should complete. Consistency, like, we have the database consistent, and isolation, like, the database query should run in isolation. And durability means the client data change that we are trying to make is durable and actually gets reflected in the database as well. Okay. So using a transaction with this is very basic syntax for the transaction is, like, begin transaction. And after that, just try to write the code, whatever you want to do in the transaction. After that, we have to use the commit. So this is a commit. We are trying to do, we are committing the transaction. Okay? So that is how this Postgres SQL adheres to the asset properties, and this is generally seen in relational databases only. But there are few other non-relational databases like MongoDB that also adhere to the ACID properties. But relational databases definitely follow the ACID properties.

    Okay, in the next, how do we prioritize the SEO performance in a Next.js application? Okay, so here, there are other frameworks similar to Next.js, like Gatsby.js, but if you want to do SEO, then Next.js would be the preferred option because it gets rendered on the server itself. So that's why it's very efficient and very powerful. Another advantage is that server-side rendering for SEO optimization is very effective, but there are trade-offs as well. If you want to do SEO and you're doing, let's say, a few pages that need to be rendered on the client side, then SEO might start breaking. In that case, it's possible to render only the necessary components on the server, while using client-side rendering for the rest. However, the trade-off is that if we have to render a component or page on the client side, it might be slow because server-side rendering is much faster than client-side rendering.