profile-pic
Vetted Talent

HARsha VARdhana B

Vetted Talent

I am an experienced Senior React Developer with 6 years of experience. I specialize in React Js, HTML/CSS, Node Js, and Express Js. Over the years, I have developed a deep understanding of the technologies behind the development of dynamic web applications. I believe in creating exceptional user experiences with clean and efficient code. My experience allows me to create intuitive applications that are fast, secure, and aesthetically pleasing. I have a passion for problem solving and am constantly seeking out new technologies and best practices that can further improve development processes.

  • Role

    Senior Software & Web3 Engineer

  • Years of Experience

    7 years

Skillsets

  • HTML
  • Web applications
  • react - 5.0 Years
  • Github - 6.0 Years
  • Blockchain - 1 Years
  • web3 - 1 Years
  • AWS
  • AWS
  • CSS
  • Elasticsearch
  • Ethersjs
  • Web Automation
  • MySQL
  • Next Js
  • Node Js
  • Redux-Saga
  • REST API
  • SSR
  • Styled-components
  • Web Automation
  • Web3js
  • automation - 1 Years
  • Node Js - 5 Years
  • Express Js - 3 Years
  • Express Js - 3 Years
  • Python - 2 Years
  • Python - 2 Years
  • Redux - 3 Years
  • Redux - 3 Years
  • UI - 06 Years
  • JavaScript - 7.0 Years
  • HTML - 6.0 Years
  • Node Js - 5 Years
  • Selenium - 01 Years
  • React Js - 5 Years
  • Django
  • CSS - 6.0 Years
  • API
  • Mongo DB
  • Node Js
  • Express Js
  • Full Stack

Vetted For

7Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Front End Developer - React JS (Hybrid)AI Screening
  • 76%
    icon-arrow-down
  • Skills assessed :RESTful API, CSS3, HTML5, JavaScript, Problem Solving Attitude, React Js, Redux
  • Score: 68/90

Professional Summary

7Years
  • Apr, 2024 - Present1 yr 6 months

    Senior Fullstack Engineer

    upGrad
  • Nov, 2023 - Feb, 2024 3 months

    Senior software Engineer

    Bepop
  • Nov, 2023 - Feb, 2024 3 months

    Sr. Software Engineer

    Bepop
  • Oct, 2021 - May, 20231 yr 7 months

    Product Engineer

    Rapido
  • Oct, 2021 - May, 20231 yr 7 months

    Product Engineer UI

    Rapido
  • May, 2023 - Oct, 2023 5 months

    Web3 developer

    Freelance
  • Jun, 2019 - Sep, 20212 yr 3 months

    Software Engineer

    Talent500
  • Jun, 2018 - May, 2019 11 months

    Software Engineer

    CoffeeBeans Consulting
  • Jul, 2017 - May, 2018 10 months

    Software Intern

    Thoughtworks

Applications & Tools Known

  • icon-tool

    Git

  • icon-tool

    Javascript

  • icon-tool

    ReactJS

  • icon-tool

    Redux-Saga

  • icon-tool

    Next.js

  • icon-tool

    Express.js

  • icon-tool

    GitHub

  • icon-tool

    SQL

  • icon-tool

    Keycloak

  • icon-tool

    Metamask

  • icon-tool

    AWS

Work History

7Years

Senior Fullstack Engineer

upGrad
Apr, 2024 - Present1 yr 6 months
    Contributed to the development of LLM-based chatbot applications, enhancing user interaction and efficiency for global health sector teams. Managed application access requests, which involved a complex user identification and authentication system with multi-level approvals, ensuring secure and appropriate access to sensitive data. Collaborated with product management to streamline approval processes, reducing bottlenecks and optimizing turnaround time for user requests. Developed ReactJS and Python solutions to enhance business insights and research capabilities within the medical sector, providing tools for data analysis and visualization.

Senior software Engineer

Bepop
Nov, 2023 - Feb, 2024 3 months

    Led mentoring initiatives for 2 junior developers, orchestrated sprint planning and tracking, architected solutions for server-

    side and UI (REST API and SSR), consistently delivered tasks and resolved production bugs. Maintained high code quality

    through GitHub PR reviews, collaborated with non-tech teams to comprehend user pain points, and communicated

    effectively with product managers. Proficiently utilized ReactJS, NextJS (server-side rendering), NodeJS, ExpressJS (REST

    API), and MongoDB.

Sr. Software Engineer

