Back to Jobs
Full-Stack Data Engineer
$130,000
per year
Job Description
What you’ll do
- Ship customer‑facing features. Combine Ruby on Rails, TypeScript + React, and lightweight ML models to deliver insights, predictions, and automation.
- Ingest 3D building models. Parse Revit (and similar) files to quantify material volumes, costs, and embodied carbon.
- Model & pipeline data end‑to‑end. Own schemas, ETL/ELT jobs, and APIs that surface data directly inside user workflows.
- Evolve our material knowledge‑graph. Curate data on products, manufacturers, carbon factors, and pricing—keeping it fast, accurate, and queryable.
- Integrate with the construction stack. Build integrations for Procore, Autodesk Construction Cloud, and carbon‑accounting tools.
- Keep things lean & reliable. Choose pragmatic SaaS/managed services so a 10‑person team can punch above its weight.
- Collaborate across the company. Pair with product, UX, and research to prototype, A/B‑test, and iterate quickly.
What you bring
- 5+ years building production software, including at least one complex data‑driven product.
- Fluency in relational modeling, SQL, and an ORM (we use ActiveRecord).
- Comfort wearing many hats—designing schemas, writing API endpoints, tweaking React components, and leverage ML when it moves the needle.
- A bias toward building features, not just infrastructure.
- A personal drive to fight climate change and join a tight‑knit, radically caring team.
Bonus points
- Hands‑on experience turning ML prototypes into shipped product features.
- Prior work with Revit, or other AEC data formats.
- Domain knowledge in real‑estate, architecture, or construction tech.
- Deep Ruby on Rails expertise.
Compensation & benefits
- $130k – $160k USD salary + generous seed‑stage equity
- 100 % employer‑paid health insurance
- 401(k) with 4 % match
- 25 days PTO plus company‑wide break between Christmas and New Year’s
- Flexible hours & fully remote culture (with twice‑yearly in‑person retreats)
Company Information
Location: Not specified
Type: Not specified