Tagged in automation :
Automating Exhaustive Branch Coverage for Sealed Types in Kotlin
We take code correctness and code quality seriously at Wealthfront. One of the most effective ways we ensure that our code is correct is through rigorous unit testing and strong typing. In Kotlin, sealed classes and sealed interfaces offer a powerful tool to model restricted class hierarchies. They provide strong guarantees about the types in… Read more
Shipping Containers: How We Built an Easy to Use Jenkins Pipeline for ECR
The DevOps team at Wealthfront has been in the process of migrating services to run inside containers. As part of this process we need a way to build containers using our CI/CD tool, Jenkins. While we could write a Jenkinsfile for each container image we wanted to build, we identified this was a good opportunity… Read more
Speed up your Android Tests Part 2: End to End Test Filtering
End to end (E2E) tests play a crucial role in ensuring software quality and when implemented effectively, can eliminate the need for manual testing (see our engineering principles). However E2E tests are notoriously slow since they often involve navigating through multiple screens, making API calls, and running on real devices. In our previous blog post,… Read more
In a Snap! Turbo-charging Our Database Backups
Backing up data is a lot like insurance—we set it up, forget about it, and then panic when we need it most. A weak backup and restore strategy can turn a stressful situation into a disaster. In recent years, we started noticing some weak points in our own backup strategy and knew it was time… Read more
From Overnight to Over Lunch: Moving Terabytes of Data At 10 Gigabits per Second
How do you quickly move over 160TB of data between AWS and physical data centers? Is it a good idea to store database backups in the cloud? Today we’re going to explore how the Wealthfront DevOps team was able to reduce a multi-day database restore process to a handful of hours using open source tooling…. Read more
Speed Up Your Android Tests: Gradle Plugin for Unit Test Filtering
Writing tests is a fundamental part of writing good software. They help us to catch bugs, be confident in our changes and serve as documentation. At Wealthfront, our Android team relies heavily on our automated test suite to maintain productivity and code quality — until we hit a snag. With our codebase maturing and our… Read more