Full Stack Software Engineer (TypeScript/Python)

Bain & Company•Austin, TX
•$84,250 - $111,500•Hybrid

About The Position

Bain & Company is developing a suite of cutting-edge data and software solutions designed to revolutionize how the private equity industry uses data for investment insights and decision-making. The PEG Innovation team's mission is to create analytical solutions for Bain clients, teams, and the broader institutional investor space using proprietary software and data products. Full Stack Software Engineers build, ship, and operate the end-to-end products and shared platform services that power Bain's PE due diligence platform within PEG Engineering. This role involves working across the entire stack, including responsive frontends, backend services, APIs, data models, and scheduled/event-driven jobs. A significant portion of the work involves AI-enabled features, integrating LLMs and agentic patterns into analyst workflows. Engineers are expected to own features end-to-end, partner with Product and Design, and operate with increasing independence. Systems primarily run on Microsoft Azure, with some workloads on AWS. Collaboration with Platform Engineering and AI teams is essential.

Requirements

  • Bachelor's degree in Computer Science, Engineering, Information Systems, or a related field (or equivalent combination of education, training, and experience).
  • 2 to 5 years of professional experience building and shipping web applications and backend services in a production environment, with greater independence, breadth, and ownership expected toward the upper end of the grade.
  • Demonstrated experience implementing features in modern TypeScript frameworks (React and/or Svelt) and writing tests for shipped work.
  • Experience building backend APIs and services in Python (FastAPI) and/or Node.js (TypeScript, Express), and working with relational databases including schema evolution and migrations.
  • Comfortable working productively across a polyglot codebase (Python and TypeScript) rather than a single language or layer.
  • Production exposure to a major cloud provider (Microsoft Azure and/or AWS).
  • Exposure to building or integrating AI-enabled features (LLM integration, retrieval, structured outputs), grounded in solid software engineering fundamentals.
  • Comfortable collaborating with Product and Design to translate requirements into working software and iterating on feedback.
  • Frontend fundamentals in TypeScript with React and/or Svelte: component composition, state management, and performance-aware UI development; comfortable styling with Tailwind and a shared design system.
  • Frontend testing: Vitest and React Testing Library (or equivalent); able to write reliable unit and integration tests and debug failures.
  • Backend fundamentals in Python (FastAPI, Pydantic v2, async patterns) and/or Node.js (TypeScript, Express); able to build and maintain well-structured services under established conventions.
  • API design and validation: RESTful services with validated and type-safe contracts (Zod, Pydantic, OpenAPI codegen, or similar); understands versioning and backwards compatibility.
  • Relational data fundamentals: comfortable writing and reading raw SQL, designing normalized schemas, and reasoning about tables, views, indexes, and foreign-key relationships rather than relying solely on ORM-generated patterns.
  • Working PostgreSQL knowledge: query plan analysis when debugging slow queries, JSONB usage patterns, and the ability to reason about triggers and stored procedures where the team uses them.
  • Migration discipline: writes safe, backwards-compatible migrations following the expand/contract approach; understands why breaking changes are dangerous in a multi-service environment.
  • Scheduled and event-driven systems: comfortable building and operating cron-based and queue-driven jobs, with attention to idempotency, retries, and observability.
  • Docker basics: comfortable building and running containers locally and following non-root image conventions where required.
  • Kubernetes familiarity: understands health checks and resource limits at a basic level and can update Helm values with guidance.
  • CI/CD familiarity: comfortable reading GitHub Actions workflow output and fixing common test and lint failures in PRs.
  • Operates as an engineer, not only a coder: frames the problem, weighs approaches, and designs for building; uses AI to accelerate execution, not to substitute for the thinking behind it.
  • Builds for users: optimizes for analyst workflows and clarity, not just technical elegance.
  • Delivers production-quality work: tests, observability, and documentation are part of the Definition of Done.
  • Raises concerns early when requirements, contracts, or data models are unclear; seeks help rather than getting stuck.
  • Communicates clearly, collaborates well across Product, Design, and Engineering, and grows toward providing technical guidance to others within the grade.

