Meet Rohit: An IBM Software Engineer Who’s Helping Pilots Fly Safer
We recently sat down with one of our Software Engineers, Rohit, and asked him to share his IBM story about his role, the exciting projects he works on, and the challenges he’s faced along the way.
Rohit has a master’s degree in IT and has worked in the tech industry for seven years, the last five of those at IBM. He’s currently working in the Sustainability Software division of the IBM Software business unit.
Rohit, what kind of IBM products do you work on?
The product I work on is called Weather Company Pilotbrief, a B2B software for Airline pilots. The Pilotbrief app provides pilots with critical Aviation-specific weather data, relevant to their flight plans. Think of it as Google Maps in the sky for pilots!
We provide an awesome feature called Digital Flight Release, which provides pilots with digital versions of flight planning documents and charts, speeding up their flight operation. This feature makes the Airline’s flight planning operations much more environmentally sustainable with reduced usage of papers.
As a full stack engineer, I’ve worked on various aspects of this product, such as building APIs in C#, integrating with databases such as SQL server and DynamoDB, and modernizing the web UI using Angular. I’ve also built a Continuous Integration pipeline for various services my team hosts for this product.
Tell me about an exciting project you’ve worked on?
One of the most exciting projects I’ve worked on has been migrating all the services we host into the cloud. The Pilotbrief product has been around for a while and all our infrastructure was On-premises. I was tasked to build a Continuous Integration (CI) pipeline to help deploy the service to the new machines in the cloud.
The existing build system was based off a Microsoft install shield setup, which creates a setup file for specific servers. These setup files had to be copied to numerous servers and then run manually on each machine for our services to get deployed. This was a time-consuming process and did not fit the way we want to operate in the cloud space.
Given the great learning resources available at IBM, I was able to put together a few sets of tools and scripting languages to start solving this problem. Eventually, I used Jenkins as the automation orchestrator, MSBuild to help generate build artifacts for the C# services, and MSDeploy and Powershell to script out the manual steps that were done previously.
After a month of hard work, I had a working CI pipeline. The pipeline kicks off automatically as soon as a developer checks in code, builds it, and auto deploys to a development server. Eventually, I was able to apply this pipeline to all our services.
After a few more months of actively applying the pipelines, we had a working CI for all the server environments. This pipeline was used for our first deployment to the cloud data centre and went live without any issues.
What made the project so exciting for you?
This was very exciting for me because it was a problem space I had not dealt with before. It gave me a real sense of purpose as this was a very important project to help get us into the cloud. The flexibility I was given to choose the tools and technologies to build this solution made the experience very rewarding.
Were there any challenges you faced, and if so, how did you overcome them?
While setting up the manual deployment pipeline, the initial setup wasn’t easy for the team members to understand. Although I had steps written, the flow was not easy enough to memorize. The build promotion process is something developers and the QA team would perform, but after we had a few mishaps in a short period of time, I knew I needed to build something better. As part of the IBM Your Learning platform, I had learned the process of Design Thinking and applied it to this project to overcome this challenge.
With developers as my end-user, I worked with a few of the senior engineers to come up with a workflow that was much faster and easier to use for the team. Also, taking into account feedback I received from the team, I was able to setup the promotion process with a different set of plugins in Jenkins, which made the experience much better than the initial setup. This made everyone happy and reminded me how important it was to have a feedback loop with my end-users.
What did you personally contribute to the overall project?
I’ve personally driven this project from its inception to its end from the aspects of architecting, designing, and developing the solution with constructive feedback from my team along the way.
What support did you get from your manager and team?
My manager was very supportive on this project. He gave me the complete freedom and time to investigate the tools and technologies I could use to build this CI solution. When we eventually completed the project, I received support from a senior team member who had learned what I had done and guided me in some of the coding aspects, provided supportive feedback, and helped get the project over the line on time.
Tell me about the impact this project has had for customers and for IBM?
Prior to this project, our software release process was very ceremonious. We didn’t do it frequently and waited for a large number of bug fixes or features to be ready before we released them. This new CI pipeline has given us a new level of agility in the software process, which has made releases a much more manageable activity. We started releasing small fixes and features to customers more quickly and have been able to respond to customer needs much faster. This provides better overall satisfaction to our customers.
What did you like the best about working on this project and how did it make you feel when it was completed and implemented?
I really loved the initial architecting and designing phases of the project, which made me think critically and come up with a good solution for my team. At the end of the project, we were able to get our first cloud data centre release completed with these pipelines, which is an essential part of my team’s development workflow today. After the initial release with the new Jenkins CI solution, I received many appreciations from my team members and my manager, which made me feel like a rockstar!
At IBM, we’re unmatched in the breadth of what our developers can do in today’s hottest technologies like quantum, blockchain, artificial intelligence, machine learning, data science, and cloud.
If you’re interested in the work Rohit does as a Software Engineer or want to learn more about all our Developer jobs at IBM, including Front-End Developer and Back-End Developer, visit our careers website to join a truly global and diverse community of coders and engineers working on some of the biggest tech projects in the world today.