Mark Stratmann
About Me Background Image

Sobre mí

Un friki de la informática y lo he sido durante muchísimo, muchísimo tiempo.

Experiencia reciente

Plataforma de archivado de correo electrónico

CTO y desarrollador Full-Stack senior

Responsable de una plataforma integral de archivado de correo electrónico y cumplimiento normativo de nivel empresarial que da servicio a múltiples clientes globales. La plataforma procesa millones de correos electrónicos diariamente en infraestructura cloud de AWS y despliegues on-premises.

Tecnologías clave: TypeScript, Node.js, Go, Java 21, Spring Boot 3.5, React, Next.js, MongoDB, MySQL, Kafka, Kubernetes, Helm, Ansible ELK, Prometheus, Grafana, AWS, Docker, Cypress, Redis, Prisma, SAML 2.0, OAuth2

Infraestructura y DevOps

Despliegues en Kubernetes: Creé más de 50 configuraciones de charts de Helm para todos los servicios de la plataforma. Implementa políticas de autoscaling, presupuestos de interrupción de pods y políticas de red para una comunicación segura entre servicios.

Infraestructura AWS: Construí pipelines de despliegue automatizados usando plantillas de CloudFormation y playbooks de Ansible en múltiples regiones de AWS. Gestiona gateways VPN, roles de IAM, grupos de seguridad y la configuración DNS de Route53.

CI/CD: Implementé Azure Pipelines para pruebas automatizadas y builds de contenedores. Incluye ejecución paralela de tests con Jest y Mocha, informes de cobertura de código y pipelines de despliegue multi-etapa.

Monitorización: Integré la recopilación de métricas con Prometheus, dashboards de Grafana y el stack ELK para la agregación de logs. Implementé comprobaciones de salud de servicios y políticas de alertas.

Entornos de desarrollo con Docker: Diseñé configuraciones completas de docker-compose para desarrollo local, incluyendo:

  • Replica sets de MongoDB con checks de salud mediante mongosh
  • Bases de datos MySQL/Percona con ajustes de collation personalizados
  • Clústeres de Kafka/Zookeeper con inicialización de topics
  • Servidores MinIO (compatibles con S3) con creación de buckets
  • Arquitecturas multi-servicio con orquestación de dependencias
  • Herramientas de desarrollo: kubectl proxy, mongo-express, kafdrop, clientes MySQL

Imágenes de contenedor Docker: Construí y optimicé imágenes de contenedor usando builds multi-etapa para:

  • Servicios Node.js: Imágenes basadas en Alpine con compilación TypeScript, node-prune para optimización de tamaño y runners distroless para una huella mínima en tiempo de ejecución
  • Servicios Go: Imágenes basadas en devcontainer con dependencias de librdkafka para conectividad con Kafka
  • Imágenes base Ubuntu: Imágenes personalizadas preconfiguradas con Node.js, Java JDK, AWS CLI y herramientas de desarrollo

Contenedor base Ubuntu: Construí y mantuve una imagen base Ubuntu 22.04 con Node.js, Java JDK 24, AWS CLI, ZooKeeper, etcd, Kafka y herramientas de desarrollo para entornos de build consistentes.

Contenedor CloudShell: Construí contenedores base y de herramientas para Azure Cloud Shell con PowerShell 7 y varios SDKs de Azure para flujos de trabajo de gestión de la nube de Microsoft.

Contenedores de desarrollo de VS Code: Configuré entornos de contenedor de desarrollo para múltiples servicios con soporte de desarrollo remoto, passthrough de SSH y gestión de extensiones.

Bases de datos y gestión de datos

MongoDB: Almacén documental con replica sets para alta disponibilidad. Implementa backups automatizados y procedimientos de recuperación ante desastres usando mongodump/mongorestore.

MySQL/Percona: Base de datos relacional para datos estructurados, con flujos de backup y restore de Percona usando myloader/mydumper para una migración de datos eficiente.

CouchDB: Almacén documental en clúster para almacenamiento de datos distribuido con despliegues multi-nodo.

Migración de bases de datos: Desarrollé herramientas de migración de datos entre clústeres de MySQL y MongoDB, soportando transferencias de datos a gran escala con pruebas de integración contra conjuntos de datos similares a producción.

Entorno de desarrollo Claude Code (ralph-agent)

Proyecto personal - Entorno de desarrollo de IA

Creé un entorno de desarrollo basado en Docker optimizado para tareas de agentes de IA de larga duración usando Claude Code. Incluye una configuración de usuario sin privilegios (non-root) con passthrough de SSH y Git, gestión automática de versiones de Node.js mediante NVM y compatibilidad con VS Code Remote Development.

Tecnologías clave: Docker, Ubuntu 24.04, Node.js, VS Code Remote

Resumen

Amplia experiencia construyendo plataformas SaaS empresariales escalables y multi-tenant, con dominio de todo el stack tecnológico. Capacidad demostrada para diseñar microservicios, implementar pipelines CI/CD robustos y gestionar despliegues complejos de infraestructura cloud. Sólida experiencia en sistemas de autenticación, arquitecturas orientadas a eventos y frameworks frontend modernos, con foco en bases de código mantenibles y bien testeadas.

Resumen de tecnologías

TechnologyPurpose
TypeScriptLenguaje principal para APIs (Fastify, Express), frontend (Next.js, React), librería de tipos compartida (@cryoserver/types)
Node.jsRuntime de backend para más de 10 microservicios
GoServicio SMTP para transferencia de correo de alto rendimiento
ReactFramework UI para paneles (dashboards) orientados a clientes y de administración interna
Next.jsFramework de React para UIs orientadas a clientes
MongoDBAlmacén documental principal para datos de usuario y configuración
MySQL/PerconaBase de datos relacional para datos estructurados, usada con Prisma ORM
CouchDBAlmacén documental en clúster para datos distribuidos
RedisCaché de sesiones
Kafka/KafkaJSMensajería orientada a eventos entre microservicios
KubernetesOrquestación de contenedores para despliegues en producción
HelmGestor de paquetes para más de 50 configuraciones de charts de Kubernetes
AnsibleAprovisionamiento de infraestructura y gestión de configuración (AWS, Azure)
DockerContenerización de todos los servicios con builds multi-etapa
AWS SDKIntegración con S3, IAM, Cognito y otros servicios de AWS
OAuth2/JWTAutenticación y autorización de API
CypressPruebas end-to-end y de componentes para aplicaciones frontend
PrismaORM de base de datos con tipado seguro para migraciones de MySQL
ZodValidación en runtime para tipos de TypeScript
MUI (Material UI)Librería de componentes UI para aplicaciones Next.js
PuppeteerGeneración de PDF
Node-RD KafkaCliente Kafka para servicios Node.js
SolrServicio de indexación de búsqueda y consultas
Prometheus/GrafanaRecopilación y visualización de métricas
ELK StackElasticsearch, Logstash, Kibana para logging centralizado
Azure PipelinesCI/CD para builds y despliegues automatizados
Playwright/MCPAutomatización de navegador para pruebas de UI impulsadas por IA
llama.cppInferencia local de LLM para herramientas CLI experimentales
Shibboleth SPMódulo de Apache para federación SAML 2.0
ZooKeeperServicio de coordinación para clústeres de Kafka y Solr
MinIOAlmacenamiento compatible con S3 para desarrollo local
MavenHerramienta de build de proyectos Java con pruebas Surefire
TurboRepoHerramienta monorepo para gestionar múltiples aplicaciones Next.js