Wise helps people save money and time on foreign payments online. Traditionally you lose 5% when making an overseas payment in your bank. We do it for a fraction of that price.
Technical articles and stack decisions from Wise (ex-TransferWise)
Bringing Data Sources Together with PipelineWise
TransferWise is open sourcing it’s data replication framework. PipelineWise is a Data Pipeline Framework using the Singer.io specification to replicate data from various sources to various destinations. Like many companies, the first technology stack at TransferWise was a web page with a single back-end database. But even from
APPLICATION AND INTERVIEW TIPS FOR ENGINEERING MANAGERS APPLYING TO TRANSFERWISE
If you’re reading this there’s a good chance you’re thinking of applying or have already applied to TransferWise - which is great news! Here’s a handy guide to our application process and interview tips for Engineering Manager roles. Step 1. Application The first step is the
Kickstarting my career as a Product Engineer at TransferWise
Hi! I’m Lauri, a Product Engineer at TransferWise. After finishing my studies in Informatics at the University of Tartu, I joined TransferWise in our Tallinn office and a few months ago I relocated to join our London team. Starting as a participant in the TransferWise Hackathon, leading into an
Technical Interviews @ TransferWise
Are you about to interview for an engineering position at TransferWise? If yes, you’re reading the right blog. Here’s a handy guide to help you prepare for our technical interview.
Achieving high availability with stateful Kafka Streams applications
Kafka Streams is a java library used for analyzing and processing data stored in Apache Kafka. As with any other stream processing framework, it’s capable of doing stateful and/or stateless processing on real-time data. It’s built on top of native Kafka consumer/producer protocols and is subject
Don't write tests against configuration
Why writing tests against production configuration is usually not that good idea and what to do instead.
What it’s really like to be an Engineer at TransferWise in Budapest
Maybe you heard about TransferWise when a friend mentioned fast-growing fintech startups. Or maybe you’ve used us to send or receive money abroad. Either way, you might be wondering what it’s like to work at TransferWise as an Engineer, or be thinking of making an application. Firstly, let
4 reasons why the TransferWise Hackathon rocks
Hi! I’m Saamuel, one of the 2018 TransferWise Hackathon winners. I’m now working at TransferWise as a Software Engineer in our Tallinn office while studying Information Technology at TalTech University. I’ll be sharing my thoughts on why you should apply for the Hackathon, along with top tips
Application and interview tips for Engineers applying to TransferWise
If you’re reading this there’s a good chance you’re thinking of applying to TransferWise - which is great news! Here’s a handy guide to our application process and interview tips for Engineering roles. Hi I’m Tony, a Tech Lead at TransferWise. What I love about
Application and interview tips for Mobile Engineers applying to TransferWise
If you’re reading this there’s a good chance you’re thinking of applying to TransferWise - which is great news! Here’s a handy guide to our application process and interview tips for Mobile Engineering roles. Hey I’m Daniel, an Android Developer at TransferWise. I joined TransferWise
Application and interview tips for Site Reliability and Platform Engineers
If you’re reading this there’s a good chance you’re thinking of applying to TransferWise - which is great news! Here’s a handy guide to our application process and interview tips for our Platform Engineering roles. Applying for new jobs can be daunting! Every company is different
Where to put application configuration?
What is a good approach to configuration? I will compare drawbacks/benefits of externalizing config vs hardcoding config in code.
Q&A with Smaranda, TransferWise Bootcamp Product Engineer
To give you a sneak peek into the TransferWise Summer Bootcamp, we chatted to one of our Bootcampers Smaranda who interned as a developer in our Latin America team this summer. Bootcamp is a 3-month summer internship programme for product engineers ready to launch their career in tech. You'll join
What is a good size for a microservice?
Trying to answer this from iteration speed perspective which is hopefully easier to follow than starting from things like time to rewrite or subdomains.
Building modular apps using Spring
Some tips how to define beans in a way that makes Spring application more modular and easier to test.
Reducing your Webpack bundle
The last couple of months, my team at Transferwise, has been working to deliver a new feature on our product. We call this feature Money Tracker and helps TransferWise users to track their money better. I've been developing it for the web using Angular as an external component. As a
Pull Requests that make code reviewers smile
Pull Requests (PR) are central to most software development organisations these days. Modern source control tools such as Github or Continuous Integration ones like CircleCI have helped a lot making them more accessible. Yet, it seems developers consider PRs mostly as something that you need get through to get your
Hibernate and Domain Model Design
Does Hibernate (JPA) help building complex domain models or does it make things harder?
A Product Manager’s guide to planning for the team
One of the best things about working at TransferWise, is how seriously we take the autonomy of our teams. Each team can (and needs to) set its own Key Performance Indicators (KPIs), come up with a mission statement, and a vision for the team. Once those are worked out, a
On the Logging in Mobile Applications
Here I describe an approach from iOS point of view. An approach for Android platform is no different. I can recommend to use Timber framework as an equivalent for CocoaLumberjack. Logs? Phew! Just write something like: print("Expected `foo` to be 'bar', got: \(foo)") Later, when you debug
4 fallacious reasons why we estimate
‘Estimate’ as defined in this article is: A guess about the future regarding the time or effort that a task(s) will take to be completed. In other words, anything that can be used to foresee when tasks will be done. I have to confess, I’m not very good
pg_ninja, now open source
In my previous post I wrote on how we scaled the analytics database using PostgreSQL. One of the key requirements was the possibility to replicate and obfuscate the data in real time from our main MySQL database. The tool which is managing this particular task is pg_ninja, now available
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
Illusion of Reuse
Taking reuse to the extreme leads to nice unreadable spaghetti code. Some thoughts on how to notice and avoid it.