Full Stack Software Engineer
What you'll do:
You'll collaborate to build, maintain, and streamline our large application, working with Ruby, Rails, Postgres, and more. Some examples of the work you'll be doing include the following:
- Working closely with product and design to define and implement new features
- Continually improving our fetching code, which grabs data on millions of properties throughout each day
- Integrating various APIs to give our customers even more info about homes
- Making our website a more delightful experience
You'll have both the opportunity and the independence to tackle all kinds of challenges: some days you'll work on refactoring a legacy part of the app to make it do something new, and on others, you'll build a brand new, greenfield feature.
- You have experience architecting, building, and maintaining reliable web applications that serve hundreds of requests per second.
- You care about maintaining a clean, readable, well-tested codebase.
- We work extensively with Ruby, Rails, Postgres, React, and Sass. You have experience with most of these technologies or are willing to learn.
- You have backend experience with an OOP language using an MVC framework.
- You communicate well and collaborate with the whole team, be it to clarify product specifications or work through tough code problems.
- You enjoy mentoring fellow team members in areas where you have expertise – and graciously accept mentorship in areas where you have an opportunity to grow.
- We're a small team focused on opening up the old-school real estate world.
- Our goal is to build the best place for people to browse, shop for, and buy homes.
- We employ an iterative approach to building products and deploy multiple times a day.
- We have a big vision.
- We believe in hiring smart people and giving them the support and flexibility to succeed.
- We are a 100% distributed, remote team.
We're looking to hire the best people wherever they are in the world. You should be awesome at working remotely and available to join our daily standup at 9:30 am PST. We've had remote developers since 2011, and are seasoned veterans of working with a distributed team, across multiple time zones.
Our Hiring Process
We believe in collaborative interviews where we work with you to solve realistic problems. We interview for practical skills in a one-on-one setting and strive to use your preferred editor and tools whenever possible. Great candidates don’t usually write code on whiteboards, or implement basic data structures from scratch, so we won’t ask you to do that. We want our recruiting process to be transparent to you. It roughly consists of the following steps:
An initial call between you and a member of our team
- We'll tell you more about the work that you'd be doing, and why we think Estately is a great place to work. You'll have the opportunity to ask us lots of questions, too. We'll ask you about your experience and some technical questions, mostly to get a feel for where you're at as we move forward with the process.
- We have a few practical challenges to assess technical knowledge. Over the course of a few hours, you'll be fixing a bug in our app (that we've previously fixed), so we can see how you approach solving a realistic problem.
Pairing on a Few Potential Features
- During the pairing exercises, you'll pair with one of our developers to implement an (existing) feature in the app. This will take a couple of hours or so, and will mostly consist of a discussion about the approach, with some coding in the midst of it.
Discussion with representatives from our Product and Design teams
- As a small team, all of our developers work very closely with product and design. These short sessions will give you a chance to meet and speak with the product and design folks that you would be working with on a regular basis.
Estately seeks to increase the ratio of women and underrepresented minorities in software engineering and development; we encourage women and people from underrepresented groups to apply for this position.
Estately is striving to be a diverse team, made of and built by people with different backgrounds and lifestyles. We don't discriminate based on race, gender, sexual orientation, marital status, disability, age, religion, color, or any other group.