Lead Rails Engineer for Bigger Pockets in Denver
BiggerPockets is a complete resource for anyone looking to succeed in real estate investing.
We offer free and paid content, tools, and a community of over 1,400,000 members to help people avoid mistakes; learn valuable tips; find partners, deals, and financing; and make the best investing decisions possible.
We currently have around 40 employees, 10 of which comprise the engineering team.
Our culture and our people mean the world to us! Below are key aspects of our culture that we live by. These words exist, in large format, on the walls of our office.
Family over everything
Serve others with purpose
Build authentic relationships
Value unique perspectives
Challenge what’s possible
Keep things fun and get it done
Our Core Engineering Values
Write code for humans first, computers second
Great code is easy to read and comprehensible, anyone can write code a computer can understand, good programmers write code that humans can understand
Always Be Testing. Great tests are like an instruction manual, they document how your code is meant to be used; tests also offer verification, if it’s not tested, how do we know it works?
Don’t prematurely optimize, if it’s not a bottleneck, don’t spend time optimizing like it is
Don’t prematurely refactor; duplication is far cheaper than the wrong abstraction
Homogeneous teams are boring- let your personality show, allow others to share their ideas and their personalities, embrace a diversity of thought, be inclusive of new people, especially if they don’t look or act like you, embrace new ideas and new ways of thinking, and let it all show in your work.
Prefer simple designs; build small, self-contained units that are responsible for one thing only; strive for boringness; avoid incomprehensible “magic”
We’re not interested in being trailblazers, keep an eye on trends, but prefer established tech, acknowledge the hot new thing, but wait for it to mature
Make everyone around you better; become a catalyst, by helping everyone around you improve, you become exponentially better than simply the sum of your working hours
Communicate clearly; communicate pragmatically. Don’t assume people know what you know. We love bullet points
We are all peers; whether you’ve been here for a decade or a day, your input is sought. When everyone participates in the process, everyone learns (for example in peer review)
Protect our users data, protect our product. Be proactive in securing your work, be diligent in securing others’.
Protect privacy - don’t expose any personal data we don’t need to no matter how insignificant it may seem
Protect our users time - users can choose leave to a competitor within seconds, don’t give them time to by shipping frustratingly slow software
Resist change that would compromise the above- you are the final layer between ideas and the user. Don’t hesitate to resist change requests; argue passionately, but respectfully. Explain yourself, cite precedent, offer alternatives, but above all respect the original motivation.
Optimise for programmer happiness- we use Ruby because it is designed around human needs, not computer needs. It is explicitly optimized for programmer happiness and we should strive to continue that trend in our own work.
Art is welcome- programming is a science, but our work needn’t always be antiseptic. A little artistry can be refreshing sometimes, but remember, real artists ship
Workaholics aren’t heros- they don’t save the day, they just use it up. People rarely solve problems by brute forcing them with sheer hours.
About This Role:
The essential functions of this role will be to help lead architectural discussions and decisions, develop, test, and maintain our web application and API, and to help with engineering best practices, support, and mentorship to the rest of the engineering team.
The BiggerPockets tech stack...a bit more context;
We run a Ruby on Rails web application with a jQuery and React frontend. On the backend, we use a PostgreSQL database, along with Redis and memcached. We use a lot of background processing using Sidekiq, and this is all hosted on the Heroku platform. Elasticsearch powers our search feature. We’re a big fan of testing (RSpec is our framework of choice) and we employ a lot of static analysis (Rubocop, ESLint) to help us write the best code we can.
Internally, most of our communication and project logistics happens in Slack, GitHub, Zoom, and Jira.
5+ years of Ruby on Rails in complex web application / SaaS environments
Strong mentorship experience and desire to help others
Excellent experience building and consuming RESTful APIs
Strong and regular exposure to Git
Expertise with testing using RSpec
Strong verbal and written communication skills
CS degree ideally, or requisite prod experience
Strong experience with Stripe
API Architecture background
Deep front end-dev skills
Interest in UX and having an eye for design
130-150k total comp
Health/vision/dental insurance 100% paid for you and one dependent
Work from home 1 day a week
Strong PTO program and paid holidays