Flexible Work Arrangements
Our engineering team works from all over the world.
We work from our home offices, at cafes, and while traveling. We are a distributed team that believes working hours should be the times you want to work, and that you only need to work the hours needed to deliver your responsibilities. (Of course, you should let people know when you’re going to be unavailable.) We hire hard-working, passionate people and give them autonomy to manage their time and balance their lives so they can feel happy and engaged.
Having a distributed team has been extremely advantageous for us. It allows us to expand our search for talent across the world, gives us around-the-clock coverage, and forces us to focus on creating and maintaining tools and processes that allow for excellent communication. By joining our distributed team, you’ll have co-workers with diverse backgrounds who provide multicultural perspectives on our team and insider travel information.
We have unlimited paid time off and encourage healthy breaks from work to recharge. Because we do have a distributed team and we’ve invested heavily in the tools and processes to support it, even those of us at HQ (in San Francisco) benefit directly in that working from home or while traveling is easy; we’re set up well for it! Ps. Our SF HQ office is pet friendly.
We post daily standups in a slack channel so you can tell your peers what you’re doing, as well as making a plan for what you’re going to be doing for the day.
We also have a team meeting every week which everyone should attend. Due to our varying time zones and where people are in the world, this rotates every three weeks: one week it’ll be early (before 09:00), one week it’ll be in the afternoon, and one week it’ll be late. This is so it’s equally terrible for everyone.
We schedule bi-weekly “pairing” sessions with every other member of the team, during which you can work on whatever you want: pair programming, code review, technical writing, discussion about coding styles, whatever. This is to get you to spend time with your teammates and build trust.
We also have weekly random 1:1's with some other team member. These are “water cooler” style chats where you spend 30 minutes talking about whatever you want to. Each week you’ll also have a 1:1 with your manager, and every two weeks you’ll have a 1:1 with the CIO, Derek.
We also have formal bi-annual review processes. We see this as dedicated time for you and your manager to reflect on all you’ve done! It’s also time set aside for you to plan exciting, interesting, and career growing opportunities for the next 6 months. This is not a time for surprises :).
Good communication is critical when working on a distributed team.
We believe in giving the team all the information they need to guide their work and make well-informed decisions. We have an open floor plan and plenty of areas to encourage and accommodate conversations. We also have a very active Slack Channel so that remote team members can easily be included in the water cooler conversation.
Our Executive Team hosts an All Hands every two weeks. During this time, they share high-level company messaging, and highlight people, accomplishments, and product updates. An Exec Team AMA is typically held at the end, and everyone is *truly encouraged* to ask anything. This aligns to out company cultural value of “No BS.”
High Employee Retention
In 2017, we had 92.3% retention.
While we think this stat speaks volumes, we also wanted to let some of our current engineers say why they’ve stayed at Rainforest as long as they have:
David Yost, Sr. Program Manager (works from Pennsylvania): “I really enjoy the flexibility with the hours and work location. Working from home has been awesome. The attitude from management is "just get it done," but you have the flexibility of when and where. There is a HUGE sense (and support) of self direction.”
A.J. Funk, Software Engineer (works from Bay Area): “I work with the product team to envision a feature, determine its feasibility, and then implement it. The flexible work arrangements at Rainforest allow me to choose my own work-life balance and live a healthy lifestyle on my own terms. Our product allows engineers to quickly and confidently ship code, and nothing shows more confidence in our product than using it in our own workflow! Finally, our "No BS" attitude towards everything means that expectations and feedback are always clear and to the point. Everybody has a say in important decisions. If I have an opinion on a matter, I know that my voice will be heard.”
Jiri Kaipr, Software Engineer (works from Czech Republic): “I love working at Rainforest because I enjoy the flexibility of working remotely. I've never worked in a company with such a great team spirit. It's a joy to be working with people who genuinely try to help each other, all working towards a common goal of keeping Rainforest a successful company where we all enjoy to work.”
Finally, we have spent a tremendous amount of time developing our interview process to be high-touch and respectful. As a result, 94% of our offers turn into hires!
We have a culture of autonomy and transparency.
People are not micromanaged here at Rainforest. If people sign up for a project or are assigned a project, it’s really their project. They identify themselves as the leader. While there are expectations, deadlines, and check-ins with managers, the main responsibility your manager has is to remove roadblocks for you.
We have four engineering teams: backend, frontend, data science, and professional services team, with ~5 people on each team.
Our product is made for a technical audience.
We hire engineers who are genuinely excited about working on a product that other engineers will use. We want to reduce the total QA time for all engineering teams and cut down on manual QA hours. As our own users, we operate on CI/CD and deploy to production multiple times a day with confidence. Our work directly impacts our own productivity, accuracy, and enables us to scale without friction.
We recently raised our Series B and decided to use our funding to double down on the engineering org. We are focused on hiring to our engineering team in 2018, so if you’re at all interested in joining Rainforest, please reach out!
Why Rainforest - Rainforest QA
Promotes from Within
We encourage and support our team members to grow with Rainforest.
We’ve seen a number of ICs grow into managers, directors, and even become a VP. Numerous SDRs have gone on to become AEs. We invest in a learning platform (Udemy) as a perk for all team members. This gives our team members free access to 1000s on business and career related courses. We also encourage and support conference attendance for any team member who makes a case for it.
We have regular formalized reviews as a part of our commitment to individual development. Our People Team helps managers identify who on their team has a desire and the skills to grow to do so.
We have bi-weekly sprints.
Our product team researches features and produces a “narrative” which engineering then works with to offer suggestions and modifications to make more achievable. We then translate the feature to a technical specification which is then entered into the sprint for development work. The aim of this is to try and make sure we deliver what Product wants, and that we develop it in the way that will be most future proof.
We use git flow and each PR is reviewed before it’s merged to the develop branch. We use CI/CD, and when a PR is opened, all the unit tests are run automatically. When the PR is merged to develop, all the unit tests are run as well as Rainforest tests. If the tests pass, then develop is automatically merged into master and released into production. We push code to production multiple times a day with high confidence.