profile-pic
Vetted Talent

Aditya pandit

Vetted Talent

Motivated software engineer with experience, highly effective at developing new programmes and fixing problems with existing systems. Proficient in Ruby on Rails, JavaScript, React, AWS, and agile methodology. Looking to work closely with both teams and customers to find the most efficient and beneficial solutions for process improvement. Utilized problem solving skills to resolve complex technical issues, resulting in a 30% increase in overall efficiency. Collaborated effectively with team members to develop, test and deploy new features, resulting in a 50% increase in customer satisfaction. Demonstrated attention to detail in coding and testing, resulting in a 95% reduction in production bugs.

  • Role

    Senior Full Stack Developer ( Team Lead )

  • Years of Experience

    8 years

Skillsets

  • Github - 7 Years
  • TDD
  • Stimulus
  • sidekiq
  • Nodejs
  • Foundation css
  • Express Js
  • Agile Methodology
  • react - 8 Years
  • CSS3 - 8 Years
  • Hotwire - 2 Years
  • Ruby on Rails - 7 Years
  • JavaScript - 8 Years
  • REST API - 7 Years
  • Heroku - 7 Years
  • Bootstrap - 5 Years
  • HTML5 - 8 Years
  • BDD - 7 Years
  • AWS - 6 Years
  • Docker - 5 Years
  • Test cases - 7 Years
  • Ruby on Rails - 8 Years

Vetted For

14Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Full Stack Developer - Ruby On Rails (Remote)AI Screening
  • 68%
    icon-arrow-down
  • Skills assessed :Communication, Technical Support, CI/CD Pipeline, Hotwire, LaunchDarkly, RESTful API, Sentry, Stimulus, stripe, AWS, MySQL, Problem Solving Attitude, Ruby on Rails, Strong Attention to Detail
  • Score: 61/90

Professional Summary

8Years
  • Jan, 2019 - Present6 yr 9 months

    Senior Full Stack Developer ( Team Lead )

    Bestpeers Infosystems
  • Jul, 2018 - Jan, 2019 6 months

    Full Stack Ruby on Rails Developer

    Reviewshake
  • Jan, 2016 - Jul, 20182 yr 6 months

    Ruby on Rails Developer

    kadenze.com
  • Jul, 2015 - Dec, 2015 5 months

    Junior Ruby on Rails Developer

    Circle Soft Media

Applications & Tools Known

  • icon-tool

    Ruby on Rails

  • icon-tool

    Javascript

  • icon-tool

    ReactJS

  • icon-tool

    Node.js

  • icon-tool

    Express.js

  • icon-tool

    AWS (Amazon Web Services)

  • icon-tool

    Github

  • icon-tool

    Bitbucket

  • icon-tool

    Asana

  • icon-tool

    Trello

  • icon-tool

    Jira

  • icon-tool

    Heroku

  • icon-tool

    Docker

  • icon-tool

    AWS

Work History

8Years

Senior Full Stack Developer ( Team Lead )

Bestpeers Infosystems
Jan, 2019 - Present6 yr 9 months
    Responsible for design, development, and deployment. Constructed authentication systems with the Rails stack. Developed and implemented a social media authentication feature.

Full Stack Ruby on Rails Developer

Reviewshake
Jul, 2018 - Jan, 2019 6 months
    Worked on Ruby on Rails. Geolocation application and payment gateway integration.

Ruby on Rails Developer

kadenze.com
Jan, 2016 - Jul, 20182 yr 6 months
    Developed services using Ruby on Rails.

Junior Ruby on Rails Developer

Circle Soft Media
Jul, 2015 - Dec, 2015 5 months
    Worked on core Ruby and started building a web application using Rails. Worked on HTML5, CSS3, Bootstrap 3, and the Foundation CSS Framework.

Achievements

  • Utilized problem-solving skills to resolve complex technical issues, resulting in a 30% increase in overall efficiency.
  • Collaborated effectively with team members to develop, test and deploy new features, resulting in a 50% increase in customer satisfaction.
  • Demonstrated attention to detail in coding and testing, resulting in a 95% reduction in production bugs.

