Legacy project support for an international taxi ordering service
In 2021, Gett underwent an internal audit—the findings of which resulted in a decision to strengthen the team. Gett approached Evrone’s experts in Ruby development to assist the company’s own team with servicing the project’s technical debt.
Gett is an international company that provides a taxi and delivery service. The main product of the company is a cloud service that connects providers and consumers of transport services. A large line of business is corporate transportation, with Gett serving a quarter of the Fortune 500 companies.
In 2021, the company underwent an internal audit—the findings of which resulted in a decision to strengthen the team. Gett approached Evrone’s experts in Ruby development to assist the company’s own team with servicing the project's technical debt.
At Gett, special attention is paid to building and automating processes. For example, there is an onboarding system for external specialists, which helps them to start full-fledged work as quickly as possible. They also try to automate any repetitive tasks. For instance, there is an automatic system for gaining access to booths for third-party developers and an incident reporting form.
This approach applies to code as well. The sprints of each development team always include time and resources for maintenance of technical debt and code reviews. This is necessary so that all elements of the service work stably and do not conflict with new features.
Almost all Ruby projects in Gett are legacy, and they chose Go to develop the service. We joined the search for vulnerabilities and bugs and helped in their debugging. Usually, these are problems that are solved by updating dependencies. However, if they are not tracked from the very beginning, then it will be difficult to understand where and what exactly broke. For example, we tracked down a bug with an incorrect determination of the IP address, which caused problems for the analyst team for a long time, but was technically easy to solve.
Big Data automation
A huge international service is always about Big Data. Billions of operations every day, millions of clients, thousands of partners. Under such conditions, a minor mistake can lead to a lot of manual work for support staff. We took part in the automation of data processing, with the help of an internal tool for bulk order processing, and facilitating its integration into new projects.
The USA is one of the promising markets for Gett. But it has a rather complicated tax system, because each state has its own taxes, plus they can vary from city to city. At the same time, serious sanctions are levied for non-payment of taxes.
Integration with tax system services can help companies correctly calculate the amount of taxes due. For example, there is a service that determines the tax zone by geographic coordinates, but it is a paid service. Considering how many transactions Gett conducts daily, this becomes a significant expense item. So Evrone specialists, together with the Gett team, are working on creating a tool to optimize these costs.
Customer data protection
As we mentioned at the beginning, one of the important lines of business is corporate transportation. For this aspect of the service, there is a separate document management system through which orders and settlements between companies pass.
These documents usually contain a lot of details and data on both parties, and the leakage of such information can be devastating. To mitigate risks, we participated in the development of a corporate information protection tool that allows users to create documents with less data: checks, contracts, invoices, etc. This protects information from the eyes of a large number of employees who work with these documents on both sides. After all, the more people who see it, the higher the risk of disclosing confidential data.
Initially, the client contacted us with a request to strengthen the team in order to deal with the management of vulnerabilities in the legacy project, which were discovered during their internal audit. But then our expertise came in handy in the development of new tools and capabilities. We work closely with Gett's own team and hope to continue to be of service to them in the future.
We also want to express gratitude to Ruby engineers from Singula team who were really helpful in the project development process.
If you are also faced with the need to strengthen your in-house team, please contact us. We will help you to support legacy code and automate the process of finding vulnerabilities. We can provide specialists for your stack and offer individual solutions for specific projects.