Babbel Bytes

Insights from the Babbel engineering team

How I got the job I wanted (even though I wasn’t qualified)

Clyde & Jeanny

At Babbel, we’re constantly looking for new and unconventional ways to get our customers over the hurdle of speaking in a foreign language. As a result, finding talented people to help move our organization forward can also come in unexpected ways. This week, we invited Jeanny (Director of Product) and Clyde (Product Specialist) to share one of our more amusing hiring stories.

Continue reading…

Hackday 5.0 - our review

Cemre & Giulia

Powered by lightning fast internet, lasagne and tons of Club Mate, our 5th Hackday was a success! So, here we are with our own review about a day full of projects, sun - and caffeine.

This year’s Hackday took place at Colonia Nova, a proper Berlin-style venue in the famous Neukölln district. Let’s be honest, the huge and sunny rooftop terrace on the 5th floor made our day even better. It was great to enjoy the sunshine while hacking with our colleagues - because yes, we set up the wifi there too!

5th Babbel Hackday

Continue reading…

An approach to TDD in Android

Frederico Gonçalves

If you started your Android development around the time instrumentation tests were the only tests supported out of the box, you probably remember how tedious it was to test drive an app. In fact, writing tests, whether before or after the implementation was written, was so complicated and frustrating that some of us chose to avoid them entirely.

Well times have changed and what we now have at our disposal is enough to not only write a reasonable amount of tests but also to develop our apps and libraries driven by tests. In this article I’ll share how I do TDD in Android. I won’t dive deep into the concept of TDD, I’ll simply explain the approach I use and how it has greatly improved my development. I’ll approach this with a concrete example.

Continue reading…

How Travis CI helps us deploy to AWS Lambda


Want to simplify your infrastructure and reduce your operations overhead? Consider using AWS Lambda, and let Travis help you with the deployment.

If you don’t know AWS Lambda, here’s how Amazon describes it:

AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you.

Put simply, you write the code and AWS runs it for you. The “runs it for you” part can be either event-driven, scheduled, or via a manual trigger.

If you’re on the move to a more decoupled service architecture like we are, this can be a big help.

Continue reading…

Retrofit 2 and Rx Java call adapter error handling

Frederico Gonçalves

If you’ve kept yourself up to date with the latest in Retrofit you’ve soon came to the question “Should I or shouldn’t I update to Retrofit 2?”. At Babbel we’ve already answered the question, we updated our new Android app to use Retrofit 2.

Although still in a beta stage, Retrofit 2 already offers a lot. However, there are some crucial changes. Perhaps one of the changes that affected us the most was the removal of RetrofitError. There are more than one reason why this class was removed, but we weren’t ready to give up on it so fast. As an intermediate step we needed to port its behavior to Retrofit 2 while using RxJava.

The new Retrofit design helps you define call adapters that can help you customize how you handle errors in your calls.

Continue reading…

Babbel 4th Hackday - our review


Twice a year we break out of our everyday routine and meet somewhere in Berlin to form ad hoc teams working on our own project ideas and hacks. Some of them eventually become actual Babbel projects.

As the Babbel family is growing pretty fast lately – and so is the list of the Hackday attendants – the venue research can get really hard; this time we had an exciting option, though…our future office!

A completely empty 5–storey building close to Alexanderplatz just for us and during the Halloween weekend. Creepy!? Scary!? Exciting!

We took over its big empty open space and we brought tables, chairs, sofas, bin bags, lights, super Wifi, coffee, snacks, Club Mates, beers…and last but not least, 110 Babbel – Hackers; 110 people from Product, Engineering, Data Analytics, Marketing, Customer Support, Design, Didactics, Internal Communication worked from 10 am to 19.30 pm on 26 different projects.

4th Babbel Hackday

Continue reading…

How we upgraded a big Ruby on Rails monolith with Zero Downtime


In September 2015, we started taking the Rails upgrade of our monolith seriously. We were running Rails 3.2 up to that point, and with Rails 5 on its way, we ran into the risk of using an unmaintained version of the web framework. This was not an option. Hence, the upgrade to a current Rails 4 version was inevitable.

Continue reading…