Bepop
Nov, 2023 - Feb, 2024 3 months
    Led junior developer mentoring initiatives, fostering their professional growth, improving their technical skills, and increasing overall team productivity. Orchestrated sprint planning and tracking, ensuring the timely delivery of project milestones and adherence to project timelines. Architected server-side and UI solutions, including REST API and SSR, demonstrating advanced technical design skills and contributing to the application's scalability and performance. Ensured code quality through rigorous review processes, addressed production bugs to maintain system stability, and collaborated with cross-functional teams to translate business needs into technical requirements.

Web3 developer

Freelance
May, 2023 - Oct, 2023 5 months
    Provided freelance services for NFT projects, assisting clients across various time zones with NFT contract deployment and website creation. Integrated Metamask wallets to facilitate user interaction with blockchain networks, managed NFT contract interactions via RPC, and handled NFT asset storage solutions.

Product Engineer UI

Rapido
Oct, 2021 - May, 20231 yr 7 months

    - Developed and maintained analytics dashboards and web portals to facilitate the visualization and analysis of business data,

    supporting internal analysts and business units.

    - Created a user-friendly web portal enabling non-technical users to construct simple SQL queries through interactive

    components, reducing technical barriers and enhancing accessibility for a wider audience.

Product Engineer

Rapido
Oct, 2021 - May, 20231 yr 7 months
    Architected and maintained a web application with authentication, CRUD, and RBAC functionality, ensuring secure data management and user access control. Designed a no-code UI solution for generating SQL-based data set requests, empowering non-technical users to retrieve and analyze data efficiently. Streamlined the data request process through reviews, edits, and approvals, and developed an RBAC layer with Keycloak to manage user permissions and application workflows. Developed analytics dashboards and web portals to provide insights into business data and support decision-making processes.

Software Engineer

Talent500
Jun, 2019 - Sep, 20212 yr 3 months
    Directed front-end development for talent acquisition applications, contributing to the development of tools to expedite the hiring process. Managed a team of engineers, fostering a collaborative and productive environment, and promoting knowledge sharing within the team. Translated stakeholder expectations into actionable development stories, providing clear guidance to the development team, and managed sprint planning to align feature deployments with project timelines. Ensured code quality through rigorous code reviews, collaborated with backend teams for seamless integration of front-end and back-end systems. Influenced technical decisions for UI streams, providing technical leadership, and collaborated with backend teams on API contracts and web automation tasks.

Software Engineer

CoffeeBeans Consulting
Jun, 2018 - May, 2019 11 months
    Worked on internal products as a Python developer, developing Selenium-based automation scripts for data mining, and built microservices and a scraping engine to extract and process data. Normalized, standardized, and updated mined data in Elasticsearch, ensuring data accuracy and consistency for analysis and reporting. Oversaw parallel data mining operations in AWS, optimizing performance and resource utilization.

Software Intern

Thoughtworks
Jul, 2017 - May, 2018 10 months

Achievements

  • Led mentoring initiatives for junior developers
  • Orchestrated sprint planning and tracking
  • Architected solutions for server-side and UI
  • Consistently delivered tasks and resolved production bugs
  • Maintained high code quality
  • Collaborated with non-tech teams
  • Communicated effectively with product managers
  • Developed and maintained analytics dashboards and web portals
  • Created a user-friendly web portal

Education

  • Bachelor's of Computer Applications

    Alagappa University Karaikudi (2020)
  • Bachelor's in Computer Applications

    Alagappa University (2018)
  • Diploma in Electronics & Communication Engg.

    AANM & VVRSR Polytechnic (2017)
  • Diploma, Electronics & Communication engg.

    AANM & VVRSR Polytechnic (2017)
  • Bachelor's, Computer Applications

    Alagappa University (2020)

AI-interview Questions & Answers

