Software Engineer
About the role
We run one of the largest digital marketplaces in residential real estate, where buyers, sellers, servicers, and agents transact on real property with real money at stake. Every listing that moves through our platform touches valuation, bidding, contracts, payments, and a long list of external systems, and the platform keeps evolving to meet the needs of the market.
We’re hiring full stack engineers to build that platform. You’ll work in React and TypeScript on the front end, Node, Kotlin, and GraphQL services behind it, running on AWS and Kubernetes. You’ll own features end to end: design, build, test, ship, and support them in production.
What the work looks like
You’ll work in a lean technology org (~50 engineers) which means there is no layer between you and the work that matters. What you build ships.
You’ll ship customer-facing features and the services that power them, usually in slices small enough to get in front of users quickly.
You’ll test what you build. That means automated coverage at the unit, integration, API, and end-to-end levels, wired into CI so it keeps working after you move on. We don’t hand code to someone else to verify.
You’ll debug real problems in production. Distributed systems fail in interesting ways, and figuring out why is part of the job, not an interruption to it.
You’ll be in design discussions and code reviews as a participant, not an observer. If you think an approach is wrong, we want to hear it early.
You’ll work directly with product, UX, data, and other engineers. Most of the interesting decisions happen in those conversations.
You’ll have room to build AI-enabled features. We’re actively putting LLMs into customer and internal workflows, and engineers here are shaping what that looks like.
Who does well here
The technical bar matters, but these are the traits that actually predict who thrives on this team.
You get curious when something doesn’t add up. A weird log line, a metric that moved for no reason, a function nobody can explain. You go find out why instead of routing around it.
Blockers are problems, not stop signs. Everyone gets stuck. What matters is what you do in the next hour. You try a few angles, read the source, check the logs, and when you do ask for help you show up with what you’ve already ruled out.
You’re still learning. You picked up something new in the last few months, probably because you wanted to rather than because someone assigned it. You can also say “I don’t know” without it costing you anything.
You care whether it worked. Not whether the ticket closed, whether the customer’s problem is actually solved.
What you bring
Roughly 3+ years building and shipping production software
React, or another modern component framework you can translate from
Node.js or Kotlin/Java backend services, with REST or GraphQL APIs
Hands-on experience in AWS or a comparable cloud
Enough comfort with Docker and Kubernetes that a container deployment isn’t a black box
Automated testing as a habit rather than a phase
Working knowledge of CI/CD, plus relational and NoSQL data stores
Judgment about performance, scalability, and security, and the instinct to ask about them before shipping
If you have most of this and a track record of picking up the rest quickly, apply anyway. We’d rather hire someone who learns fast than someone who checked every box five years ago.
AI and emerging technology
You don’t need to be an AI or ML engineer. We’re looking for software engineers who are genuinely curious about this space and want to apply it to real customer problems.
Any of the following is a plus: LLM and generative AI application work, AI API integrations, AWS Bedrock or comparable platforms, retrieval-augmented generation, conversational interfaces, or agent and workflow automation. Personal projects count.
Nice to have
Background in fintech, proptech, real estate, mortgage, lending, payments, e-commerce, or marketplaces
Experience with high-volume transactional systems
Microservices, distributed systems, or event-driven architecture
Experience on a team where engineers owned both delivery and quality
How we engineer
Quality is part of engineering, not a separate department. Engineers here test what they build and own it through production.
We keep feedback loops short. Trunk-based development, feature flags, small changes, frequent deploys.
We prefer clarity over cleverness, in code and in conversation.
We hire people who are curious, direct, and accountable, and then give them problems worth solving.