Engineering

Insights from the Rainforest QA engineering team.

Replacing Recompose with React Hooks
We recently made the decision to remove Recompose entirely – which was a large endeavor. It touched over 200 files, and in some places was deeply coupled to core functionality of our app.This post covers why we decided to replace Recompose.
How to remove Recompose and replace with Hooks
In our last post, we explored the pros and cons of Recompose and why we decided to remove it from our codebase. This post includes the strategy we used to approach the large task of implementing that refactor.
How We Moved from Heroku to Google Kubernetes Engine
Rainforest migrated from Heroku to Google Kubernetes Engine. Here's what that process looked like, the challenges we faced, and how we overcame them.
Why We Moved from Heroku to Google Kubernetes Engine
Here's how Rainforest QA made the decision to upgrade our DevOps teck stack and move from Heroku to Google Cloud Platform (GCP) and Google Kubernetes Engine (GKE).
How to Estimate a Project Timeline
In this post we explore how to develop a project timeline and some general best practices for smoother project management.
5 Foolish Reasons You're Not Using Heroku
We’ve been using Heroku extensively at Rainforest QA since early 2012 to run our automated QA testing service. It’s stable, it makes economic sense, and it precisely suits our needs. Here are the main arguments I hear against Heroku, and why I think they are (mostly) fallacious.
Technical Competence Checklist for Development Teams
To get your development team running like a well-oiled machine, make sure you're checking off every box in this technical competence checklist
Test your JavaScript with Jasmine part 2
I am going to show you a few more things that will make you more efficient at using Jasmine to test your JavaScript.
Using a CircleCI build server as an ad-hoc QA environment
If you like many others don’t have an optimal environment setup, you are likely lacking an isolated QA environment for your integration tests.
Optimal Environment Setup
In this post we're going to look at optimal environments for webapps. This is part two in a series - the first post looks at what are environments for?
Rails unit-testing best practices
In this Deployment Academy post, I'll share the core elements of that toolset.
Test your JavaScript with Jasmine part 1
In this post I'll show you how to test some basic JS code with Jasmine.
Zero downtime database migrations
In this post we explain the basics of how to handle database migrations properly and show some real world examples. Learn how to achieve zero downtime database migrations.
Version control: best practices
Version control is something that every shipping team uses, but there's not a lot of talking about the right way to do it. Used properly it can improve your code culture and help you move faster.
MongoDB Gotchas & How To Avoid Them
Everyone should be able to benefit from MongoDB's power and simplicity, and so I've outlined some common and not-so-common things that hackers should know about MongoDB.