Skip to main content

Senior Software Engineer

Fast pages, measured and kept that way.

I'm Miguel, a senior software engineer in Colombia with 17+ years of experience. I focus on the front end: Next.js and React in production, with performance built into every site, not added at the end.

View my portfolio

02Skills

The stack I ship with, and how I keep it fast.

  • Mindset

    Performance

    I treat it as part of the build, not a last step: what loads first, what can wait, what the cache holds. The habit started on storefronts, with service workers and lazy loading, years before React.

  • Framework and library

    Next.js and React

    App Router, Server Components and Server Actions, with caching and revalidation planned from the first page. Reusable components built from Figma handoffs, with client code only where it is needed.

  • Language

    TypeScript

    The default for the platforms I ship and for the packages I build for the team.

  • Styling

    Tailwind CSS

    With Radix UI and shadcn/ui as the base of the platforms: accessible primitives, styled in one place.

  • Query layer

    GraphQL

    Typed queries with variables and cursor pagination from Next.js to WPGraphQL. I also wrote a plugin with the default queries a headless site needs, and rules against introspection abuse and circular queries.

  • Headless CMS

    Headless WordPress

    WPGraphQL and REST feeding Next.js, with on-demand revalidation from WordPress when content changes.

  • Plugins

    PHP

    WordPress plugins with PSR-4, PHPStan level 8, PHPCS and PHPUnit, released by CI on every tag.

  • Runtime

    Node.js

    The CLIs and libraries I publish on npm, such as jsdoc-to-tsdoc, recaptcha-next and docs-sitekit.

  • Quality

    Testing

    Jest and Testing Library for units, Cypress and Playwright end to end.

  • Delivery

    CI/CD

    GitHub Actions across my projects: matrix tests, CodeQL, Dependabot with auto-merge and releases that run on a tag. Actions are pinned by SHA and Docker base images by digest, so nothing in a build changes without a commit, which limits supply-chain attacks.

  • Infrastructure

    AWS

    CloudFront, ECS, Secrets Manager, CodePipeline and Amplify behind the production platforms.

  • AI workflows

    AI-assisted engineering

    agents-toolkit: prompts and skills for Claude Code, GitHub Copilot and Codex, from ticket to pull request. CI that sets up and reviews with the Copilot agent, and an MCP server for an internal API.

The PHP logo is by Colin Viebrock, adapted to one color under CC BY-SA 4.0. The original is on php.net.

03About

I taught myself to code with no formal training, then got my first professional job in 2009 and studied Multimedia Production at SENA while working.

Since 2023 I've been back in school for a Software Engineering degree, alongside my day job building the front end of Next.js platforms, mostly with Next.js, TypeScript and headless WordPress.

Performance is how I work, not a task at the end. It started on storefronts, with ES6 modules, service workers and lazy loading, and it comes with me to every Next.js site.

I started on one job, moving sites from WordPress to Next.js. As I learned the business, I began to build the tools the team could reuse, under the same standards for code, architecture, CI/CD and quality.

I'm based in Madrid, Cundinamarca, Colombia. Outside of work, I'm usually out with my dog, Mila.

Me with my dog, Mila
  • 17+

    Years of experience

  • Front end

    Where I focus

  • Fast

    Performance from the first commit

  • Reusable

    Packages and standards the team builds on

  1. Frontend developer

    2009 to 2019

    First professional job in 2009, then agencies and independent client work through 2019.

  2. Frontend tech lead, SAP Commerce

    2019 to 2024

    Storefront work where the performance habit started: ES6 modules, PWAs, service workers and lazy loading. Promoted to tech lead in 2020.

  3. React and Next.js in production

    Since November 2023

    Moved to React and Next.js, building platforms for a U.S. client.

  4. Senior software engineer

    Today

    Next.js platforms, WordPress plugins and open-source packages, built from Figma handoffs and made to be reused, with performance in each.

04What I do

The interesting part is never the first release. It's whether it still holds up a year later.

  • 01

    Performance that survives the release

    Pages that load fast and keep loading fast after the release. Caching, images and scripts are planned with the feature and measured before and after. It started on storefronts, with service workers and PWAs.

  • 02

    Next.js platforms, end to end

    Features shipped from the page to the API: App Router, Server Components and Server Actions against headless WordPress and REST, kept running after the launch.

  • 03

    Pipelines that catch things early

    A release pipeline a team can rely on: matrix testing, CodeQL, Dependabot with auto-merge and SHA-pinned actions across my repositories, plus CI that requests automated review.

  • 04

    A foundation the team builds on

    Public WordPress plugins on shared packages and coding standards, one script loader under the Next.js integrations, and base images for the WordPress and Next.js sites. Built once, documented, and reused.

05Portfolio

Things that are live, and what is inside them.

The full portfolio

06Blog

What each project actually taught me.

Not tutorials. The bug that took a week to find, the fix that turned out to be configuration, the assumption that measurement destroyed.

open to new opportunities

Hiring, or starting a project? Let's talk.

I'm open to full-time roles and freelance projects. With more than 17 years building for the web, I can take a feature from the design file to production and help your team move faster. Tell me what you're hiring for.

07Contact

Have something to build, or just say hi.

Elsewhere

me@miguelcolmenares.com

Madrid, Cundinamarca, Colombia