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
My name is Nishith Alva. I'm a software engineer with approximately 4.8 years of experience 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 include being responsible for implementing client requirements by making sure all client requirements are converted into design and architecture elements, such as EC2 instances or any RDS we use or if we have any load balances required. We are supposed to design those things and set up a high-level design using the AWS available platform. Once the design is approved, we can proceed with the coding. Like, what are the requirements for the application? For example, designing associations in the database, creating a schema for all the data that will be used in the application. I'm also responsible for gathering requirements from the client. I have better experience in Ruby on Rails for approximately 4.8 years. I have worked on 4 to 5 projects in Robosoft Technology. And, regarding my personal qualities, I am a good team player. I have worked in teams and also worked on individual projects. I can bring value to your company by using my skills and abilities to align with your requirements and also contribute to my personal growth and the company's growth. Thank you.
The effective strategies for managing stateful applications in a customer-facing application deployed on AWS is that we have to make sure all the infrastructure is utilized properly, and there is no wastage of resources. If there's any requirement or the requirement for scaling the application, we have to go for it and make sure the right amount of resources is made available for the application instead of wasting resources. Hence, AWS is a costlier resource. And, statefulness requires that the application should be user-friendly. There should not be any glitches or bugs available for the user, and the user experience should be smooth. And we should make sure that all data input and output is precise, and there is no data breach or security compromise held in the application.
Heroku is a similar platform to AWS where we can deploy our rails application, and they make available some of the deployment tools in background processes so that once the application detects any change in the source control, the application would be automatically deployed to Heroku.
Okay, Rails makes sure there are some inbuilt libraries for this. So what we can do is we can enable same site origin. 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 to avoid unauthorized access of data. And, make sure all the passwords are encrypted and stored in the DB. 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 are already tested, and it is bug-free. And we can write some pictures to inject some data to the test cases and replicate the Ajax call within the backend to make sure all the APIs are returning and getting proper data.
So rails basically employs MVC architecture, the model view controller. The model is where we write all the logic inside the model, the business logic. If any database write or read query happens or any callbacks before writing or reading data, we have to write it inside the model, and all instance variables, private methods, and public methods of a class. In rails, the database is considered as a class. This is regarding the model. Then there comes the view, which is the part where the user interacts with the application. It contains all the templates related to HTML, CSS. All that data is retained inside the user. And the third part is the controller. This acts as a bridge between the model and the view. The user is redirected to some set of actions using routes, and responsible views are 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 an admin. So current user admin should return false for this to happen. Then comes the find user where it initializes a user instance variable with the user find. So 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 callback happening. So before require admin to compile, we have to do before find user should happen, what we have to do is we have to call the require admin method only for 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 just pass the condition and 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. When the index or new 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 those particular method is called, these callbacks have 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 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 some operation on those articles. So, where it is going to fetch the articles where published is true, and it will limit the number of articles to 10. So instead of writing this in a single query, what we can do is we can just assign a user's variable with this user's articles where articles published is true. Now, instead of doing the where clause in one go, then we just fetch all the data to an array and then do the where clause on those arrays. 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 repeating way. Like, we can use if the file has to be loaded in every step, we can avoid that and load it before the execution of programs happens. So we can go with the synchronous way. If there is any data which takes a lot of time to process in the 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 the development of a Rails application.