lastminute.com logo

Technology

Frontend and backend languages and frameworks

christian_speer
christian speer
giancarlo_di_paolantonio
giancarlo di paolantonio

In this third blog post of the series about our Tech ecosystem we look at the technologies that we adopted in the frontend and backend space, and explore the reasons behind our choices.


Frontend languages and frameworks

The idea behind our frontend tech stack was actually relatively simple: we wanted to offer our employees a great working environment in which it is fun to operate. We also wanted to pull together a front end tech stack having the following characteristics: uniform, modern, fast, scalable and simple - and it definitely had to be industry standard.

With these prerequisites in mind, we analysed various frameworks and languages with our in-house Community of Practice for frontend, and created “proof of concepts” to test if they could function well in our Tech ecosystem. We ended up with Typescript, React, React Native, NextJS, Styled Components & Storybook.

frontend tech stack
The frontend technology stack

Industry standard

All these frameworks, libraries and languages are definitely industry standard, and they are used and maintained by companies like Google, Spotify and Facebook, with community support all over the world.

Great working environment

This tech stack gives us the opportunity to work faster and have a better experience, thanks to some capabilities and key features, such as:

  • Automatically reload the page during development
  • Reuse existing applications for different use cases
  • Create a company-wide design system with reusable components related to Storybook and Styled component.
  • …and the list could go on and on.

Uniform, modern, fast, scalable and simple

We chose TypeScript because it is generally a superset of JavaScript, designed for large application development, and runs anywhere Javascript runs. It uses type inference, and it gives us great tooling without additional code with an awesome integration within the editor. And, of course, it saves us time debugging before we run our code.

Component-Based, Declarative and “Learn Once, Write Anywhere”, are values Facebook uses to promote its Javascript framework React / React Native. We were able to confirm this in our proof of concepts. In principle, it is also possible to use React in parts of existing applications. This simplifies the migration of legacy applications to the new tech stack. To take full advantage of sharable components and a common design system, we decided to use React Native for our mobile app as well.

In terms of speed and performance, we have been extremely successful in our latest projects thanks in part to NextJS. Thanks to the included features such as SSR & automatic code splitting, we were able to significantly reduce the loading time of some elementary pages of our funnel and landing pages.

The selection of our tech stack has also been successful in the search for new developers and in the onboarding area. We received numerous applications for the last open positions and newcomers were able to be productive in our new projects within 2 days.

Sounds exciting? Then apply now as a frontend developer!

Backend languages and frameworks

We want to support the business evolution in the best way possible, by reducing the amount of defects, waste and effort needed to introduce new features. We reach this goal by writing efficient and maintainable code.

We use a number of different technologies. Based on the requirements needed to support the business, we have products written on different stacks such as C#, PHP, Python and C++, but most of the product backend technology is based on the JVM stack: Java and Kotlin are the reference languages.

backend tech stack
The backend technology stack

Let me tell you a story. Some years ago there were a lot of different services, based on different JVM/Tomcat/Spring versions, different release processes, different monitoring and a number of different implementations of the same thing over and over.

It was a mess! Cognitive load was at its maximum peak, product engineers had to maintain different ways of doing the same thing, on-call engineers were screaming to have a standard way to monitor applications, SREs had to support different versions of the same stack…

We wanted to standardise something, at least the fundamentals, and we didn’t want to reinvent the wheel each time we needed to develop a new feature. We wanted to leverage on standardised commodities to ease and speed up the development, deployment and monitoring of any feature or system. To achieve this, we decided to use industry standard technologies and adapt them to our needs. That’s why app-framework was born.

App-framework is our internal framework based on Spring Boot. It was conceived on our needings, leveraging on solutions born inside product teams and the experience that we as product engineers gained during the years. In fact, even if it is primarily maintained by a core team of developers inside the product area, anyone can contribute.

New technologies are continuously integrated to conform to configuration, monitoring, and security conventions and allow development teams to incorporate them into their solutions quickly.

Do you need something or make it more efficient? Just work on it, open a merge request and jump into the discussion! App-framework is community based (we use an inner source model): everyone is empowered to make it better, cleaner, and more beautiful.

Want to discover more?

This is the third in a series of articles where we talk about our pink world. If you want to discover more, read:


About christian speer

christian_speer
Engineering Manager

Christian joined lastminute.com in 2017, as an Engineering Manager and now leads a big team of engineers across different countries. Passionate about web technology, he has +20 years of experience in the field.

About giancarlo di paolantonio

giancarlo_di_paolantonio
Principal Software Engineer

Giancarlo is one of our principal Software Engineers. He is also an internal trainer for High-Quality Software, TDD, Refactoring Legacy Code and one of the co-founders of the Ticino Software Craft Meetup.


Read next

React Universe 2024

React Universe 2024

fabrizio_duroni
fabrizio duroni
sam_campisi
sam campisi

Let's dive into the talks from React Universe 2024 that stood out to us the most and share the key insights we gained. From innovative debugging tools to cross-platform development strategies, we’ll walk you through what we found valuable and how it’s shaping our approach to React and React Native development. [...]

Tech Radar As a Collaboration Tool

Tech Radar As a Collaboration Tool

rabbani_kajamohideen
rabbani kajamohideen

A tech radar is a visual and strategic tool used by organizations to assess and communicate the status and future direction of various technologies, frameworks, tools, and platforms. [...]