Mid-Level Full Stack Software Engineer

scheduleyesterday
sync_altWork style:Hybrid
trending_upExperience level:Mid-level
historyMinimum experience:15+ years
Apply Nowopen_in_new

Job description

We're looking for a mid-level full stack engineer to build features end to end across a Python/FastAPI backend and a React/TypeScript frontend. A large share of the work involves LLM-powered product features: an AI agent that calls tools to read and write real project data, and pipelines that pull structured data out of messy documents.

Location: LATAM 100% Remote. Working hours are based on the US Central Time Zone. Minimum 6-hour overlap

About the Company:

Abstra is a fast-growing, Nearshore Tech Talent services company, providing top Latin American tech talent to U.S. companies and beyond. Founded by U.S.-bred engineers with over 15 years of experience, Abstra specializes in sourcing skilled professionals across a wide range of technologies to meet our clients’ needs, driving innovation and efficiency.

Key Responsibilities

• Build and ship full stack features

  • Create fast proof of concept work for demos and client feedback
  • Extend the AI agent: add and maintain tools with typed input and output schemas, refine system

prompts, and keep model outputs grounded in data from the database.

  • Measure LLM behavior with evaluation suites and use the results to guide changes to prompts,

tools and models. Changes should be backed by evals, not hunches.

  • Improve document extraction and classification pipelines for PDFs, Excel, Word, and CSV files,

including the LLM-assisted steps.

  • Build data-heavy UI: tables, charts, maps and streaming chat interfaces.
  • Write tests at every layer (pytest, Vitest, Playwright) and review teammates' pull requests.
  • Contribute to infrastructure as code and CI/CD when your features need it.

Required experience

  • 3–5+ years of professional software engineering, with full stack features shipped to production.
  • Strong object-oriented design. You can model a complex domain with clear classes, sensible

boundaries and composition, and you know when inheritance is the wrong tool. Comfortable

with SOLID principles, common design patterns, and refactoring legacy code toward a cleaner

structure.

  • LLMs and ML as product features. You've built and shipped at least one feature where an LLM or

ML model is part of what the product does for customers. Using AI coding assistants doesn't

count toward this. Specifically:

o Tool or function calling, and structured outputs validated against schemas

o Prompt design, versioning, and checking outputs against source data to limit

hallucinations

o Evaluating model behavior with test sets or eval suites, and handling cost, latency and

failure modes

o Streaming LLM responses to a user interface

  • Python backend: production experience with FastAPI or a similar framework, Pydantic, async

Python, and SQLAlchemy (or a comparable ORM) with migrations.

  • Relational databases: strong PostgreSQL skills, including schema design, query performance and

data integrity.

  • React and TypeScript: production experience with modern hooks-based React, server-state

management (TanStack Query or similar), and building complex, data-dense interfaces.

  • Testing: you write automated tests by habit, both unit and integration, on the backend and the

frontend.

  • Cloud and delivery: working experience with AWS, Docker, Git-based pull request workflows and

CI/CD pipelines.

  • Communication: professional working English, and you can work independently in a small

remote team. That means clear written updates, good pull request descriptions, and raising

blockers early.

  • Hands-on experience with pydantic-ai, the Vercel AI SDK, or comparable agent and LLM

frameworks such as LangChain, LangGraph or the OpenAI Agents SDK.

  • Retrieval and RAG systems: embeddings, vector search (pgvector or similar), and hybrid retrieval.
  • Document AI: PDF and table extraction, OCR, and classifying semi-structured data.
  • Classical ML or applied statistics: regression, estimation, and working with confidence ranges.
  • Terraform and AWS App Runner or ECS.
  • Geospatial work: Shapely, PostGIS, or Leaflet-style mapping.
  • Domain exposure to real estate, construction, finance or proptech, such as cost estimating or pro

forma modeling.

  • Security-minded engineering: multi-tenant data isolation, authorization models and secrets

handling.

What We Offer

  • Competitive compensation paid in USD.
  • 20 days of paid time off (PTO) per year.
  • Opportunities for professional growth and career development.
  • Company-provided equipment.
  • A collaborative, inclusive, and multicultural work environment.
  • The opportunity to contribute to meaningful projects alongside a talented and supportive team.

Pre-Employment Verification

As part of our standard onboarding process, candidates who successfully complete the interview process and accept an employment offer will be required to complete an employment verification check, and background check. This process will confirm job titles and dates of employment with two previous employers and is a standard requirement for all new employees joining the company.

Skills mentioned


AI, Enterprise Software, Financial Services
abstra.io

Abstra is a platform that allows finance teams to build, run, and automate their workflows using Python and AI. Instead of relying on spreadsheets, ERPs, and manual processes, teams can create programmable workflows for tasks like reporting, reconciliations, approvals, and integrations with systems like SAP. We provide a developer-friendly environment where finance and technical teams can turn business processes into code, connect to their existing tools, and run everything in a controlled, auditable way. Our goal is to become the operating system for finance operations, where workflows are not static or manual, but versioned, automated, and continuously improved.

Apply for this job

Use the application link supplied with this listing to apply to abstra. Check the destination before entering personal information.

Apply Nowopen_in_new