Rishi K. looks like a good fit?

We can organize an interview with Aldin or any of our 25,000 available candidates within 48 hours. How would you like to proceed?

Schedule Interview Now

Rishi K. - Fullstack Developer, Bamboo Material, Automated Deployment Pipeline

Working at Softaims has been an experience that continues to shape my perspective on what it means to build quality software. I’ve learned that technology alone doesn’t solve problems—understanding people, processes, and context is what truly drives innovation. Every project begins with a question: what value are we creating, and how can we make it lasting? This mindset has helped me develop systems that are both adaptable and reliable, designed to evolve as business needs change. I take a thoughtful approach to problem-solving. Instead of rushing toward quick fixes, I prioritize clarity, sustainability, and collaboration. Every decision in development carries long-term implications, and I strive to make those decisions with care and intention. This philosophy allows me to contribute to projects that are not only functional, but also aligned with the values and goals of the people who use them. Softaims has also given me the opportunity to work with diverse teams and clients, exposing me to different perspectives and problem domains. I’ve come to appreciate the balance between technical excellence and human-centered design. What drives me most is seeing our solutions empower businesses and individuals to operate more efficiently, make better decisions, and achieve meaningful outcomes. Every challenge here is a chance to learn something new—about technology, teamwork, or the way people interact with digital systems. As I continue to grow with Softaims, my focus remains on delivering solutions that are innovative, responsible, and enduring.

Main technologies

  • Fullstack Developer

    9 years

  • Ansible

    3 Years

  • CircleCI

    2 Years

  • Microsoft Windows

    8 Years

Additional skills

  • Ansible
  • CircleCI
  • Microsoft Windows
  • CI/CD
  • Bitbucket
  • Jenkins
  • Progress Chef
  • DevOps
  • GitHub
  • Bash Programming
  • Security Analysis
  • System Administration
  • AWS Server Migration
  • Bamboo Material
  • Automated Deployment Pipeline

Direct hire

Potentially possible

Ready to get matched with vetted developers fast?

Let’s get started today!

Hire undefined

Experience Highlights

Branching/ Merging strategies on GitHub

Problem: The client wants to secure the branches in the GitHub repository and also wants that every time a pull request must be created before merging branches. No developer can forcibly push the code to the main branch. The client also wants to ensure that no developer can delete the branch remotely on the GitHub repository. Solution: Branches are used to provide developers with separate workspaces for their code. Each repository has a master/main/release branch that depicts the final version of the source code to be deployed to production. Repositories should have branches other than main/master/release that avoids the effect on the main source code. The biggest advantage of branching is that its lightweight which means that data consists of a series of snapshots with every commit. The branching strategy is a strategy that software development teams adopt while writing, deploying, and merging code when using a version control system. Following are the branching and merging strategies implemented in order to meet the client’s requirements: Settings at the Organization level: Disabling the ability to delete or transfer repositories helps to prevent the accidental or malicious removal of important repositories. Disabling the ability to change repository visibilities helps to ensure that repositories are only made visible to the intended audience. Disabling the ability to create teams can help to keep your Organization's team structure Organized and well-defined. Disabling forking for private repositories can help to prevent unauthorized copying of your Organization's code. Repository-level settings to have in place to help ensure the stability and quality of repositories within an Organization: Requiring a minimum of one approval for pull requests helps to ensure that changes are reviewed by at least one other person before being merged. Requiring review from code owners helps to ensure that changes are reviewed by those who are most familiar with the code being modified. Requiring conversation resolution before merging helps to ensure that any open issues or questions are resolved before the changes are merged.

Creating RDS DB instance using Ansible

Problem Statement - The Client wants an ansible playbook to create an RDS DB instance on AWS. The playbook should also include the modules to create a subnet group, parameter group, and option group for the RDS DB instance. He also wants to automate all these processes using the Jenkins pipeline. To solve the problem of creating an AWS RDS database through ansible, the following steps can be taken: Create an EC2 instance and install the required packages. Create an IAM role with RDS_Full_Access policy and attach it with an EC2 instance. This will allow the EC2 instance to access the RDS resources and perform actions on them. Write an ansible playbook to create an option group, parameter group, subnet group, and RDS DB instance on AWS Create a Jenkins pipeline that will pull the source code from the GitHub account and run the Jenkins file on the agent node to create an RDS DB instance Challenges - 1. Users can select the value from the drop-down in Jenkins (like SQL engine, SQL version, Option group version, Parameter group version, etc) to input it from run time. Solution - In the Jenkins pipeline enable the option "This job is parameterized" and create the choice parameter for the required variables and pass them as extra variables to the ansible playbook. 2. He wants to encrypt the Database credentials without compromising security. Solution - Create an ansible vault to store and encrypt the Database credentials 3. Users can pass the list of subnets from the runtime to create a subnet group Solution - Create a string parameter in Jenkins to pass the list of the subnets 4. If the KMS ID is not passed in the runtime, it will create a new KMS Key ID for the RDS instance Solution - Create a module to create the KMS key and using conditions in ansible we solve the above challenge

SVN to GIT migration

Problem: The client has been using SVN (Centralized version control system) for the past 9 years and now we want to migrate to Git (Distributed Version Control System). He wants to migrate all the branches, Tags, trunk, and all commits of the past 9 years to git without any changes. Solution: First, we gather all the information from the client side. Then generated an author file from the SVN repository which contains all the details of the authors who have committed code to the SVN project. With the help of the git-svn utility, we clone the SVN repository presented on the Visual SVN server and verify all the branches, tags, and trunk are cloned successfully. After that, we converted the SVN branches into git branches using the git branch command. Similarly, converted SVN tags to Git tags. Now we have all the branches and tags as local branches and tags in Git on our local server. Then we add a remote git repo URL and push all the branch tags to the Azure DevOps. Challenges: The major challenge that we faced during the migration is that git cannot track the empty directories, therefore the empty directories in the SVN repo are not migrated to the Git repo, which might cause build issues during production. Solution: In the SVN repo, we create a README.md file inside all the empty directories and then migrate the repo to Git.

Production deployments

Client wanted to deploy two Java spring boot micro services to AWS. By making sure these services are deployed in private subnet. Also, it must have CICD using AWS code build, pipeline and BeanStalk. All of it was delivered on time and with best possible way

Education

  • Kurukshetra University

    Master of Computer Applications (MCA) in

    2008-01-01-2011-01-01

Languages

  • English