Major Projects

5Projects

Learning Management Skills

    Rails upgrade, VueJS, knockoutJS, Jenkins

Review Scrapping Platform

    Ruby on Rails

Home Buying Surveys and Management

    Surveys and management for law firms and panel management

Geolocation and Payment Gateway Integration

    Geolocation application and payment gateway integration using Ruby on Rails

Kadenze

kadenze
Mar, 2020 - Jul, 20222 yr 4 months
    • Upgraded the learning management system using Ruby on Rails, VueJS, and KnockoutJS.
    • Implemented Jenkins for automated builds and deployments.
    • Worked as a Technical Lead, estimating and delivering tasks. handled Production issues.
    • I have improved the application by refactoring and optimization using caching and also fixed the DB architecture and tune the SQL queries.
    • Used Docker and Worked on Managing Infrastructure on AWS
    • Key Skills: Ruby, Ruby on Rails, React, Javascript, VueJS, Docker, Postgresql, Refactoring and optimization.

Education

  • Bachelor of Engineering

    Prestige Institute of Engineering Management and Research, Indore (2019)

AI-interview Questions & Answers

Yeah. Uh, so I can start with my basic introduction. Like, I did, uh, I did engineering, uh, I did engineering from the computer sciences stream, and I have, uh, I've been in I've been working with Ruby on Rails from past 7 years by now. I started very early in my colleges, like, from the very 3rd semester I started, uh, doing programming in Ruby on Rails. So it's, like, 7 years, uh, been into Ruby on Rails. I'm a Ruby on Rails contributor as well. I am, uh, not just a Ruby on Rails on, uh, on the, uh, developer on the, uh, developer. I have sometimes built a front end application using React as well. Uh, so I'm working as a full stack engineer. I know AWS, uh, Heroku, and the solution as a cloud service provider, As well as I I know Docker and Kubernetes, uh, a bit. As, uh, also, uh, like I I told you, like, I'm a so I'm very well versed with the rail, uh, core part. And, uh, it's, uh, rail core part. And, uh, what's my, uh, my past project was we've been into defecting and optimization. So that's my, um, auto, like, uh, using solid principle. I basically use agile agile principle. I know how to set up c I thirty pipeline, and I I mostly work based on the test, uh, test TDD approach, like, testing and development. While, um, on most of the works, we have to deal with the be behavioral development. Like, we have to write the test cases, uh, write the write the test cases after the, uh, after the, uh, that code is written. Like, maybe, uh, the base it is based on the behavior. So let me, like, uh, been working into this industry home past, uh, 7 plus year by now, working with Rails as a core technology, a primary technology. I know Ruby very well and Rails, uh, Rails as a framework. I know, uh, I have worked on Seneca, and I can, um, work on as a, uh, I can work as a senior engineer. I can lead the team as well. I have a technical lead knowledge. I have been into optimization and detecting, um, project a lot. Plus, uh, I can work on front end React, uh, which, uh, we, uh, on which I can work on React Hooks. Uh, I have a I have a few, uh, application which which are using React.

Yeah. Uh, so, uh, I can integrate a AWS CICD, uh, CICD pipeline. Like, basically, uh, I mean, I have I have implemented recently for the for project, I have implemented CICD pipeline. Um, um, we have AWS pipeline, uh, AWS, uh, Lambda pipelines, or we can use AWS code, uh, code pipelines, which is similar to GitHub actions, uh, GitHub actions. Uh, so we can make use of, uh, AWS code pipeline, uh, to make, uh, work with or to, uh, make it work with AWS. Like, uh, we wanted to use CICD. Uh, CICD is, like, continuous integration and continuous deployment. Uh, so, uh, they'll basically check, uh, that, uh, CICD basically, um, test you, uh, test, uh, build your code and test, uh, run test cases on that. So, basically, you build that code on the CI, uh, build that code to the CI and then run test cases. So with AWS code, uh, code for, uh, code for cloud pipe, uh, AWS cloud pipeline, Uh, you will be able to code pipeline. You will be, uh, cloud pipeline. You will be able to run, uh, you'll be able to set up CICD in AWS. Ensuring high evolution, uh, role pack capability is basically you we can leverage AWS on the same thing it AWS. If you are using AWS, the automatic, uh, scaling will help us, uh, um, ensuring that high availability and rollback capabilities for that as well. Uh, we can set up, uh, uh, we can set up a script in AWS if, uh, if something, uh, if, uh, if we can set up, like, if that CI fails, it will not be, uh, it will not be rolling out, uh, it will be not be rolling out the deployment, the release, and it will be basically low rolling pull back to the last, uh, deployed version.

