profile-pic
Vetted Talent

Dipta Biswas

Vetted Talent

Seasoned full-stack developer with over 4 years of experience in building robust web applications. Proficient in both front-end and back-end technologies, with a strong focus on ReactJS for the UI/UX development and Node.js, Express.js, and MongoDB for the server-side implementation. Well-versed in JavaScript, TypeScript, and various frontend frameworks and libraries like React, Redux, and Socket.IO. Demonstrated expertise in architecting serverless solutions on AWS, leveraging services like Lambda, S3, and API Gateway. Adept at leading development teams, ensuring seamless project delivery and enhanced productivity through efficient workflow management. Committed to staying up-to-date with the latest industry trends and best practices to deliver cutting-edge solutions that provide an exceptional user experience.

  • Role

    Consultant

  • Years of Experience

    4.10 years

  • Professional Portfolio

    View here

Skillsets

  • Node Js - 3.5 Years
  • Next Js - 2 Years
  • Node Js
  • SCSS - 3.0 Years
  • Type Script - 3 Years
  • Bootstrap - 3 Years
  • Github - 4 Years
  • React Js - 4 Years
  • Node Js - 3.5 Years
  • NestJS
  • Restful APIs - 4 Years
  • react - 4 Years
  • Next Js - 2 Years
  • REST API - 4 Years
  • FullStack - 4 Years
  • Next Js - 2 Years
  • Socket.IO - 3 Years
  • CI/CD - 3 Years
  • Node Js - 3.5 Years
  • Type Script - 3.0 Years
  • AWS - 3 Years
  • HTML - 4.0 Years
  • Redux - 4 Years
  • Git - 4 Years
  • CSS - 4.0 Years
  • Rest APIs - 4 Years
  • React Js - 4 Years
  • JavaScript - 4.0 Years
  • Mongo DB - 3.5 Years
  • AWS
  • CSS3 - 4 Years
  • Docker - 2 Years
  • Git and github
  • HTML5 - 4 Years
  • Mongo DB - 3.5 Years

Vetted For

10Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Full Stack Engineer - React JS and Node JS (Remote)AI Screening
  • 75%
    icon-arrow-down
  • Skills assessed :MeteorJS, AWS, Git, JavaScript, Jenkins, Mongo DB, Node Js, Problem Solving Attitude, React Js, React Native
  • Score: 75/100

Professional Summary

4.10Years
  • Sep, 2024 - Present1 yr 8 months

    Consultant

    Deloitte
  • Feb, 2022 - Sep, 20242 yr 7 months

    Full-stack Developer

    CodeClouds IT Solutions
  • Sep, 2021 - Feb, 2022 5 months

    Software Developer

    Fastor7
  • Aug, 2020 - Sep, 20211 yr 1 month

    Full-stack developer

    Acropolis Infotech

Applications & Tools Known

  • icon-tool

    Docker

  • icon-tool

    Git

  • icon-tool

    AWS

  • icon-tool

    Nginx

  • icon-tool

    EC2

  • icon-tool

    HTML5

  • icon-tool

    Javascript

  • icon-tool

    React

  • icon-tool

    Node.js

  • icon-tool

    MongoDB

  • icon-tool

    Next.js

  • icon-tool

    NestJs

Work History

4.10Years

Consultant

Deloitte
Sep, 2024 - Present1 yr 8 months
    Developed and maintained web applications by translating Figma designs into responsive and user-friendly interfaces, ensuring optimal user experience. Spearheaded the modularization of UI components, reducing redundant debugging time by 60%. Collaboration with frontend developers, UI/UX designers to design, develop, test & deploy solutions based on industry best practice. Collaborated with the Coveo team to implement Coveo Headless and Atomic libraries in a Next.js environment, optimizing server-side capabilities. Successfully improved search and listing functionality for commerce pages, achieving a 90% reduction in workload and improving operational efficiency.

Full-stack Developer

CodeClouds IT Solutions
Feb, 2022 - Sep, 20242 yr 7 months
    Enhanced project 45% by customizing Ant Design Pro with React and Ant Design, tailoring it to organizational needs and reducing the setup time for new projects. have acquired hands-on experience in architecting serverless solutions, employing technologies such as AWS Lambda, S3, and API Gateway. Demonstrated adept comprehension of the AWS CI/CD architecture through the implementation of CodeBuild. Effectively enhanced productivity metrics by a notable 90%.

