As a seasoned Ruby on Rails developer with 4.8 years of experience, I bring a strong foundation in building robust and scalable web applications. My technical skills include proficiency in Ruby, HTML, CSS, and JavaScript, as well as experience designing and implementing micro-services, working with Docker, Elastic Search, TDD like RSpec and utilizing Amazon Web Services (AWS) functionality.
Throughout my career, I have had the opportunity to work on a variety of projects, from building complex web applications to optimizing existing systems for performance and scalability. I am passionate about staying up-to-date with the latest technologies and continuously learning to improve my skills.
In my current role, I have successfully worked with team of developers in designing and implementing a micro-services architecture for a large-scale web.I have also worked extensively with AWS, utilizing services such as EC2, S3, and RDS to deploy and manage applications in the cloud.
I am a team player who values collaboration, communication, and delivering high-quality results. I am always looking for new challenges and opportunities to grow as a developer and contribute to exciting projects.
If you are looking for a skilled and experienced Ruby on Rails developer, I would love to connect and discuss how I can contribute to your next project!
Senior software Engineer
Robosoft Technologies PVT LTDSoftware Engineer
Robosoft Technologies PVT LTDTrainee Software Engineer
Robosoft Technologies PVT LTD
AWS

S3

ElasticSearch
.png)
Docker

VSCode

Sourcetree

Postman

Pivotal
Jira

Teams

Outlook

Git

Redis

Sidekiq

AWS S3

AWS SES

AWS IAM

AWS ELB
Okay. So my name is Nishith Alva. I'm a software engineer with the experience of 4 0.8 years in Robosoft Technologies Private Limited. I started as a fresher here and got promoted to software engineer and later to senior software engineer. My basic responsibilities here is I'm responsible for implementing client requirements by making sure, like, converting all create designing all the architecture elements, like example, uh, EC 2 instances or any RDS we use or if we have any load balances required. We are supposed to design those things and set up an edge high level design using the AWS available platform. Once the design is approved, we can go with the coding. Like, what is the requirement for the application? For example, designing, uh, associations in the database, creating a schema for all the data which has to be used in the application. And I'm also responsible for gathering the requirement from the client. And I I have a, uh, better experience in Ruby on Rails for about 4.8 years. I have this I worked on 4 to 5 projects in Robosoft Technology. And, uh, regarding my personal thing, I am a good teamwork team player. I have worked in team and also worked in individual projects. I can bring value to your company by adding, uh, or using my skills and abilities to align with your requirement and also my personal growth and company's growth. Thank you.
Okay. The effective strategies for managing stateful in the customer facing application deployed on AWS is like we have to make sure all the all the infrastructures are utilized properly, and there is no wastage of resource. If there is any you requirement or the requirement for scaling the application, we have to go for it and make sure right amount of resource is made available for the application instead of wasting the resource. Hence, AWS is a costlier resource. And statefulness, like, you the application should be user friendly. There should not be any glitch or any bug available for the user, and the user experience should be smooth. And, uh, we should make sure that all the data input and output is precise, and there is no any data breach happening or any security comp compromise held in the application.
Heroku is a similar platform like AWS where we can deploy our rails application, and they they make sure they make available some of the deployment tools in background processes so that once the application there is any change in the source control, the application would be automatically deployed to Heroku.
Okay. Rails, make sure there is some inbuilt, uh, libraries for this. So what we can do is we can enable course course, like, same site origin. Uh, like, it is made mandatory, and we can use strong parameters so that there is no SQL injection, which happens from the hacker side. And we can also make sure there are some callbacks before writing or reading the data from the database and to avoid unauthorized reach of data. And, uh, make sure all the passwords are encrypted and stored in the DB. And we have a strong encryption strategy to make it happen.
Okay. So the testing strategy ensuring MOC components in Rails is like we can write our spec test cases so that all the APIs which we provide for the Ajax call is, uh, already tested, and it is bug free. And we can write some pictures to inject some data to the test cases and replicate, uh, Ajax call within the back end to make sure all the APIs are returning and getting a proper data.
So rails basically employs MVC architecture, the model view controller. So model is we all write all the logics inside the model, the business logics, uh, if any database write or read query happening or any callbacks before the writing or reading the data, we have to write it inside the model and all the instance variable private method, uh, public method of a class. Basically, uh, database is considered as class in rails. So this is regarding model. Then we there comes the view view is the part where the user interacts with the application. This contains all the templates related to HTML, CSS. All those data is all those codes are retained inside the user. And the third part is the controller. This acts as a bridge in between the model and the view. So user is redirected to some set of actions using the routes, and, uh, responsible views is rendered, and some data is fetched from the model and given back to the view.
So we have 2 methods written in this, the def require admin, which redirects to root path unless the current user is not is admin. So current user dot admin should return false for this to happen. Then comes the find user where it initializes a user instance variable with the user dot find. So para params is passed with the ID. The method just basically fetches the data from user table where the ID is given in the params. So before these actions happen, we have something called before action. This is a callbacks happening. So before require admin to, uh, uh, compile, we have to do like, before find user should happen, what we have to do is, like, uh, we have to call the require admin method, like only new and create. So if there is any new method initiated in the controller or create method before creating that new and create calling that new and call create method, we have to call require admin. Basically, it is checking whether the user is admin or not. So if the user is admin, it will it will just, uh, pass the condition and, uh, go with the new and create method. If the user is not admin, it will just redirect the user to the root path. Then comes the find user, when to call the find user. So there, they have mentioned expect an index and new and create all before calling. Uh, when the index or newer create method is called, we should not call find user method. For the rest of the method, we should call the find user method before calling any of such method. So only and expect defines that if only when the those particular method is called, these callbacks has to happen. If it is given as expect, we are not supposed to call that callbacks before executing those methods.
So, basically, this method just, uh, tries to fetch the users with all the association regarding the articles. For example, if a user has many articles, it will fetch all the articles in one go and perform somewhere clause on those articles. So where, again, it is going to fetch the articles where published equal to true, and it will limit the number of articles to 10. So instead of writing this in single query, what we can do is we can just assign a user's variable with this user dot includes articles where articles pub is published equal to true. Now and then instead of doing where clause in single, then we just fetch all the data to array and then do the where clause on those array. And then limit it to 10 instead of doing it inside the array.
We can basically use some CSS used for animations and implement it in the class of HTML. So that's how we can do some animated transitions in Rails application views.
The JavaScript code quality can be maintained by not reusing the same code in the, uh, repeating way. Like, we can use like, if the file has to be loaded in every steps, we can avoid that and load it before the execution of programs happen. So we can go with the synchronous way. If the if there is any data which, uh, takes lot of time to process in background, then we can go with an asynchronous way using JavaScript callbacks. And that's how we can highlight the techniques of ensuring JavaScript code quality during development of rail Rails application.