See all articles

We grew up with Ruby, so why did we take over a Java project?

Paweł Dąbrowski-Chief Technology Officer

Even though Ruby has been our core technology since the beginning of iRonin.IT, and we built a wide portfolio full of diverse RoR web projects, as well as managed to establish an awesome team of senior Ruby developers; in 2021 we decided to take up a new challenge – diversify our tech stack. We had delivered some projects in other technologies before, such as Java and Elixir, and had relevant experts on board. However, they had been a minority in our team, portfolio, and tech stack.

Our new Java project

Since last year, we’ve put a spotlight on this diversity, and as a result, in Q1 2022 apart from working on RoR projects, we kicked off a complex Java project in the MedTech industry. It was an exciting new challenge, where we could also leverage our practical knowledge in customer software development, as well as experience in that particular technology – we had already worked on a Java-based project in e-commerce automation previously.

Tech stack

First, we should clarify that we refer to it as *our Java project*, but of course, the tech stack had to be wider than that. It’s based on web and mobile technologies connected via the cloud environment.

Apart from Java, the tech stack included:

  • Flutter for mobile app development,
  • Javascript on the front-end,
  • PHP and AWS for the API.

Building the team

We started the project by running an audit, so we already had a very clear and precise list of technical requirements for the new team members. In that case, we had to act quickly, and establish the core team within a short deadline. Team composition was especially important, as we were taking over an ongoing project, and could not afford any hiccups.

In such instances, we realize how important it is to have an efficient recruitment team specialized in finding tech talents with the right soft skills and relevant experience. Apart from that, we’re not gonna lie, good PR among the developer community also helps.

Taking over the application

Assuming responsibility for a product that’s already being used and developed is not the easiest bit, but one can learn that. Each of the developers and project managers at iRonin has onboarded into and handled over at least a few different projects, so this part didn’t seem scary. Especially since our collaboration with the client began with a tech audit, and we knew what to expect.

Once we established the new team, our challenge was to take over the development from the previous team without any downtime. It wasn’t the most straightforward takeover as the project was based on many technologies and the team was already quite complex.

Apart from that, we also wanted to help our client solve existing bugs early on in the process, as well as plan future releases. In order to do that, we reviewed and prioritized the whole backlog. Besides the code, we also helped with some infrastructure improvements in the meantime.

Project management

A key, yet underestimated, part of an effective project takeover is project management. Software development of digital products is not only about the code after all. Apart from strictly technical topics, important success factors in this project were:

  • Building a strong relationship with the client based on trust and partnership,
  • Finding the right tech leader for the team,
  • Creating a project plan and budget for the takeover, initial bug-related improvements, as well as further product development.

Taking over projects in new technologies

We grew up with Ruby combined with a mix of other technologies. Now, we’re excited to leverage the experience we got during the last ten years in our new Java project. And we’re not stopping there. We’re broadening our horizons and onboarding more technologically diverse projects.

If you need a hand in Java or Ruby development of your product, drop us a line, and let’s see how we can work together!

Bulletproof your development with remote team augmentation

Build your product and prevent possible issues with development process.