1. Skip to content

1. Comunicación y Contenido Técnico

Estrategia de comunicación técnica para diferentes audiencias y formatos.


1.1 📢 Introducción

Qué: Estrategia para comunicar conceptos técnicos de forma efectiva a diferentes audiencias.

Por qué: Comunicación clara es crítica para alineación, adopción de decisiones y visibilidad profesional.

Cómo: Adaptar tono, profundidad y formato según audiencia y objetivo.


1.2 👥 Escritura para Diferentes Audiencias

1.2.1 Juniors

Características:

  • Poco contexto técnico
  • Necesitan explicaciones paso a paso
  • Aprenden mejor con ejemplos concretos

Estrategia:

  • ✅ Explicar conceptos desde cero
  • ✅ Usar analogías y ejemplos del mundo real
  • ✅ Incluir código completo (no snippets)
  • ✅ Explicar el "por qué", no solo el "cómo"
  • ❌ Asumir conocimiento previo
  • ❌ Usar jerga sin explicar

Ejemplo:

# ❌ MAL (asume conocimiento)
"Usa un circuit breaker para manejar fallos en servicios downstream."

# ✅ BIEN (explica desde cero)
"Cuando tu servicio llama a otro servicio (ej: API de pagos), ese servicio puede fallar.
Si falla repetidamente, tu servicio puede quedar bloqueado esperando respuestas.

Un circuit breaker es un patrón que detecta cuando un servicio está fallando mucho
y automáticamente deja de llamarlo por un tiempo, devolviendo un error inmediato.
Es como un fusible eléctrico que se corta cuando hay sobrecarga.

Ejemplo con código:
[código completo con comentarios]"

1.2.2 Seniors

Características:

  • Alto contexto técnico
  • Valoran precisión y profundidad
  • Buscan trade-offs y edge cases

Estrategia:

  • ✅ Ir directo al punto
  • ✅ Discutir trade-offs y alternativas
  • ✅ Incluir edge cases y limitaciones
  • ✅ Referencias a papers, RFCs, benchmarks
  • ❌ Explicar conceptos básicos
  • ❌ Ser superficial

Ejemplo:

# ✅ BIEN (directo, trade-offs, referencias)
"Implementamos circuit breaker con estado distribuido en Redis (vs in-memory)
para consistencia cross-instance, a costa de latency adicional (~5ms p99).

Trade-offs considerados:
- In-memory: Más rápido pero inconsistente en multi-instance
- Redis: Consistente pero latency adicional
- Consensus (etcd): Fuerte consistencia pero complejidad operacional

Elegimos Redis por balance latency/consistencia. Para casos donde 5ms es crítico,
considerar in-memory con eventual consistency.

