On 11th of November 2017 trivago hosted a Hackathon at NASDAQ’s MarketSite in New York. The winners were awarded with a trip through Europe to visit trivago’s offices as well as conference tickets for The Next Web, Amsterdam. We invited the winners to our office, where we got to the chance to interview them about their Hackathon experience.
How the Android development team came up with a new architecture based on clean principles and what we learnt along the way.
Ever heard about Microservices? Those tiny litte pieces of code that are used to split a big pile of magic into smaller pieces of magic? Well, they’re not that tiny after all and require lots of preliminary work to use them properly. Have a look at this post to hear about my journey of splitting an existing monolith written in PHP up into several microservices written in Go.
Filtering is an important way to find what you’re really looking for, so why should we be okay with some users not being able to access them? We’re not, so we did something about it.
Hackathons! That’s where you feel super excited about creating something interesting, or useful, or just entertaining. They are a great way to encourage creativity and teamwork. Recently, trivago hosted a Python Hackathon in collaboration with the Python Usergroup Düsseldorf. The event was a full success!
Tackling hard problems is like going on an adventure. Solving a technical challenge feels like finding a hidden treasure. Want to go treasure hunting with us?View all current job openings
One day, Memcached ran out of free memory. The method
get failed and all requests went directly to the database. Of course these calls also failed under the huge load, and eventually it caused downtime for the whole trivago website. Yikes!
We do think that our tech blog is full of interesting things powered by our engineers’ great stories. Let us take you on a journey of how we maintain trivago tech blog from the technical perspective and how we recently automated its deployment process.
We all have been there, done that. You want to build an API that allows you to manipulate your entities so you start checking which specification to use. Maybe REST or JSON API or maybe no specification. Once you have decided which way to go it’s time to create the controllers. Each controller needs at least 5 actions: one to get a single entity, one to get the collection and 3 others to create, update and delete.
We were not as happy as we could be with out Cucumber test reporting solution - so we decided to build a new and shiny one from scratch.