Software Developer

Fastor7
Sep, 2021 - Feb, 2022 5 months
    Revitalized a real through the strategic implementation of ReactJS, OpenLayers, and Nearmap integration. Achieved an 60% enhancement in performance by adeptly incorporating hooks and caching mechanisms. Crafted web application animations employing Css/Scss , react and JavaScript, seamlessly blending creativity with coding to enhance user experiences.

Full-stack developer

Acropolis Infotech
Aug, 2020 - Sep, 20211 yr 1 month
    Created web applications featuring responsive user interfaces, including streamlined admin dashboards. Produced professional and user-friendly designs for smooth experiences using React, HTML5, CSS, and Bootstrap. Utilized Gzip compression, an Nginx server, EC2 instances and load balancers to proficiently deploy the backend. Employed a streamlined approach for efficient api management Managed User authentication using JSON, web tokens, Cross-browser Compatibility

Achievements

  • OUTSTANDING PERFORMANCE IN DEVELOPMENT Nov 2023 | Kolkata, India

Major Projects

3Projects

MBOX

    MBOX is a cloud-based storage service that allows users to store, access, and share files online. It provides a secure platform to upload various file types, including documents, photos, videos, and more, which can then be accessed from any device with an internet connection. My clone replicates Google drives functionalities. A Google drive clone application using the following stack - Next Js, MongoDB, Razorpay, AWS S3, Encryption

Rello

    Trello is a project management tool where users can create boards and tasks to organize workflows effectively. My clone replicates these functionalities with added real-time capabilities. I built a Trello clone application using the following stack - ReactJs, Bootstrap and SCSS, Socket.io, GitHub Actions (CI/CD)

Draw.io clone

    Helps users create flowcharts, organizational charts, network diagrams. This clone application using the following stack - ReactJs, JavaScript, Drag-and-drop API, CSS3, HTML5

Education

  • Bachelor Of Technology in Information Technology

    BENGAL COLLEGE OF ENGINEERING AND TECHNOLOGY (2020)

