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 NowMy name is Rishi K. and I have over 9 years years of experience in the tech industry. I specialize in the following technologies: Ansible, CircleCI, Microsoft Windows, CI/CD, Bitbucket, etc.. I hold a degree in Master of Computer Applications (MCA). Some of the notable projects I’ve worked on include: Branching/ Merging strategies on GitHub, Creating RDS DB instance using Ansible, SVN to GIT migration, Production deployments. I am based in Jagadhri, India. I've successfully completed 4 projects while developing at Softaims.
I employ a methodical and structured approach to solution development, prioritizing deep domain understanding before execution. I excel at systems analysis, creating precise technical specifications, and ensuring that the final solution perfectly maps to the complex business logic it is meant to serve.
My tenure at Softaims has reinforced the importance of careful planning and risk mitigation. I am skilled at breaking down massive, ambiguous problems into manageable, iterative development tasks, ensuring consistent progress and predictable delivery schedules.
I strive for clarity and simplicity in both my technical outputs and my communication. I believe that the most powerful solutions are often the simplest ones, and I am committed to finding those elegant answers for our clients.
Main technologies
9 years
8 Years
7 Years
5 Years
Potentially possible
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.
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
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.
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
Master of Computer Applications (MCA) in
2008-01-01-2011-01-01