Nice To Haves

  • Familiarity with infrastructure-as-code (Terraform or equivalent): able to read existing modules, make scoped changes, and review changes with a security and cost lens.
  • Hands-on experience integrating AI-enabled features into applications: LLM calls, prompt and structured-output design, and streaming or human-in-the-loop patterns.
  • Working knowledge of retrieval-augmented generation and vector search (for example pgvector), including chunking, embeddings, and retrieval quality at a practical level.
  • Familiarity with agent orchestration frameworks (LangChain, LangGraph, or equivalent) and with evaluation and regression-gate concepts for AI features.
  • Treats AI coding assistants (Cursor, GitHub Copilot, or equivalent) as a co-pilot, not an autopilot: uses them to scaffold, refactor, and draft tests, but reads, understands, and revises every line before committing, and does not ship generated code they cannot fully explain.

Responsibilities

  • Build and maintain product UI features in React and Svelte with TypeScript and Tailwind, following established component patterns and the shared design system.
  • Build and maintain backend services in Python (FastAPI, Pydantic v2) and Node.js (TypeScript, Express), following established code conventions and PR standards.
  • Design and implement RESTful and type-safe API contracts (Zod, Pydantic, OpenAPI codegen, or similar); own the contract boundary between frontend and backend services and manage consumer impact when it changes.
  • Model and evolve PostgreSQL schemas via SQLAlchemy and equivalent patterns; write safe, backwards-compatible migrations using the expand/contract approach.
  • Build and operate scheduled and event-driven jobs (cron-based and queue-driven systems) for ingestion, enrichment, and background processing; make them idempotent, observable, and safe to re-run.
  • Integrate AI-enabled features into product workflows: LLM calls, retrieval-augmented generation, vector search, structured and streaming outputs, and human-in-the-loop review, following established safety and evaluation patterns.
  • Integrate correctly with shared platform services (Auth/RBAC, Audit, Notifications, File handling); raise contract issues early and coordinate changes through the teams.
  • Write unit and integration tests for delivered features (Vitest and React Testing Library on the frontend, pytest and Jest on the backend) and contribute to end-to-end tests (Playwright) for owned workflows.
  • Add observability for owned changes: follow established logging patterns, emit standard metrics, and update dashboards and runbooks for impacted workflows.
  • Contribute to containerized delivery (Docker) and support Kubernetes configuration through Helm values and manifests; deploy primarily to Azure, with some workloads on AWS.
  • Support releases for owned work: validate changes in staging, participate in incident triage, and follow runbooks and escalation paths.
  • Participate fully in team ceremonies (refinement, planning, standup, review, retro); ask clarifying questions early and communicate blockers clearly.
  • Participate in code reviews as both author and reviewer; incorporate feedback and raise code quality over time.
  • Provide technical guidance to peers and mentor more junior engineers through review and pairing (expected toward the upper end of the grade).
  • Contribute to engineering standards, reusable patterns, and shared product infrastructure (design system, API client libraries, OpenAPI and type generation).
  • Contribute to technical discovery, proofs-of-concept, and evaluation of new tools and techniques, including emerging AI engineering practices.
  • Use AI coding assistants to accelerate scaffolding, refactors, and first-pass tests; read, understand, and validate all generated code before committing.
  • Contribute documentation for delivered features (release notes, runbook updates, and lightweight technical notes) as part of the Definition of Done.

Benefits

  • Annual discretionary performance bonus
  • 4.5% 401(k) company contribution, which increases after 3 years of service and is 100% vested upon start date
  • Full premium coverage for medical, dental, and vision
  • Generous paid time off, including parental leave, sick leave and paid holidays
  • Paid Life and Long-Term Disability insurance
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service