Vincent Oberle

7 posts

When Groovy, assert and threads gang together to fool you

At TransferWise, we use Kafka for our messaging needs, to communicate between our micro-services and with our legacy Grails monolith. A few days ago, I faced the strangest problem with the Kafka message processing in Grails. The code that consumes Kafka messages works in the following way: It fetches the

Read more

Fun with BigDecimal

So you've got the idea for the next big FinTech company. Since this is about money, you decided to use a serious language, Java. And for representing your currency amounts, BigDecimal seemed like a safe choice. Now time for the small print... BigDecimal.equals() does what?? A big trap to

Read more

Blameless postmortems

We don’t know yet how to build the perfect money transfer service, but one thing we know is how to screw up! What’s a screw up at TransferWise? There are plenty of variants. The most obvious one is introducing a bug in production that requires an emergency release.

Read more

What’s left to do?

When a company already has a working product and many happy users, it’s usually difficult for outsiders to understand why they are hiring more people. What’s left to do? I often ask such a question to candidates during interviews, in a slightly provocative way to see how they

Read more

DDT - Developer Driven Testing

There are no testers at TransferWise. Not a single-one. This deliberate choice has been made already a long time ago and I believe it's a key element of our engineering culture: Engineers own the quality of the product. You could actually say we have a lot of Quality Engineers (QE)

Read more