Uh, so, yeah, uh, my, uh, my past few project, like, uh, 8 to 9 project were being to integrating Stripe, uh, a lot. I have integrated Stripe, uh, in the application through Stripe Gem as well as the as well as the Stripe API using, uh, using the Stripe API directly. Uh, while most of the time to, uh, um, I mean, we I have used Stripe Gem, for handling payments. Uh, Stripe Stripe Jam for handling payments in the mail. Uh, I have used, uh, I have used, uh, Stripe. It's 2, 3 ways. Like, uh, I have used direct charge, uh, so we can just directly make use of Stripe checkout session as well as we can, um, uh, create our own payment element with payment intent API. Payment setup as well. Recently, I have used, uh, setup intent as well, checkout session. And the other things we can use is, like, the other, uh, other type, uh, things we, uh, other type, uh, is the subscription way, the metered billing way, and the tier pricing, which is, uh, a gradual pricing. We can increase the schedule by subscription way. So I have used, uh, like, like I told you, like, I have used Stripe in last 8 to 9 project, and I have integrated myself. So I have used almost all of the functionality from the Stripe from invoicing, uh, invoicing to payment, billing, and automated, uh, even automated billing as well. So it's type automated billing, single charge payment, um, how, uh, the process of creating, um, the Stripe into Rails application was, uh, using Gem and creating based on that Gem, creating those for from those, uh, Stripe classes like, uh, Stripe dot Stripe, uh, Stripe concurrent checkout, uh, sessions, uh, creating new sessions, creating new payment data, and then receiving, uh, and then having another, uh, controller, uh, controller in rails of which is, uh, which is receiving incoming webhook webhook events from the Stripe. We can set up a webhook event, uh, we can set up a controller, uh, route in our Rails application, like endpoint in our Rails application, which is which will be responsible for, uh, handling the incoming webhook request from the Stripe. And then same route will be, uh, need to, uh, we need to add on the Stripe. Uh, so whenever there is some event happen on the Stripe, like, some someone paid something, some some charge, um, some charge deducted, some invoice happened. It will send the webhook event to the to the rails application. And through that event, uh, event, uh, we we capture basically 2 event on the our rails application site and handle those things. Like, if we wanted to think that think the data on our side and do something, like, uh, we want to activate some of the plans, so we can do that.

So, uh, how how I leverage Hotwire as soon as in the real application with real time update without, uh, writing much custom JavaScript. So, basically, uh, this is a newer feature in the, uh, in the rails. Like, uh, we wanted to, uh, if you wanted to use, uh, use a a hot wire, we, uh, in the rail cabin, we don't have to use much of the things. Like, we can just use import map. We can, um, we we do need 2 2 things like hot wire, turbo. So we just need, uh, turbo rails gem, which, uh, turbo rails gem, which is which is required, uh, and we can, uh, theme, uh, import hot wire through import map. Um, import map is our default, uh, default in the rail seven. So, uh, we can, uh, we can basically stream without, uh, this I mean, we wanted to leverage for real time update. So, um, we can, uh, use turbo, uh, turbo drive, uh, turbo drive, turbo, uh, turbo drive, turbo payment, uh, turbo time, turbo stream, turbo streams, uh, in the rails, ERB, uh, things. Um, with the stimulus, uh, we can, uh, it it will be it will be a combined package in the re turbo, uh, turbo rails. Uh, if you import, uh, if you do an import from the, uh, if you do, uh, do import hot wire from the import map, it will come with star star dive, uh, streamless and hot wire. So we make, um, we make use of hot wire, uh, from the turbo rails, uh, which can which we can use, uh, through, uh, turbo drive, turbo turbo drive, turbo, uh, turbo, uh, turbo, uh, streams. From con from controller for real time updates, we can make use of models, uh, method, like, broadcast broadcasting method, which will, uh, broadcast updates through through the turbo streams. So that that how it will work real time in, uh, without, uh, writing

