profile-pic
Vetted Talent

Harsh Umaretiya

Vetted Talent
With over four years of experience in the field, I have honed my skills in Ruby on Rails development, specializing in building RESTful APIs and leveraging the power of Ruby to create efficient and scalable web applications. My expertise extends to utilizing jQuery to enhance user interfaces and streamline the user experience. Throughout my career, I have successfully delivered high-quality projects that demonstrate my proficiency in Ruby on Rails and showcase my ability to tackle complex challenges with innovative solutions.
  • Role

    Back End Developer

  • Years of Experience

    5 years

Skillsets

  • bug hunting
  • Scrum Management
  • Ruby
  • Restful APIs
  • Redis
  • Project lead
  • Penetration Testing
  • HTML
  • Git
  • Git
  • Docker
  • CSS
  • Client interactions
  • CI/CD
  • Capistrano
  • Ruby - 4.5 Years
  • AJAX
  • AWS - 4 Years
  • Heroku - 3 Years
  • Rails - 4.5 Years
  • CI/CD - 2 Years
  • Rest APIs - 4 Years
  • CSS - 4.5 Years
  • Git - 4 Years
  • HTML - 4 Years
  • Postgre SQL - 2 Years
  • JavaScript - 5 Years
  • jQuery - 4 Years
  • Ruby on Rails - 4.5 Years
  • Ruby on Rails

Vetted For

12Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Ruby on Rails DeveloperAI Screening
  • 61%
    icon-arrow-down
  • Skills assessed :UI/UX Design, website maintenance, Heroku, MVC Architecture, RESTful API, AWS, CSS3, HTML5, JavaScript, jQuery, Ruby on Rails, TDD
  • Score: 55/90

Professional Summary

5Years
  • Sep, 2023 - Present2 yr 8 months

    Senior Software Engineer

    Makerble
  • Mar, 2021 - Present5 yr 2 months

    Software Engineer

    Freelance
  • Jan, 2021 - Present5 yr 4 months

    Penetration Tester & Bug Hunter

    Freelance
  • Jan, 2020 - Mar, 20211 yr 2 months

    Software Engineer

    Simform Solutions
  • Sep, 2021 - Mar, 2022 6 months

    Software Engineer

    Omnirio
  • May, 2022 - Jul, 20231 yr 2 months

    Senior Software Engineer

    Purpleplum Digital Solutions

Applications & Tools Known

  • icon-tool

    Ruby on Rails

  • icon-tool

    AWS

  • icon-tool

    Heroku

  • icon-tool

    PostgreSQL

  • icon-tool

    Redis

  • icon-tool

    Git

  • icon-tool

    RESTful APIs

  • icon-tool

    AWS

  • icon-tool

    Docker

  • icon-tool

    Sidekiq

Work History

5Years

Senior Software Engineer

Makerble
Sep, 2023 - Present2 yr 8 months
    Leading 3-4 development teams at Makerble, focusing on software solutions for UK non-profits. Direct engagement with clients to tailor feature requirements and ensure satisfaction. Overseeing the development lifecycle, from architecture design to deployment, using Ruby on Rails.

Software Engineer

Freelance
Mar, 2021 - Present5 yr 2 months
    Undertook several freelance projects, including development and maintenance for tours and travel, college management and blog management websites. Also involved in bug fixing, feature implementation and updates.

Penetration Tester & Bug Hunter

Freelance
Jan, 2021 - Present5 yr 4 months
    Identifying security vulnerabilities in various web applications and reporting them, thereby helping businesses to secure their own and their clients' data.

Senior Software Engineer

Purpleplum Digital Solutions
May, 2022 - Jul, 20231 yr 2 months
    Served as a Senior Software Engineer, focusing on backend development using the Ruby on Rails framework and worked with front-end part with ReactJs on developing small impact functionalities and resolving bugs present in react code base.

Software Engineer

Omnirio
Sep, 2021 - Mar, 2022 6 months
    Worked on the development of a SaaS platform for online retailers in East Asia. My responsibilities included integrating multiple marketplaces to develop one-touch applications and using Ruby to integrate third-party marketplace service APIs.

Software Engineer

Simform Solutions
Jan, 2020 - Mar, 20211 yr 2 months
    Participated in a variety of Ruby on Rails projects as a backend and full-stack developer using Rails, Heroku, PostgreSQL and AWS. Developed applications utilizing object-oriented methodologies.

Major Projects

3Projects

Omni

