Job Title: Backend Developer (Python / FastAPI)
Client: Client: State of Texas – Department of Transportation
Work Arrangement: Hybrid (3 days per week Onsite)
Work Location: Austin, TX
Interview Type: Webcam Only
Short Description
The Backend Developer will design, build, and maintain the core services of the document-generation engine — the recipe orchestrator, the merged/generated/static page workers, the aggregation and assembly service, and the REST API — extending the existing DocuWeaver core. Two senior developers are recommended to cover the routine story volume in parallel with the Extra-Large, critical-path architecture items. This is a fully dedicated, onsite role based at TxDOT HQ – Stassney, Austin, TX.
Key Responsibilities
- Implement the recipe orchestrator that parses document recipes and dispatches parallel page-processing events.
- Build the three page sub-routines — merged (template hydration), generated (external service calls with retry/backoff), and static (file-store retrieval).
- Implement the aggregation and assembly service that tracks completion per request_id and triggers final PDF assembly.
- Expose and document the POST /api/generate endpoint and delivery interfaces (webhooks/SMTP) with strict input validation.
- Implement structured audit logging (Trace ID per request) meeting ISS-01-801 auditing requirements (AU-02 through AU-12).
- Participate in mandatory peer review and CI/CD, maintaining >80% automated test coverage.
Required Qualifications
- 5+ years of backend software development experience.
- Experience developing or maintaining backend document-generation services.
- Preferred: Python REST APIs with FastAPI (async/await); template-driven PDF generation using Jinja2, ReportLab, python-docx-template, WeasyPrint, PyPDF2, and LibreOffice/docx2pdf.
- Preferred: integration with enterprise data and storage systems — PostgreSQL and object/blob storage (AWS S3 / Azure Blob).
- Preferred: async/event-driven design with AWS SQS/SNS and Celery or FastStream; Pydantic V2; structured logging.
- Preferred: disciplined engineering with Ruff, Black, mypy (strict), Bandit, and Pytest.