Uh, so I have, uh, so, uh, for the recent project, uh, which was, uh, which was crew car, uh, I was working for a crew car. Uh, so we we have integrated LaunchDarkly in the days, uh, to, uh, to basically roll, uh, to, uh, as a feature flag, uh, as a feature flag, we basically, uh, we, uh, we basically use API to see if that that feature is enabled. So we may need to leverage LaunchDarkly, uh, API to, uh, and, um, to see if that specific feature is enabled. And if that feature is the same, if if enabled, we basically, uh, we basically show the functionality to that. Launch actually, basically, it's a it's a feature, uh, it's a feature flag, uh, can say tool, um, which can be, um, which can be configured externally. And then through that external things, um, we we do make a request for londra claim, see if that configuration is available. And then through that configuration, if it is set to crew, then we can, uh, show, uh, show to, uh, show that specific feature displayed that is specifically here, uh, on the

So, uh, basically, AWS has its own, uh, own monitoring CloudWatch. And that's where we can, uh, um, we we can make use of CloudWatch to see, uh, to monitor the AWS infrastructure. CloudWatch is the best thing, uh, to see, uh, uh, through CloudWatch. We can see the, uh, see, uh, see and monitor those AWS services which we are using, uh, as a login, they'll develop an event. And, uh, through that we can see the logs as well. See, to to cloud where we can see the logs. We can see the graphs as well, uh, see the CPU time, uh, see the CPU time and the throughput of the, uh, throughput of the request. So, uh, we can, um, we we can make use of that thing to, uh, to uh, um, basically, auto scale those things, uh, auto scale those things. And as the development, we can make use, uh, as, like, uh, if if, uh, if that graph is actually, uh, is going up, um, basically, in in terms of CPU, then basically as a developer. Our monitoring task is to to optimize the code so it won't hit that specific, uh, level of CPU usage. So it because if the CPU usage is too high, uh, it will, uh, turn off the instance. So we may need to optimize that. Uh, begin between, uh, make use of of, uh, AWS infrastructure. Um, and also, basically, uh, through auto scaling the, uh, AWS, we we can basically support AWS infrastructure by setting up auto scaling on that one. As a developer, uh, we can set up auto scaling which and, uh, advanced load well as well in the AWS. Also, uh, we can make use of others external tools so we can make, uh, some APM tools so we can make sure that our request, uh, to put on not getting high. So it won't won't affect our infrastructure that much.

Even the, uh, the security code is being there, timing, of course, Uh, Also, uh, so we can start with the very basic, uh, one. Like, uh, we shouldn't be, uh, we shouldn't be passing the parameter of, uh, balance of article, uh, like, the parameter which we are getting from the request directly into the article new because it would mean very, uh, not very should be using a strong parameter. Uh, we should be, uh, we should be, uh, we should, uh, figure out those parameter, uh, figure out those parameter, uh, like, basically, uh, use make use of rails strong parameter to, uh, like, if you if you wanted to, uh, figure out only, uh, um, well, uh, like, uh, we wanted to, uh, but we wanted to permit only specific, uh, but but we we wanted to use the strong perimeter, then we have to use require article. From that article, we need to permit only do, uh, those specific value which we wanted to, uh, go for article, uh, new article. So first of all, we need to basically, uh, basically, uh, use a strong perimeter that, uh, might affect the well, this is basically affecting the security because if if it is something from else, some some, uh, some somewhat else, uh, control, uh, model, like, uh, somewhat admin or user, it might affect the, uh, might, uh, affect the, uh, the authenticity. Uh, so, basically, we need to use a strong parameter and it's same, um, let's say, basically, we redirected to article, but we we wanted to, um, we, um, whenever we redirect or we render something, we basically need to send the status as well. So, um, by default, it will when it will be redirected, it will be redirected to it. We'll be sending the, uh, redirected to otherwise, if we are reading something from the JSON, we need to, uh, file the status. But the very first thing, uh, here here is, uh, the concern. The issue, uh, the issue concern is, like, we we cannot pass the parameter directly, uh, to the new method. We should be using, um, which, um, we should, um, have to do some sort of mechanism, like, uh, filtering out those, uh, permitting those parameter, uh, from the incoming request, like, uh, rails, strong parameter things. Highly recommended.