Jan, 2022 - Jun, 2022 5 months
    • Online product management marketplace with third-party API integration using REST APIs in Rails.
    • Omni is an online product management marketplace; it is similar to a product inventory in which we must perform routine operations such as fetching, creating, updating, and many more functions with third-party REST/RESTful APIs.
    • Worked alone to develop third-party API integration using REST APIs in Rails, as well as features and a CI/CD pipeline for deployment using the Capistrano gem.
    • It went well and the client was satisfied with the outcome.

Paycraft

Jan, 2021 - May, 2021 4 months
    • Ruby on Rails API development for a corporate expense management system.
    • Paycraft functions primarily as a system for managing corporate expenses. This application solely utilizes Ruby on Rails APIs, adhering to REST/RESTful APIs
    • Served as a Senior Backend Developer specializing in Ruby on Rails.
    • Tasked with overseeing the entire development and deployment lifecycle, along with leading a small project team responsible for the continuous and future enhancements of the codebase and REST API structure.
    • Also managed client interactions to define project scope. Held accountability for meeting project deadlines and deploying builds to clients, ensuring deliverables were dispatched in accordance with the established timelines

Omnirio

Jan, 2020 - Aug, 2020 7 months
    • Backend development with Ruby on Rails to integrate with multiple third-party service RESTful APIs.
    • Worked as a backend Ruby on Rails developer.
    • Worked with marketplaces like shopee, shopify, lazada, zalora, quickbook, Magento, and woo-commerce to integrate with our system and provide new features for our users to design an application that is easy to use.
    • Ruby was only utilized to integrate third-party marketplace service RESTful APIs.
    • Successfully delivered the project and it was much appreciated by the client.

Education

  • B.Tech (Information and Technology)

    A. D. Patel Institute of Technology, Gujarat Technological University, India
  • HSC (Science)

    Creative Science School, Rajkot, Gujarat

Certifications

  • Ceh

AI-interview Questions & Answers

I'm basically located in. I have completed my degree from ADIT in the field of information and technology. I have more than 4.3 years of experience with Ruby on Rails. I started a services company where I worked as a software developer, and at the time, I was working as an intern. And after completing 3 to 6 months of internship, I also joined the organization department. I have a very good interest in the cybersecurity domain as well, and I have completed a certified ethical hacking certificate. I'm doing penetration testing and bug bounty hunting in my free time with related to Ruby on Rails. I have worked on more than 15 to 20 projects as a freelancer and have implemented few functionalities with some coders with pet programming as well. So yeah. And I work with service-based companies and product-based companies as well, and I have developed 2 to 3 products in the Fintech industry, and one is a hospital management software, and 1 and 2 are two projects in the nonprofit organization. So, yeah, basically, I have worked with and I'm working as a senior software developer, and I'm managing a team of 2 to 3 developers and 2 UI developers in my current organization. Yes.

Okay, so here, yes, we can directly use the MVC components when we're requesting anything from the HAX part. So we can confirm with the form fill and adding the remote through and every necessary steps. And from there, we can identify to the controller that the request is in XHR format. Like, the request is confirmed, getting in the extra chart format or more. If it is XHR format, then we can test it like it's a JSON call, and we can redirect or render, we can render a new partial for that. So, yes. And from the controller, we can also get all the parameters and everything from the request or path. So from that, we can directly check. And according to that, we can update our logic and show the different logic in the controller.

Okay, so in JavaScript, the callbacks, so there are many callbacks in JavaScript, so we can directly, like, if there's an on click, there will be an on over, on pop up, and every callback we can use, and the ejects part as well. So when we're writing HTML or admin files at that time, we conclude this JavaScript callbacks. And we can perform according to, like, if someone is submitting a form, then we perform the Ajax call at that time and directly call the controller action. And from that, we are able to render in the success part. We will show what in which ID or in which class we want to show that particular result and everything. So, yeah, we can directly handle this whole kind of thing from the Ajax part and in the HTML file.

So in multitenant, okay. So, multitenant application, there are a few gems provided by Ruby, including a multi-tenant gem, and there are one or two gems provided by Ruby on Rails. So, we can directly check from which domain other data is coming and for which domain we are going to display. According to that, we saw that in the database table. For each tenant, there will be a different domain, and there will be a different database association. So, from that, we can check when a user is logged in. We can check into the database from which this user is coming from which tenant. So, we can identify the particular tenant's complete record and association according to that particular user. And from that, we can redirect to that different domain or particular organization he is logged in. We can directly redirect from that. So, mainly, we have to score the core functionalities to the related association in the database.

