Mark Stratmann
About Me Background Image

Sobre mim

Um nerd de informática e tenho sido um há muito, muito tempo

Experiência Recente

Plataforma de Arquivo de E-mail

CTO e Programador Full-Stack Sénior

Responsável por uma plataforma abrangente de arquivo de e-mail e conformidade, de nível empresarial, que serve vários clientes globais. A plataforma processa milhões de e-mails diariamente em infraestrutura cloud AWS e em implementações on-premises.

Tecnologias-Chave: 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

Infraestrutura & DevOps

Implementações Kubernetes: Criei 50+ configurações de charts Helm para todos os serviços da plataforma. Implementa políticas de autoescalonamento, pod disruption budgets e políticas de rede para comunicação segura serviço-a-serviço.

Infraestrutura AWS: Construí pipelines de implementação automatizados usando templates CloudFormation e playbooks Ansible em múltiplas regiões AWS. Gere VPN gateways, roles IAM, security groups e configuração DNS do Route53.

CI/CD: Implementei Azure Pipelines para testes automatizados e builds de contentores. Inclui execução paralela de testes com Jest e Mocha, relatórios de code coverage e pipelines de implementação multi-stage.

Monitorização: Integrei recolha de métricas com Prometheus, dashboards Grafana e a stack ELK para agregação de logs. Implementei verificações de saúde dos serviços e políticas de alertas.

Ambientes de Desenvolvimento Docker: Concebi configurações abrangentes de docker-compose para desenvolvimento local, incluindo:

  • Replica sets MongoDB com health checks via mongosh
  • Bases de dados MySQL/Percona com definições de collation personalizadas
  • Clusters Kafka/Zookeeper com inicialização de tópicos
  • Servidores MinIO (compatíveis com S3) com criação de buckets
  • Arquiteturas multi-serviço com orquestração de dependências
  • Ferramentas de desenvolvimento: kubectl proxy, mongo-express, kafdrop, clientes MySQL

Imagens de Contentores Docker: Construí e otimizei imagens de contentores usando builds multi-stage para:

  • Serviços Node.js: imagens baseadas em Alpine com compilação TypeScript, node-prune para otimização de tamanho e runners distroless para uma pegada mínima em runtime
  • Serviços Go: imagens baseadas em Devcontainer com dependências librdkafka para conectividade com Kafka
  • Imagens base Ubuntu: imagens personalizadas pré-configuradas com Node.js, Java JDK, AWS CLI e ferramentas de desenvolvimento

Contentor Base Ubuntu: Construí e mantive uma imagem base Ubuntu 22.04 com Node.js, Java JDK 24, AWS CLI, ZooKeeper, etcd, Kafka e ferramentas de desenvolvimento para ambientes de build consistentes.

Contentor CloudShell: Construí contentores base e de ferramentas para o Azure Cloud Shell com PowerShell 7 e vários SDKs do Azure para workflows de gestão da cloud Microsoft.

Contentores de Desenvolvimento do VS Code: Configurei ambientes de contentores de desenvolvimento para múltiplos serviços com suporte para desenvolvimento remoto, passthrough SSH e gestão de extensões.

Base de Dados & Gestão de Dados

MongoDB: Document store com replica sets para alta disponibilidade. Implementa backups automatizados e procedimentos de disaster recovery usando mongodump/mongorestore.

MySQL/Percona: Base de dados relacional para dados estruturados, com workflows de backup e restore Percona usando myloader/mydumper para migração eficiente de dados.

CouchDB: Document store em cluster para armazenamento de dados distribuído com implementações multi-nó.

Migração de Bases de Dados: Desenvolvi tooling de migração de dados entre clusters MySQL e MongoDB, suportando transferências de dados em grande escala com testes de integração contra datasets semelhantes aos de produção.

Ambiente de Desenvolvimento Claude Code (ralph-agent)

Projeto Pessoal - Ambiente de Desenvolvimento de IA

Criei um ambiente de desenvolvimento baseado em Docker, otimizado para tarefas de agentes de IA de longa duração usando Claude Code. Inclui configuração de utilizador non-root com passthrough de SSH e Git, gestão automática da versão de Node.js via NVM e compatibilidade com VS Code Remote Development.

Tecnologias-Chave: Docker, Ubuntu 24.04, Node.js, VS Code Remote

Resumo

Vasta experiência na construção de plataformas SaaS empresariais escaláveis e multi-tenant, com especialização em toda a stack tecnológica. Capacidade comprovada para arquitetar microserviços, implementar pipelines CI/CD robustos e gerir implementações complexas de infraestrutura cloud. Forte background em sistemas de autenticação, arquiteturas event-driven e frameworks modernos de frontend, com foco em codebases manuteníveis e bem testadas.

Resumo de Tecnologias

TechnologyPurpose
TypeScriptLinguagem principal para APIs (Fastify, Express), frontend (Next.js, React), biblioteca de tipos partilhada (@cryoserver/types)
Node.jsRuntime de backend para 10+ microserviços
GoServiço SMTP para transferência de e-mail de alta performance
ReactFramework de UI para dashboards virados para clientes e para administração interna
Next.jsFramework React para UIs viradas para clientes
MongoDBDocument store principal para dados de utilizador e configuração
MySQL/PerconaBase de dados relacional para dados estruturados, usada com Prisma ORM
CouchDBDocument store em cluster para dados distribuídos
RedisCache de sessões
Kafka/KafkaJSMensageria event-driven entre microserviços
KubernetesOrquestração de contentores para implementações em produção
HelmGestor de pacotes para 50+ configurações de charts Kubernetes
AnsibleProvisionamento de infraestrutura e gestão de configuração (AWS, Azure)
DockerContentorização para todos os serviços com builds multi-stage
AWS SDKIntegração com S3, IAM, Cognito e outros serviços AWS
OAuth2/JWTAutenticação e autorização de APIs
CypressTestes end-to-end e de componentes para aplicações frontend
PrismaORM de base de dados type-safe para migrações MySQL
ZodValidação em runtime para tipos TypeScript
MUI (Material UI)Biblioteca de componentes de UI para aplicações Next.js
PuppeteerGeração de PDF
Node-RD KafkaCliente Kafka para serviços Node.js
SolrServiço de indexação e pesquisa
Prometheus/GrafanaRecolha e visualização de métricas
ELK StackElasticsearch, Logstash, Kibana para logging centralizado
Azure PipelinesCI/CD para builds e implementações automatizadas
Playwright/MCPAutomação de browser para testes de UI conduzidos por IA
llama.cppInferência local de LLM para ferramentas experimentais de CLI
Shibboleth SPMódulo Apache para federação SAML 2.0
ZooKeeperServiço de coordenação para clusters Kafka e Solr
MinIOArmazenamento compatível com S3 para desenvolvimento local
MavenFerramenta de build de projetos Java com testes Surefire
TurboRepoFerramenta monorepo para gerir múltiplas aplicações Next.js