Uh, so basically, uh, so basically, it will print, uh, print undefined, uh, just because, uh, of the asynchronous nature, uh, asynchronous asynchronous nature. Even if you if you, uh, if if you, uh, do an async and await, the problem here is it will, uh, be sending up a promises. Even if you do an await, it will be sending you. So you have to handle that, uh, fetch, uh, handle the promises, uh, with the then keyword. Uh, so, um, basically, uh, we, uh, how it can be debug and improve it, like, we just need to handle this request. Uh, we need to resolve it. Basically, that asynchronous nature, uh, um, we need to resolve the value which, um, resolve the promises which are from the fetch request. Basically, uh, fetch request is basically returning your promises. The fetch method is going to return your promise. So you need to resolve that through then and through then, uh, through then method and then it will be returning the correct, uh, corrected. But it, uh, it, uh, yeah, it will be sending you the that user object then then from that, uh, user object, you you have to, uh, check that, uh, you have to get that age. So the only answer here is, like, uh, the code, uh, is not working just because, uh, it is, uh, it is returning a promises. Uh, so you have to resolve it.

Imagine having to add a complex feature to So basically, if you if you are adding a complex feature, uh, basically, we should be starting, uh, first with our test cases. Uh, if, uh, if you you are good enough to that approach like me, uh, I mean, I'm all, uh, it's something we need to deliver, uh, deliver, uh, I mean, related to third party things or something. We I basically follow 1 principle, which, uh, which I start with the test driven development or basically start with the, uh, or if you want don't want to start with the test, uh, test cases, we you should start with, uh, uh, starting with the skeleton of, uh, skeleton of the implementation. Um, basically, implementing through the object oriented way and going with the real way. Um, but, uh, make sure that this is, uh, the thing is solid, uh, solid idea of the solid principle. So, um, the main thing is, like, if if that is a complex, uh, things, uh, I mean, uh, I mean, we should be dividing it into chunks like, uh, being using for it visible, like, single responsibility. We should be, uh, dividing things into chunks and, uh, make it, uh, make it single response responsible for a particular, um, a particular, uh, particular, uh, code specifically. And this open and close window, which are personally, uh, like, very much in the open, uh, the system should be open for explanation but close for modification. This goes substitution, um, um, would be helpful as well as interface and dependency inversion principles. Um, we, uh, we can follow. Uh, so, um, basically, uh, with this principle, we can simplify the code as well as the, uh, b b, um, b uh, b, uh, b, uh, b, ensure the maintainability of that application just like single responsibility is like single responsibility. Every company would be, uh, responsible for every class would be responsible for single, uh, single purpose while this open and close pencil, which is like we create a mechanism. They'll be basically, uh, which is open for extension. Like, I suppose, uh, we wanted to add a mailer function in functionality. We already already having a 10 grade. So we should create a system where it should, uh, it, uh, we wanted to integrate a new mailing system. It it can be easily, uh, is easily integrated. Like, uh, suppose we want to, uh, you'd mention, we create matching classes using the solid principle, uh, using the solid principle, like the single responsibility. Uh, will be will be matching classes will be of single responsibility, but these classes can be added in a system, um, uh, added in a system which is open for extension. My mailing system is open for extension. Like, I can add, uh, add, uh, other mailing system like Mailchimp, Postmark. It should be able to add, but flow from modification is, like, it should not, uh, it should not break the existing flow, uh, the tangent flow. So this is how we should, uh, maintain, uh, maintain this application. Um, idea to the, uh, idea to the solid principle. Uh, maintain, uh, solid principle basically, uh, help you to maintain, uh, maintain any any rails and any any of the code, uh, through object