I am a web developer, primarily working on, uh, JavaScript and launch stack and focused more on front end compared to the back end. I have been working on, uh, web applications since 2017, starting with a simple static site server and plain HTML, CSS, JavaScript sites to React and Next JS based applications in in the latest, uh, projects I have, you know, contributed to. I, uh, tried a little bit of Python and web automation and data scraping in between, but I didn't stick much. But apart from that, I have been, uh, part of b to b to b and b to c web applications, uh, where I was, uh, founding engineer of the team. I later was acquired and part of the acquisition. I was part of the, uh, core team, followed by, uh, where I, uh, followed by where I was also, uh, responsible for, uh, bringing up the whole UI with, uh, a team of other, uh, UI developers where I had to, uh, take up the responsibilities of facilitating the feature discussions between stakeholders and the tech team. And, uh, you know, understanding the requirements from the stakeholders and marketing team and translating them to the, uh, technical stories for UI side. Later on, uh, we, uh, emerged into 3 different streams on the UI side, uh, because we had 3 different applications, b to c and b to b including. Uh, so I was more of a face of a whole front end team, uh, consisting of 10, uh, UI developers including me. So I was, uh, responsible for both, uh, understanding the technical, uh, stories and, uh, translating them to the UI stories on the scrum boards and, uh, running the, uh, update calls in the first half of the day and followed by, you know, a second half in assisting the developers, uh, and, uh, managing the load of the work. That was briefly, uh, for for more than, uh, close to 2 years. Later, I joined, uh, for a start up where I was a solo, you know, a solo contributor to the whole, uh, stream of non, uh, data scientists, data analysts, and, uh, business units to understand their UI requirements and build them a certain web portals to help them ease their internal work and understand their features better. Later on, I moved on to another firm where I helped them to productionize their prototype, uh, NextShares application and, uh, go to production in a quick manner while also solving their, uh, one of their existing, uh, onboarding issues, uh, and, you know, uh, smoothening their onboarding flow. And I also help them revamp their whole UI and deploy

What approach do you take to ensure APAC also made efficiently in React application already on the same network requests? One I would do is, uh, for the same fetch call or same post call, uh, on the same endpoint, I make sure that there is no duplicate calls are happening by basically make maintaining a simple flag when an API call is being made until it is responded or handled. Right? That is one basic, uh, thing I would do to avoid unnecessary network requests at the application level. Even at, uh, simple UI elements level, I I followed the, uh, the balancing, uh, rule to, uh, prevent duplicate fetch calls or such calls. These are the 2 major things I I I usually follow. And also disabling the, uh, user intractable components that would cause, uh, you know, post calls or any data submission calls. I I I follow, uh, you know, I I I disable the basically, I disable the UI image that would trigger the API calls. Once API call is triggered from the u u UA, uh, I disable the UI event until the request is processed properly whether it is

We will ensure that we use beta React command into different projects or teams. Oh, good. Great. This starts from designing, I believe. Uh, if we are working on different projects or teams, uh, with similar theme or same functionalities. I I start with the designing, uh, phase. I make sure that the designers are aware of this fact that we are trying to reuse conference across multiple projects or teams in a given organization or a given environment. And I ask the designers to stick to the same design standards and codes. And we'll, uh, play the same in the React components as well. While building the React components, we make sure that we, uh, we follow the same theme across multiple teams and, uh, projects. And having a style guide for these components is an add on. This way, we have, uh, you know, quicker feedback, uh, loop with the designers and the stakeholders of the components and reuse recompense that we are building. And I would maintain a different, uh, library altogether for this, and we can import components from that and use them as simple as that. And I I I strongly advise and make sure that the developers are following the same standard that they are not writing their own components that are already part of the reuse reusable or reused library or common library across the projects. If ever such thing happens, I I I also make sure that the PR reviews or, uh, peer reviews that are happening across the team are making sure that they are looking out for these kind of

What are your considerations when choosing between using a class component versus a functional component with hooks in React? There is no consideration at this point of time in current and latest React library functions. It is always hooks and class, pure function components. There is no class based components at all we are using. There's nothing that, uh, class class component could provide us that, uh, functional component with hoops couldn't provide. So there is no consideration at all unless I'm dealing with a legacy project that has been written in a certain React version that needs certain class component functionality. If not, I would suggest start your React project in latest and start using hooks and functional components. If you are using some old React version in a big legacy project, there is nothing we can do but, you know, follow the class cognate or at least try to migrate a little by little every once in a while and try to migrate from away from the class based and to close towards the function conference

Practices for ensuring accessibility in is a part of your React components. Components even though you are writing your own co React component to achieve the same. For example, uh, a radio button or a toggle button or, uh, or or any kind of input that you're taking from user, try to use an input tag in your React component while writing. No matter how much, uh, styling or customization you need on the component, try as much as possible to use basic HTML tags and semantics so that you can stick so that your React component at the end of the day, even it is a React component, it is translates to HTML and CSS. So the closer your React component render is to a HTML basic component, the better it is always. There are another example. Always link your labels to your inputs or link your labels to your uh, checkbox input so that the HTML render knows that this certain label belongs to the certain input or this certain label belongs to the certain checkbox. And try to follow same same stuff with forms, tables, lists, And and also, uh, follow follow as many, uh, try to use as many like, uh, using now and the header HTML tags inside your conference will just improve the accessibility to next level. You don't have to go and implement all the accessibility features of, uh, people who are very, uh, uh, for people with disabilities or anything. Just sticking to basic HTML norms will give you 60 to 80% of the