Ref: [Hystrix design](https://github.com/Netflix/Hystrix/wiki)"

1.2.3 Stakeholders No Técnicos

Características:

  • Poco o nulo conocimiento técnico
  • Interesan resultados de negocio, no implementación
  • Valoran claridad y brevedad

Estrategia:

  • ✅ Enfocarse en impacto de negocio
  • ✅ Usar analogías no técnicas
  • ✅ Visualizaciones (gráficos, diagramas simples)
  • ✅ Evitar jerga técnica
  • ❌ Detalles de implementación
  • ❌ Asumir contexto técnico

Ejemplo:

# ✅ BIEN (impacto de negocio, analogía simple)
"Problema: Cuando el servicio de pagos falla, nuestro checkout se queda esperando
hasta 30 segundos, lo que causa que usuarios abandonen la compra.

Solución: Implementamos un 'fusible automático' que detecta cuando pagos está fallando
y devuelve error inmediato, permitiendo al usuario reintentar o usar otro método de pago.

Impacto:
- Reducción de 30s → 100ms en tiempo de respuesta cuando pagos falla
- Estimamos 15% menos abandono de carrito en incidentes (basado en data histórica)
- Mejor experiencia de usuario en escenarios de fallo"

1.2.4 Ejecutivos (C-Level)

Características:

  • Tiempo limitado
  • Interesan métricas, ROI, riesgos
  • Decisiones estratégicas, no tácticas

Estrategia:

  • ✅ Executive summary (3-5 bullets)
  • ✅ Métricas de negocio (revenue, cost, risk)
  • ✅ Recomendación clara (qué hacer)
  • ✅ Riesgos y mitigaciones
  • ❌ Detalles técnicos
  • ❌ Más de 1 página (o 5 slides)

Ejemplo:

# ✅ BIEN (executive summary, métricas, recomendación)
## Propuesta: Migración a Microservicios

**Recomendación:** Migrar gradualmente de monolito a microservicios en 18 meses.

**Impacto de Negocio:**
- Velocidad: 2x deployment frequency (1/semana → 2/semana)
- Costo: Reducción 30% en cloud costs (mejor utilización de recursos)
- Riesgo: Reducción 50% en downtime (fallos aislados, no cascada)

**Inversión:**
- 4 engineers x 18 meses = $800K
- Cloud migration costs = $200K
- Total: $1M

**ROI:** Payback en 14 meses (ahorro en cloud + reducción de downtime)

**Riesgos:**
- Complejidad operacional (mitigación: contratar SRE)
- Curva de aprendizaje (mitigación: training + external consultants)

1.3 📖 Storytelling Técnico

1.3.1 Estructura de Narrativa Técnica

Elemento Descripción Ejemplo
Hook Captar atención con problema relevante "Nuestro sistema de pagos falló 3 veces en 2 semanas, perdiendo $50K en revenue"
Context Explicar situación y constraints "Arquitectura monolítica, 10 años de legacy, 100K usuarios activos"
Challenge Describir el problema específico "Deployments riesgosos (all-or-nothing), debugging difícil, escalado limitado"
Solution Proponer solución con trade-offs "Migración gradual a microservicios con strangler pattern"
Outcome Resultados medibles "Deployment frequency 2x, downtime -50%, cloud costs -30%"
Lessons Aprendizajes y recomendaciones "Empezar con bounded contexts claros, invertir en observability desde día 1"

1.3.2 Ejemplo: Post-Mortem como Historia

# Post-Mortem: Outage de Pagos (2015)

## Hook
El 15 de enero, nuestro sistema de pagos estuvo down por 2 horas durante Black Friday,
resultando en $120K de revenue perdido y 500+ tickets de soporte.

## Context
- Sistema de pagos: Monolito Java + PostgreSQL
- Tráfico normal: 100 TPS, Black Friday: 500 TPS (5x)
- Deployment reciente: Nueva feature de descuentos (deployed 2 días antes)

## Challenge
A las 10:00 AM, latency de pagos aumentó de 200ms → 30s. A las 10:15, DB connections
pool exhausted, causando cascading failures en todo el sistema.

## Root Cause
Nueva feature de descuentos ejecutaba N+1 queries (1 query por producto en carrito).
Con 5x tráfico, DB no pudo manejar la carga.

## Solution (Immediate)
- 10:30: Rollback de feature de descuentos
- 10:45: Sistema recuperado, latency normal

## Solution (Long-term)
- Refactor: Batch queries (1 query para todos los productos)
- Monitoring: Alertas en latency p99 >1s y DB connection pool >80%
- Load testing: Simular Black Friday traffic antes de deployments

## Outcome
- Downtime: 2 horas
- Revenue perdido: $120K
- Lecciones aprendidas: [ver sección siguiente]

## Lessons
1. **Load testing es crítico**: Simular tráfico real antes de eventos de alto tráfico
2. **Monitoring proactivo**: Detectar degradación antes de outage completo
3. **Feature flags**: Deploy features críticas detrás de flags para rollback rápido

1.4 🔄 Content Repurposing

1.4.1 De RFC a Múltiples Formatos

Formato Original Formatos Derivados Audiencia
RFC (5 páginas) → Blog post (800 palabras); → LinkedIn post (300 palabras); → Twitter thread (10 tweets); → Conference talk (30 min) Engineers → General tech audience → Broader audience → Conference attendees

1.4.2 Ejemplo: RFC → Blog Post

RFC (extracto):

# RFC-042: Migración a Microservicios

## Context
Sistema monolítico con 500K LOC, 10 años de legacy, deployment frequency 1/semana...

## Proposal
Migración gradual usando strangler pattern:
1. Identificar bounded contexts
2. Extraer servicios uno a uno
3. Routing dual (monolito + microservicio)
4. Deprecar código en monolito

## Trade-offs
- Pros: Deployment frequency, fault isolation, scalability
- Cons: Operational complexity, distributed tracing, data consistency

Blog Post (adaptado):

# Cómo Migramos de Monolito a Microservicios Sin Downtime

Hace 2 años, nuestro sistema era un monolito de 500K líneas de código.
Deployments tomaban 2 horas y cualquier bug afectaba todo el sistema.

Hoy, tenemos 15 microservicios, deployamos 10 veces por semana y downtime
se redujo 80%. Acá te cuento cómo lo hicimos.

## El Problema
[Hook con problema concreto]

## La Estrategia: Strangler Pattern
[Explicar patrón con analogía]

## Paso a Paso
[Proceso simplificado]

## Resultados
[Métricas de impacto]

## Lecciones Aprendidas
[3-5 takeaways accionables]

1.5 📱 Formatos de Contenido

1.5.1 LinkedIn Post

Características:

  • 1300 caracteres óptimo (3500 palabras)
  • Hook en primera línea
  • Formato: problema → solución → resultado
  • CTA (call to action) al final

Template:

[HOOK - Problema o resultado sorprendente]

[CONTEXTO - 2-3 líneas]

[SOLUCIÓN - Qué hiciste, cómo]

[RESULTADO - Métricas concretas]

[LECCIÓN - 1-2 takeaways]

[CTA - Pregunta o invitación a comentar]

#hashtag1 #hashtag2 #hashtag3

Ejemplo:

Redujimos el tiempo de deployment de 2 horas a 15 minutos. 🚀

Hace 6 meses, cada deployment era un evento. Todo el equipo en call,
dedos cruzados, y 2 horas de tensión.

Implementamos:
→ CI/CD automatizado (GitHub Actions)
→ Blue-green deployments
→ Automated rollback en <2min

Resultado:
✅ Deployment time: 2h → 15min
✅ Deployment frequency: 1/semana → 5/semana
✅ Failed deployments: 20% → 2%

Lección: Automatización no es solo velocidad, es confianza.
Cuando deployment es fácil, deployamos más seguido, con menos riesgo.

¿Cuál es tu mayor pain point en deployments?

#DevOps #CI/CD #SoftwareEngineering

1.5.2 Twitter Thread

Características:

  • 280 caracteres por tweet
  • Tweet 1: Hook + promesa de valor
  • Tweets 2-N: Contenido (1 idea por tweet)
  • Tweet final: Resumen + CTA

Template:

1/ [HOOK + Promesa]
Ejemplo: "Aprendí 5 lecciones migrando a microservicios que me hubiera gustado saber antes. 🧵"

2/ [Lección 1]

3/ [Lección 2]

...

N/ [Resumen + CTA]
Ejemplo: "Resumen: [3 bullets]. ¿Qué agregarías? 💬"

1.5.3 Conference Talk (30 min)

Estructura:

  • Intro (3 min): Hook, quién sos, qué van a aprender
  • Problem (5 min): Contexto, problema, por qué importa
  • Solution (15 min): Cómo lo resolviste (con demos/ejemplos)
  • Results (5 min): Métricas, impacto, lecciones
  • Q&A (2 min): Preguntas

Tips:

  • ✅ Máximo 20 slides (1 slide/min + buffer)
  • ✅ Demos en vivo (o videos si es riesgoso)
  • ✅ Storytelling (no lista de features)
  • ❌ Leer slides
  • ❌ Código complejo (usar pseudocódigo o diagramas)

1.6 🔍 SEO para Contenido Técnico

1.6.1 Keywords

Estrategia:

  • Usar herramientas: Google Keyword Planner, Ahrefs, SEMrush
  • Buscar keywords con alto volumen, baja competencia
  • Incluir keywords en: título, H1, H2, primeros 100 palabras, URL

Ejemplo:

# ❌ MAL (título genérico)
"Cómo Mejorar tu Sistema"

# ✅ BIEN (keywords específicas)
"Cómo Migrar de Monolito a Microservicios con Spring Boot: Guía Completa 2024"
Keywords: migrar monolito microservicios, spring boot microservices, microservices tutorial

1.6.2 Estructura

SEO-friendly:

  • H1: 1 por página (título principal)
  • H2-H6: Jerarquía clara
  • Párrafos cortos (2-3 líneas)
  • Listas (bullets, numbered)
  • Imágenes con alt text descriptivo

Estrategia:

  • Linkear a recursos autoritativos (papers, docs oficiales)
  • Guest posts en blogs relevantes
  • Compartir en comunidades (Reddit, HackerNews, Dev.to)

1.7 📋 Artefactos

1.7.1 Technical Writing Style Guide

# Technical Writing Style Guide

## Tono
- **Claro y directo**: Evitar ambigüedad
- **Profesional pero accesible**: No formal en exceso
- **Activo vs pasivo**: Preferir voz activa ("Implementamos X" vs "X fue implementado")

## Estructura
- **Pirámide invertida**: Información más importante primero
- **Párrafos cortos**: 2-4 líneas máximo
- **Listas**: Usar bullets para >3 items
- **Headings**: Jerarquía clara (H1 → H2 → H3)

## Código
- **Syntax highlighting**: Siempre especificar lenguaje
- **Comentarios**: Explicar el "por qué", no el "qué"
- **Ejemplos completos**: No snippets sin contexto
- **Runnable**: Código debe ser ejecutable (o indicar que es pseudocódigo)

## Ejemplos
- **Concretos**: Casos de uso reales, no abstractos
- **Relevantes**: Relacionados al dominio del lector
- **Completos**: Incluir setup, ejecución, output esperado

## Anti-patterns
- ❌ Jerga sin explicar
- ❌ Asumir conocimiento previo (sin indicarlo)
- ❌ Ejemplos abstractos (foo, bar, baz)
- ❌ Código sin contexto
- ❌ Párrafos >10 líneas

1.7.2 Content Repurposing Matrix

Formato Original Blog Post LinkedIn Twitter Talk Video
RFC ✅ Simplificar, agregar ejemplos ✅ Extracto con hook ✅ Thread con lecciones ✅ Deep dive técnico ✅ Walkthrough
Post-Mortem ✅ Storytelling, lecciones ✅ Resultado + lecciones ✅ Thread con timeline ✅ Case study ✅ Incident replay
Tutorial ✅ Paso a paso detallado ✅ Resultado + CTA ✅ Tips rápidos ✅ Live coding ✅ Screencast
Benchmark ✅ Análisis + gráficos ✅ Resultado sorprendente ✅ Números + insight ✅ Metodología + resultados ✅ Demo comparativo

1.7.3 Blog Post Template

# [Título con Keywords]

## Hook (1 párrafo)
[Problema relevante o resultado sorprendente]

## Context (2-3 párrafos)
[Situación, por qué importa, para quién es relevante]

## Problem (3-4 párrafos)
[Descripción detallada del problema, ejemplos concretos]

## Solution (5-10 párrafos)
[Cómo lo resolviste, paso a paso, con código/diagramas]

### Paso 1: [Título]
[Explicación + código]

### Paso 2: [Título]
[Explicación + código]

## Results (2-3 párrafos)
[Métricas, impacto, comparación antes/después]

## Trade-offs (2-3 párrafos)
[Qué sacrificaste, cuándo NO usar esta solución]

## Lessons Learned (3-5 bullets)
- [Lección 1]
- [Lección 2]
- [Lección 3]

## Conclusion (1 párrafo)
[Resumen + CTA]

## References
- [Link 1]
- [Link 2]

1.8 📚 Recursos