Software Engineer · Remote · UTC-5

Hi, I'm Alejandro Dorado, a software engineer working on fulfillment software for perishable-goods brands.

Backend Software Engineer at Grip Shipping, fulfillment software for perishable-goods brands. Most of my tickets are in the customer web app, so the same change often runs from a Lit component through a FastAPI route down to SQL Server.

Stack
Python · FastAPI · JavaScript · Lit · SQL Server · Redis
Agents
Claude Code · Cursor · MCP
Languages
Spanish · English · Portuguese
scroll
01

I've worked at Grip since February 2026. My title is Backend Software Engineer, but most of my tickets are in the customer web app, so one change often touches a Lit component, the FastAPI route behind it and the SQL underneath. A lot of them start with a client or someone in operations reporting that something looks wrong.

I do most of my investigation with Claude Code and Cursor agents. When I look into a bug, one set of agents looks for the cause and a second set tries to prove it wrong. I check what survives against the code myself before I change anything.

The agents keep a ticket log through two commands I wrote, /save and /ticket. Each fact in it is marked as confirmed, deduced or pending. Scheduled agents summarize new tickets every morning, pointing to the part of the code each one touches, and scan error logs for failures.

My B.S. in Computer Science was entirely in English.

02
  1. Feb 2026 / Present Remote from Colombia

    Backend Software Engineer

    Grip Shipping, Inc.

    • Investigate bugs and review PRs with Claude Code and Cursor agents. A second set of agents tries to disprove the first set's findings, and I check what's left against the code before changing anything.
    • Keep a ticket log that the agents write through my /save and /ticket commands (26 entries, each fact marked confirmed, deduced or pending). Scheduled agents summarize new tickets every morning and scan error logs for failures.
    • Built the bulk upload that lets clients create advance shipment notices (ASNs) from Excel or CSV. Before, only Grip's internal team could create them in bulk. Later extended it to warehouse transfers and to updating ASNs that are still open.
    • Built one backend check for ASN rules, shared by the portal form, the bulk upload and the admin tool. Bad requests get a 400 with the reason and save nothing.
    • Found a stored procedure that closed transfer orders without checking the customer. PO numbers repeat across customers, so 55 of 269 open transfers were stuck. Fixed it in production.
    • Restored tracking on 260 of 262 orders whose labels were voided by mistake after they had shipped, using transactional SQL.
    • Fixed a bug, present since September 2025, that emptied a bundle's component SKUs whenever someone edited the bundle.
    • Traced unknown SKUs in a client's Shopify orders to a missing read_products permission. Without it, the product lookup failed without an error.
    • Wrote 12 automated tests (10 in Vitest, 2 in pytest) that reproduce a bug in the ASN edit form against the real code, before any fix was written.

    Python · FastAPI · JavaScript · Lit · Jinja2 · Tailwind CSS · REST APIs · SQL Server (T-SQL) · Redis · Databricks · Azure Functions · Azure Application Insights · GitHub Actions · pytest · Vitest · Claude Code · Cursor · MCP

  2. Feb 2024 / Dec 2024 Jacksonville, FL

    Programming Assistant

    University of North Florida

    Helped students in a lab used by 900+ people per semester with machines, software setup and accounts, and wrote up fixes for recurring issues.

  3. Aug 2022 / Jan 2023 Bogotá, Colombia

    Data Analysis Intern

    SalesLand Colombia SAS

    Cleaned and validated recruitment and performance data in Python and Excel, and wrote scripts to automate recurring reports.

03
Grip Shipping in production

Bulk ASN upload

Creating ASNs in bulk was only possible with an internal tool used by Grip's inventory team. I built a version for clients on the ASN page, with row-level errors shown before anything saves. I added CSV because some clients export from Google Sheets. Later it handled transfers between two warehouses. It also handled updates to open ASNs, for clients who reserve a receiving slot first and add the details later.

  • Python
  • FastAPI
  • pandas
  • Lit
Grip Shipping in production

Transfers that never closed

A transfer between two warehouses is stored as a parent record with two children. The parent should close when both children finish. The check matched children by PO number but not by customer. Since PO numbers repeat across customers, another client's open transfer could block yours forever. 55 of 269 open parents were stuck, and 6 had closed too early. The fix was one condition in the stored procedure.

  • SQL Server
  • T-SQL
  • stored procedures
Grip Shipping in production

Tracking lost after a mistaken void

Someone voided the labels on 262 orders that had already shipped with them. A void clears 17 fields on the shipment, tracking included, and sends the order back to Pending Fulfillment. I restored tracking on 260 with transactional SQL and moved them to Awaiting Shipment so the fix would hold. I left 2 out for review because their data didn't match.

  • SQL Server
  • T-SQL
04
Personal · product prototype public

PRism · PR coverage dashboard

Personal product prototype that converts spreadsheet-based media coverage into normalized dashboards and presentation exports.

  • Python
  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Lit
  • pandas
  • ECharts
Personal · machine learning public

AI JobShield

Interactive fraud-classification demo trained and evaluated on more than 17,000 labeled job listings.

  • Python
  • scikit-learn
  • Streamlit
05

Used regularly in my current role

  • Python
  • FastAPI
  • JavaScript
  • Lit
  • Jinja2
  • Tailwind CSS
  • REST APIs
  • Git

Production systems I work with

  • SQL Server
  • T-SQL
  • stored procedures
  • Redis
  • DuckDB
  • Delta Lake
  • Databricks
  • Shopify GraphQL API
  • Azure Functions
  • Azure Application Insights
  • GitHub Actions

Testing

  • pytest
  • Vitest

AI agents

  • Claude Code (multi-agent reviews, custom commands, scheduled agents)
  • Cursor
  • MCP

Project experience

  • PostgreSQL
  • Django
  • React
  • MySQL
  • pandas
  • scikit-learn
  • Streamlit
  • Docker
06
  1. Jan 2021 / Dec 2025 · Jacksonville, FL

    B.S. Computer Science

    University of North Florida

    • GPA 3.66 / 4.0
    • President's List
    • Dean's List
    • Latin American / Caribbean Scholarship (UNF)
    • Upsilon Pi Epsilon (ΥΠΕ)

    Data Structures · Algorithms · Databases · Computer Networks · Systems Programming · Software Engineering. Degree completed entirely in English.

Certifications

  • CS50: Introduction to Computer Science HarvardX · edX
  • Back-End Developer Professional Certificate Meta · Coursera

Languages

  • Spanish Native
  • English Professional working proficiency · full university degree completed in English
  • Portuguese B1
07
  1. What cold-chain logistics taught me about writing software that actually works

    Notes from working on logistics software, and what a production environment teaches you that coursework does not.

    Read on LinkedIn
08
Alejandro Dorado, portrait

Talk soon?

Let's talk backend systems and client integrations.