Senior Backend Engineer (Python)
About us
TeamCraft Roofing (TCR) is a commercial roofing contractor in the US - 300+ employees, projects in 30+ states, Fortune 500 clients. We are building the company's data and AI platform: AI agents in production over live business data, a document-processing service, a storm-response tool for the sales team, plus a data lakehouse and an in-house CRM currently being built.
About the role
You would join the platform team as its dedicated backend engineer, working directly with the core engineering team. The core of the role is the layer connecting our business systems, the data lakehouse, and the AI agents. It's a backend-first role - frontend is a small share of the work, but you shouldn't be blocked by it.
We build with AI coding agents as a normal part of the workflow, and we hold the quality bar anyway: agent-assisted or not, code ships reviewed, typed, and tested.
Responsibilities
- Build and maintain connectors for ERP, CRM, HR, and field-operations data. Not all of these systems have clean APIs - part of the job is making ingestion reliable anyway.
- Design and ship REST APIs (FastAPI) serving AI agents and internal applications
- Implement RAG pipelines for document-based assistants
- Build the service layer of our in-house CRM
- Contribute to the lakehouse build (medallion architecture on Azure)
- Occasionally build or modify an internal UI (Next.js) when the work calls for it
Tech stack
Python (FastAPI), SQLAlchemy, PostgreSQL (complex SQL, JSONB), Redis, OpenAI and Anthropic APIs, Next.js/TypeScript on the frontend, Docker, Azure, GitHub Actions. Claude Code in daily development.
Requirements
- 5+ years of Python backend development
- Strong SQLAlchemy; solid Pandas/NumPy for data processing
- Hands-on RAG or LLM-backend experience that real users touched
- You work with AI coding agents (Claude Code or similar) day to day - and you review what they produce before it ships
- Basic frontend ability: enough JavaScript/TypeScript to make changes in a Next.js/Vite app
- PostgreSQL performance tuning
- Pytest and type hints as a default working style - we hold an 80% coverage bar
- English B2+ for daily calls with the US team
Nice to have
- Azure ecosystem experience
- dbt
- OCR / document processing
- Construction or logistics domain experience
We offer
- 100% remote, long-term engagement
- Direct contract with the US company - no outstaffing, no agency in between
- Small team, short decision paths, real ownership of what you build
- hours overlap with US Eastern time
Hiring process
Intro call with the tech team -> technical interview, including a short live session driving Claude Code on a small task -> in some cases, a short paid test task -> offer