Backend Engineer

Ian Legaria
Morales

Software Engineer III · Currently at Guru

Seven years building backend systems across enterprise, SaaS, and startup contexts — from greenfield microservices to legacy modernization, complex API integrations to large-scale data workflows. Consistent focus on correctness, reliability, and maintainability regardless of the stack.

Technical Profile

What I work with

Java
Primary language · 7+ years
Spring Boot
Microservices · REST · GraphQL
JPA / Hibernate
Criteria API · Metamodel type-safe
PostgreSQL
Schema design · query optimization
Elasticsearch
Index design · analyzers · queries
Redis
Caching · rate limiting
Cloudant NoSQL
IBM Cloud · document store · IBM
AWS
SQS (FIFO) · async messaging · cloud infra
Google Pub/Sub
Event-driven workflows
OAuth 2.0
Auth code · client credentials
GraphQL
API design · schema-first
Go (Golang)
REST APIs · feature flags · IBM
TypeScript · Node
Integration platform · API clients
GCP
GCS · Pub/Sub · GKE · Cloud Run
Kubernetes
GKE · container orchestration
Docker · Terraform
Containerization · IaC
Stripe
Payment processing · webhooks
Grafana · Prometheus
Observability · on-call
Liquibase
Schema migrations · versioning
Jenkins · Travis CI
CI/CD pipelines
Selected Work

Case Studies

138
Pull requests@ Guru
662
Commits shipped@ Guru
10+
APIs integrated
7yr
Backend experience
Career

Experience

Jul 2024 — Present · Guru Remote · Philadelphia
Software Engineer III (Backend)
  • Implemented a zero-downtime migration of a core content model using the dual-write pattern — batched backfills, idempotent reruns, schema cleanup post-cutover.
  • Built a custom RBAC system: role CRUD API, atomic permission matrix across multiple resource types, and orphaned access record cleanup gated behind a feature flag.
  • Built and maintained 10+ integrations with external SaaS APIs (Salesforce, Jira, Confluence, GitHub, Coda) — handling OAuth 2.0, pagination, rate-limit retry, and incremental sync.
  • Built an internal tool powered by AI agents (Claude Skills, LangGraph) to automate the development, deployment, and debugging of integrations — cutting average delivery time by over 60%.
  • Adopted AI-assisted development workflows using Claude, ChatGPT, and Cursor throughout the engineering cycle — from design and implementation to debugging and code review — as standard tooling for daily backend work.
  • Migrated multiple services from deprecated Hibernate Criteria API to type-safe JPA Criteria with Metamodel attributes.
JavaSpring BootJPA / Hibernate PostgreSQLAWS SQSElasticsearch TypeScriptOAuth 2.0Liquibase
May 2022 — Jul 2024 · Cision Remote · Mexico City
Software Engineer II
  • Joined a greenfield microservices platform built from scratch for content creators, journalists, and enterprise users — ~30 engineers across multiple service teams.
  • Co-designed one of the platform's first GraphQL services: a media pipeline that accepted image uploads, generated multiple resized variants, and stored results in Google Cloud Storage.
  • Built the Elasticsearch search layer from scratch: index mappings, analyzers, tokenizers, and query structure for enterprise content search.
  • Integrated Stripe for payment processing and wired Google Cloud Pub/Sub for the async subscription update flow triggered on purchase events.
  • Deployed on GKE via GitHub Actions and Terraform; monitored with Grafana and Prometheus. Participated in on-call rotation.
JavaSpring BootGraphQL PostgreSQLElasticsearchPub/Sub StripeKubernetesTerraform
Sep 2019 — May 2022 · IBM Remote · Guadalajara
Full Stack Developer
  • Worked on two internal IBM platforms across separate teams — both modernization projects involving legacy systems and enterprise-scale integrations.
  • On the first project: built and maintained backend services in Go and REST APIs for an internal contracts system; increased test coverage from 20% to 80%; collaborated on a Golang feature flags system.
  • On the second project: contributed to migrating a legacy Java 7 / Servlets app hosted on IBM WebSphere to IBM's hybrid cloud — dockerized the application, introduced Jenkins for CI, and helped start a new React frontend.
GoJavaReact Cloudant NoSQLPostgreSQL DockerKubernetes JenkinsIBM Cloud
Jul 2018 — Sep 2019 · SmartSoft America Tlaxcala, Mexico
Java Developer
  • First professional role — worked across multiple client projects including a government cadastral system, an events and conferences platform, and a cargo logistics app for container management.
  • Built backend systems using Java, JSF, and REST APIs; deployed on GlassFish application server.
  • Developed Android mobile applications in Kotlin, integrated with backend services.
  • Designed and maintained MySQL and PostgreSQL databases across multiple projects.
JavaJSFKotlin AndroidMySQL PostgreSQLGlassFish
Independent Engineering

Personal Projects

Featured Project

Mercury

Backend Systems Case Study

Self-hosted RAG backend for document ingestion, semantic search, grounded Q&A, quiz generation, snippets, and spaced-repetition flashcards.

Backend focus

A self-hosted knowledge engine designed to organize and study personal documents using semantic search. Created out of a real need, and used as a platform to explore backend system design concepts like async pipelines, caching strategies, and LLM integrations.

Highlights
  • Spring Boot 3.5, Java 21, PostgreSQL + pgvector
  • RabbitMQ ingestion pipeline with transactional outbox
  • Redis search caching and Testcontainers integration tests
  • GitHub Actions backend CI and protected main branch
JavaSpring BootPostgreSQLpgvectorRabbitMQRedisTestcontainersGitHub Actions
Background

Education & Publications

Aug 2014 — Jul 2018 · UAT Tlaxcala, Mexico
B.S. Computer Engineering
  • Universidad Autónoma de Tlaxcala — Computer Engineering program.
Academic Publication · IZTATL Magazine ISSN: 2007-9958
Risk Management in the Development of Software Projects
  • Published research article on risk identification and mitigation strategies in software project development, featured in IZTATL academic magazine.
Get in touch

Contact