Interests

  • Travelling
  • AI-interview Questions & Answers

    So, yeah, my name is Ipto Visas. I am from a small village in West Bengal, India. I started my career in 2020 as a full stack developer intern, and then moved to a full-time role in the same company. I got to learn more about ReactJS, MongoDB, and Node in depth. I started building more applications with front-end, developing front-end applications using React and JavaScript, as well as learning the CSS part. After that, I built multiple projects on my own. As I continued building and developing applications as a full stack developer, my interest shifted more to the front-end. So, I call myself a front-end first developer, because I love working with the UI and seeing what's going on there. I also love front-end animations. In addition to front-end work, I've worked with the back-end using Node.js and MongoDB. I've experienced NoSQL databases, including DynamoDB and AWS databases. In my last company, I worked with serverless architecture, which involves Lambda functions and AWS frameworks, and so on. Recently, I completed a Google Drive clone application that simulates all of the major functionalities that Google Drive provides. This project was built by myself, and it's all about me.

    React app performance has degraded significantly due to data volume. So, let's take a look at reactive tools. First of all, I'll check the front-end part to see what needs to be modified to improve performance. From the front-end part, I'll check React rendering to see how components are rendered, and how each component gets rendered. I'll also use the React profiler to check the rendering and other than that, I'll check the integration part to see if there are any lists being rendered without pagination or caching. I'll implement those to improve UI performance. If there's a large list, I'll introduce React virtualization to improve performance. Additionally, in the front-end, I'll keep monitoring web titles to maintain them according to Google standards. On the back-end part, I'll check and monitor API routing using dev tools like Grafana or other DevOps tools that can help me monitor API performance. On the API end, I'll introduce caching with Redis, and in MongoDB, I'll check how much connection it's making and how I can implement MongoDB pipelines to improve performance.

    Roh, how do you ensure the smooth rendering options for large data sets? So, I'll first introduce browser pagination. If it needs to be rendered from the browser, I'll load the data from the backend and then divide it into chunks, like 10 or 20 data per attempt, and implement infinite scrolling. Moreover, to extend this approach, I'll add one performance improvement tool, React Virtualization, which will improve the rendering part and listing of that data set more performantly.

    Look at the scenario as an atomic operation. I'm going to be critical within a no-depletion environment. How do you achieve it? So, for atomic operation, I'm getting that MongoDB provides the transactions that MongoDB handles to ensure that whenever the data is being passed to multiple collections, suppose there is a relationship with multiple collections and the data needs to be stored in multiple collections while maintaining multiple connections or there is a dependency between the collections depending on the data that comes from the front end that needs to be stored synchronously. So on that, the data cannot be modified between the collections because if that data gets modified, then the consistency of the data would be broken, right? So to maintain the consistency of the data, MongoDB introduced transactions and it gives us a session that can help to maintain the consistency. To break sometimes it is a bit difficult to maintain the consistency because of concurrency, multiple requests have been made to the backend and MongoDB tries to save all the data and retrieve at the same time. So at that point, MongoDB cannot retrieve the updated data. So we need to prioritize the read preference of the data that can be used with the MongoDB transaction function.

    Examine this JavaScript function that is intended to return a new array with each element squared. Can you identify any logical issue in the program? So here the i goes to from 0 to array.length equals to array.length. It should not be equals to, so the condition would be i less than array.end because if it is equals to then the element would not be there because i starts from 0 not 1. If we go to up to length then it will be undefined on that case, the array of index will be undefined. In that case the square will be in n.

    And then what method would you say is essential for unmounting the components that involve an API request? So we have the AbortController in the JavaScript API. So where we can pass the signal when a request gets made by the browser, and that signal we can pass to the abort controller when we're about to unmount. So that the abort controller can cancel the request at the same time.

    To efficiently execute complex queries in MongoDB, we can maintain indexes in the database for read operations. However, for MongoDB, if we use it like a relational database with multiple lookups, it won't be efficient in the long term, especially for complex data. MongoDB suggests using replicas, or creating a duplicate set of data, if the data requires relations to another table. This allows for efficient read and write operations for complex queries. But we also need to maintain data integrity and prevent data duplication.

    Given this rear component state management approach, can you explain what potential issues may arise? How could it be improved considering best practices? So, here I don't see any return, but I don't know if there is, this is the issue. Another one I would like to mention is to use the increment count, right, and to use this as a state and increment count to avail this dot set state. We need to bind the set state, bind this increment count method inside the constructor so that it's available to that method, that's the thing. But again, I am not sure about the return, why it is not present there. It would be better to have a look at the return, yeah.

    To refactor a large React component that is difficult to maintain due to complex state and has side effects, we can split some of the components, divide a particular component into multiple components and maintain it as a separate component. So, suppose if there is a component that has multiple sections like a list, a search box, and a pagination, we can create separate components for each of these sections. We can maintain the state of each section in its respective component. Other than that, if the state of a component is not affected by the outside world, we can isolate that component's state using context and a reducer. The reducer will help us segregate between states. So, for a component that has multiple states, we can split the component into multiple sections and in separate files, and call those components in the parent component like one component that we are modifying. If the states are related, we can isolate the states that are not required for the outer layer, but if the states are required for the outer layer, we can use context hooks. We can create context and provide the state throughout the component layer, so that every other child of that particular component can have those listed states. This is the state logic and the side effects also we can maintain by different components, creating different components and we should avoid the prop drilling approach as well. That is the go-to approach to optimize the large component. So, first of all, we would be splitting the component, splitting the states and maintaining one singular state that can be overall managed by all of these components.

    If you have a memory leak in your Node application, I would go about diagnosing and solving it by using the performance tab in Chrome DevTool to get the memory leak. So there is a graph in the performance tab which identifies which can increase if there is a memory leak, the heap storage also and other than that the CPU also. So I would look into that CPU and heap storage stats and based on the stats I will try to find which function of that, which is the function that caused the memory leak. So by using this I can, it is a bit time-consuming but yeah, I can, it is more helpful when we have the memory leak and we don't have any idea which functions are causing this memory leak.