I'm not going to save a screwable super503 service, and I will create a Rails application hosted on AWS. Okay. So here, firstly, we can check with the AWS service configuration whether it's working fine or not. And we can also check what the response we are getting from AWS in our Rails application when we are calling the API. We can check that the token is correct or not. And after that, if there's a 503, we check the permissions as well. If the permission is still incorrect, we can check the AWS server configuration. If it's not giving any configuration error on the server side, then we can proceed. So that's how we can check for the 503 service unavailable error.

In the third party, we can use the CDN as well, or we can directly download the third-party JavaScript files and store them in our lib file, or in the JavaScript folder. We can store these files. And from there, we can directly include the complete JavaScript file using the JavaScript include tag, and we just have to list all these files in the JavaScript file. In the app assets folder, there is a file where we have to include making that require this complete JavaScript file, like requiring JavaScript x, y, z, and other files we have to require. We can use the require all as well. So this will require all these JavaScript files into our application. The JavaScript include type will be able to write the application. So it will include all these JavaScript files. We can write it in a lib file, or we can use it as a plugin as well. We can download this complete JavaScript folder and use it there.

In the following red score, the correction issue in the Okay. So, yeah, we were here before action, if you want to perform any action or if you want to validate or verify anything, that is, like, we have to check if it is correct or not or something is true or not. So at that time, we are using them before action or we want to perform anything before that action happened, then we are using them before action, before action period. So here, the first one is a required admin only on new and create. So here, it's not required to take, like, required admin. We can directly check-in there, like, we can remove this, before action for the requirement and directly put that into redirect to root path unless the current user is an admin. So if the current user is an admin, then it will redirect to the root path. But here, I think the condition is false because if here, it should be if the user is not an admin, the current user is an admin, it will give a false, then it will redirect to the root path. And here, find user. So if the user is not found, here, it will find the user before, so require admin only for new and creates. Only new and create actions will require the admin. And for the index new and create action, we so according to this index new and create, except all of this, they will be we don't need the user. So only for update, and so we need the user. Yeah. So that's I'm not thinking any issues. We can remove the required admin and directly put this condition to the new one, create file as well, and find user, accept. Or here, you can in the find user, we can write only. So it will, like, even if it is a complex code, then it will reduce the complexity because we have to write. If you are writing more than 15 to 20 methods, do you have to write here index, new, explicit, and everything you have to write in itself. So you can directly enrich, in particular, the method we are going to use the find user method. So you can we can remove the except accept, and we can use it here only.

That will be called as handle errors during service execution. Spend what this call does and how it could actually fail to handle. So here it's a begin and rescue block. Service dot execute service error. If we're getting any service error, then we're getting an e dot message. So here it will give that message with the error message. And service would execute, and the issue e puts an unexpected error occurred, e dot message, and raise. So here in rescue, we have to write what to do for this error, it's raising an error. And in rescue, we can use the error so we can identify what's the error we're getting and how we're handling this.

In object-oriented program principles, there are multiple principles present. We can start with the observer and check with multi-tenant hierarchies. We can check with inheritance. For instance, single-table inheritance can be used. And like this, we can use every ops object to modify the real service object. So here, we have created a shared services structure. All services association or data logic is replicating more than two to three times or, like, everywhere. So we can use the right concept using the ops object. Inheritance will be used there. And if there are large dates, some functions can be done with a single line, then they can be encapsulated into a single line, and we can write in the model as a filter, or we can write as a validation method, or we can use it as a scope as well. So we can encapsulate that complete logic into a single line using Procon Lambda. And for the self-service object, we can say we can create separate scopes and methods in the model level, and we can use them in our different services using inheritance. Or, if there are like the one service, we have a service which is calling PayPal or any other services, then we create authorizers and services and include that base service in every service. So for that, it will include that complete method, and we can directly call it from there. So it's like inheritance and encapsulation. We are using objects everywhere, so objectivity is also coming. Yeah.

I don't have much idea about AWS Lambda server.

Okay. So here, we can use the in the rest API, we can use the JWT token. And, from that auto authentication and authorization, we have to pass that JWT token and secure token. We can pass in the header so we can identify both tokens as present in our database or not for that particular user. And for that particular user, we can check the access as well. Like, this particular user has this access to write or treat the data. And from that, we can pass into the rest API, restful APIs like this. And, yeah, we can encrypt those data. And from the server side, like, from the client side, the JavaScript framework, but we can decrypt we can pass that encryption key, encryption and decryption key, and they will decrypt the data. And from that, like, from we can add one more layer that the user can't see the complete data from the Rails API as well. So we will encrypt the complete data, and we'll pass that encrypted response to the client side. And from the client side, they have a decryption key so they can decrypt the data. We can also pass with the JWT token. So, yeah, it's like complete authentication and authorization will work there.