What steps do you follow to refactor large component to smaller smaller or more manageable component in React? SRP, single responsibility principle. Try to try to break down your larger component into smaller responsibilities even if the whole large pair component makes us sensible in a single component because it all does the same thing. Again in the same large component. Try to understand and break down the functionality of that large component and break it down into smaller functionalities first. The moment we can break down the functionality and responsibility of the huge large component, we can come up with smaller React components that could act on their own and be, uh, meaningful on their own. And we might need a little bit of common state or, you know, some shared state between these comment that can always be achieved by props and callbacks. But breaking down the responsibility, breaking down the functionality of the huge chunk of React component is what gonna drive us to the smaller and more manageable React components. The moment you can break down the functionality, you have already broken down the React components. It's just a matter of writing that React component to achieve the function.

Even this type scripts reproduce in a React code base, identify the potential could follow and provide an explanation. Interface person has name and age. Display person takes a person, console dot log, person dot name, person dot age. The interface person has name and age as keys and the data types provided in the interface and which is referred to in the display person function as person type, which will, uh, be utilized inside the function. But, uh, when declaring the person data, it there is also an additional, uh, there is an additional key value pair inside the person data, which is not expected and which might break the, the which might which might break the execution flow, basically. Either we could add one more, uh, you know, key called email inside the person interface. Or yeah. I think that I I I only think I think that's the only answer

How would you would you bug this piece of code in a real component where the data fetches from the API is not, uh, rendering as expected? Component did not fetch this dot state dot API data. API data is set to catch. Return some HTML tag or maybe react fragments to render that data. Currently, the return statement is simple, uh, JSON object wrapped in a flower basis, which is not a valid JSX format. Moving forward, if that is not the case, if that if once we wrap that, uh, JSX, uh, you know, JSON data in a proper HTML format. Then I'll check for the error if there is any error or not. If there is no error, that means the, uh, if the API call was perfect and the response is returned as expected, maybe the data that we are trying to render is not validated as in it's not represent full data. It might be an empty array or empty object or null. Null. Null could null null wouldn't render anything in a valid JSX format. It could be null as in. So, uh, if if there is no error and if the render function is returning a valid JSX format, the data might be null, so checking for the type and value of the data is the last

How would you refactor large Redux code base to leverage React's context API without losing the state management efficiency? How would you refactor a larger Redux code base to leverage React's Context API without losing state management efficiency. Always start small. Always, uh, pick up certain data set or, uh, the datas, uh, the, you know, uh, piece of data from the Redux that is small in size and used in lesser known known places so that refactoring becomes easier, and we know what we are dealing with. So pick up the dataset that is used in less spaces, less instances across the application, and, uh, has no impact. Refactor that first, implement, uh, the context API end to end in that manner. Once that is done, remove that from the Redux code Redux code, uh, state management and see if it is working or not. If it is working as expected, move on to the next and go on with refactoring. That's as simple as I could say it is. Pick up the least and small as possible and go far from there to the largest and most used, uh, dataset and refactor everything into more small, manageable context. Don't keep everything in the same context. Try to break down the context into as more and as meaningful as possible and as relatable. The context should be meaningful on its own and as well as should be reusable. Just because it is full and not reusable at all doesn't mean we create a number of unnecessary context. Try to keep meaningful data together and reusable data together.

Share ways to improve real time and reduce the bundle size of a large scale React application. Imports. Start with imports. Don't import a whole library just because you're using a certain model from the library. Import only whatever is import, you know, module based. Uh, if you can see, you can even in the dependencies in package. J s, you don't have to mention the whole package. You could mention only a certain module from a package that you need. And that way, you don't have to deal with the whole library while, you know, creating the bundles and bundling and sizes. And also try to use lazy imports, uh, or chunk chunking down lazy imports. Basically lazy imports is basically nothing, but not bundling the whole application into a single bundle, but bundling, you know, it chops down the, uh, bundle into as small and as many pieces as possible and will serve on

Describe your approach to monitoring and improving the performance of your application in production.