- This position is open to candidates located in Colombia or Costa Rica only -
We are looking for a Senior Data Platform Engineer to own the data behind a campaign-management platform that will manage paid search and paid social campaigns across well over a thousand Google Ads and Meta accounts for automotive dealerships, replacing a third-party tool the client licenses today.
This is an integration-heavy data role. You will connect the platform to the client's own business data: Salesforce budgets and enrollments, daily vehicle inventory in Snowflake, dealer offers and incentives, and manufacturer enrollment files. That data decides how much each campaign may spend, which dealer it belongs to and which vehicles and offers it promotes. You will also prove that each migration wave moved cleanly, and run production operations while the book moves.
Responsibilities
Build the data foundations
- Build the Salesforce budget sync: read budget line items and enrollments without ever writing them, hold any campaign with no matching line item, keep the two budget families strictly separate, and hold rather than proceed when Salesforce is unreachable.
- Build the dealer crosswalk that links each dealer to its Google Ads account, Meta account, Salesforce record and inventory feed, with the attributes the platform filters and routes on, a standing exception report and automatic onboarding of new enrollments. Never resolve an ambiguous match by guessing.
- Ingest daily VIN-level inventory from Snowflake, offers from S3 feeds and an offers API, and manufacturer enrollment files, with freshness and completeness checks that stop downstream work on stale data.
- Agree the data contracts with the client's data team in Sprint 0, and use the shared contracts the platform pod publishes for inventory, offers and incentives where they cover the same feeds.
- Build pacing detection: current-day spend from the ad platforms, month-end projection from remaining eligible days, and flags a strategist can understand.
- Build the Incentive Sync engine: offers and their expiry in one approval, validated per account against manufacturer rules, removed exactly once on expiry.
- Model manufacturer rules, allowed values and model lineups as versioned, effective-dated data, and supply dealer and inventory data to the playbook renderer and to inventory-driven campaign selection.
Prove and move the book
- Build wave orchestration and the evidence pipeline: fourteen-day before-and-after aggregates, ID checks, settings diffs, tracking audit and zero-spend checks, assembled into a scorecard the client signs.
- Produce the data for the pilot wave in month five. The client uses that evidence to decide whether to give notice to its current tool.
- Run the data side of five production waves: bind every adopted campaign to its budget, carry over settings held only in the current tool, audit and fix inherited tracking parameters, and calibrate pacing on live spend.
Run it and hand it over
- Run production operations during the migration: observability tuning, incident response, API quota monitoring and rollback drills, coordinated with the platform pod's on-call for the shared environments.
- Hand pipelines, runbooks, environments and data contracts to the client's teams, and confirm the handover by having them run it.
Write decision records, runbooks and documentation the client's data team can work from, and pair with their engineers throughout.
Because the team is small, also
- Run the data working sessions with the client's data team and Salesforce administrators yourself, and leave with written agreements.
- Make reversible data design decisions when the Solutions Architect is unavailable, write them down and bring them for review.
- Prepare the data side of every wave sign-off pack, and act as first responder for data issues during the migration.
- Raise blockers early and in writing, with an impact assessment on schedule, scope or quality.
- Complete Gorilla Logic's internal AI engineering training before starting on the client's environment. Use the approved AI delivery tooling only under the client's least-privilege credentials, review every AI-generated artifact before it enters the codebase or a deliverable, and never let client code or data be used to train a model.
Technical requirements
- Six or more years building and operating production data or integration systems.
- Production Salesforce integration: custom objects, SOQL, bulk reads and change detection.
- Snowflake extracts, S3 file feeds, REST APIs and a pipeline orchestrator on AWS.
- Data quality and identity resolution: freshness checks, reconciliation between systems, exception reports people act on, and blocking work when a match is ambiguous.
- Spend or financial calculations backed by scenario-based automated tests, and bulk operations that hold on partial failure and run idempotently.
- Production operations on AWS: incidents you handled, monitoring, quotas, runbooks and infrastructure as code. Strong Azure experience is acceptable with a demonstrated method for moving to AWS.
- Solid SQL, production Python or PHP, and secure handling of production credentials.
- Daily use of AI coding tools with real review discipline: you test and reject generated code, and you know where these tools fail.
- Clear written and spoken English, and comfort presenting your work to US client stakeholders.
Preferred qualifications
- Google Ads or Meta Marketing API reporting, including provisional spend and rate limits.
- Merchant Center or Meta catalogs, or vehicle listing and automotive inventory ads.
- PHP and Laravel, the platform's stack.
- Automotive retail data: VIN-level inventory, manufacturer incentive programs and dealer data.
- Ad operations, live migrations with a tested rollback plan, rules engines, or containers on AWS.
What success looks like
- Every campaign spends against an approved budget line item, and nothing deploys without one.
- Every dealer resolves to the right accounts and feeds, and ambiguous matches are reported rather than guessed.
- The pilot wave in month five has a scorecard the client signs, and every production wave after it does too.
- Production stays stable through the migration waves, with incidents handled and quotas inside the envelope.
- By the end of month nine the client's data team owns the pipelines, runbooks and data contracts.