So, basically, uh, the line of notification is allow you to select their preference, uh, preference challenge, uh, and security. So, uh, we can, um, we can make use of, uh, we can, um, make use of data, uh, database up here because we wanted to, uh, set up, uh, preferences, uh, preferences of their notification. Uh, so, um, basically, uh, recently, I have a, uh, designed this, uh, for uh, for the student portal where they need to, uh, then we need to send the reminder, uh, reminder, uh, reminder, uh, for the for completing the challenges. Uh, so for that specific, uh, thing, we can save this notification preferences. Um, notification, um, preference in in the database in the use user table, or maybe we can, uh, set up a set a separate, uh, separate data separate, uh, table in the database for, uh, notification preference. Uh, somewhat like notification preference that will be like user ID and then there will be, uh, um, then then will be the there will be a 2nd, uh, thing which would be at the channel. Uh, they wanted to see with the email or that will be the SMS. And then there will be the 3rd, uh, 3rd column that will be the frequency. So we can set up the default frequency with, like, 1 hour or 2 hours. And then through that, we can, um, um, we can create a clone job like we did for the last application, like I did for the last application. Um, we can create a clone job that will send the notification, uh, under notification. Uh, basically, we filter out those under notification. And if we see that, uh, so that is specific, thing, we can, um, we can try the user preference and then through on that user preference, we can, uh, send, uh, send email or SMS based on that preference. But here is the catch. Like, we can, um, we can create separate classes. We sure we'll be, uh, since we are using, uh, rails, uh, I mean, rails, I would like to in introduce a pattern when in the opening course principle where we wanted to use, uh, multiple email, um, responsibility. Yeah. And a single responsibility for, uh, class, uh, service for sending the sending the, uh, the notification to the student. So I'll be creating a notification, uh, notification service, which will be sending, uh, sending the student, um, or maybe the users, um, uh, those notification through their preferred channel, like email or, uh, SMS. Leveraging, um, leveraging their own classes like email email notification class or SMS notification class.

Can you apply Polymer model to manage different types of payment sources like credit, card, and bank account? Uh, so, basically, um, polymorphism is like to we we give a, uh, give a polymorphism rails is like, uh, there, uh, is association polymorphism uh, polymorphism in rails and, like, uh, in model, uh, are associations, basically. So, basically, uh, you you make use of our model to, uh, you make use of him, uh, you make use of him you, uh, you make use of a model to attach to a different, uh, to different other models, uh, like somewhat, uh, like, comments. So you want to have a comment for the user. Uh, user can have, uh, you have 2 different model like post, and there is a article, uh, and there is the article and there is post. So you wanted to have a comment for 2 both of these things so you can create a comment table. And having a comment table ID and comment table, uh, comment table type, uh, column in the come comment table. So comment table type would be the, uh, would be the reference to the class of the come, uh, like, either post or article. Uh, while the second would be, um, the idea of that specific, uh, from that specific class. Like, I either it will be post ID or it will be, like, the ID ID. Uh, so, uh, to integrate to manage 2 payment sources, uh, like credit card or bank, uh, bank account. So it would be like, uh, payment, uh, payment, uh, sorted. Uh, like, uh, we can use of, um, uh, we can create a payment method label, uh, method label, um, where we, um, we store methodable. Uh, I have introduced, uh, I have used, uh, this task. Uh, I have I have used this same scenario when implementing, um, when implementing a Stripe in the last project. So, uh, we have, uh, payment table, um, payment table model, um, payment table model, which, uh, which is actually saving up the payment sources from, uh, payment table, which is basically say, uh, saving, um, a provider and payment methods for either credit card or bank accounts. We we can, uh, we can basically use this, uh, this way, like, payment table, um, payment table. Uh, so it will be, like, payment table. What kind of payment table it is? Card payment table or bank account payment table? So so payment table source. Sources. Source table. What's, uh, what's, uh, it is so so we we can say source table. Uh, source table. Payment table source table. Some what sort of this thing we can introduce.