Skip to contentSkip to content
Certificados verificados. En cadena. Para siempre.Más información
Cover image for Refactor SOLID de un Módulo de Notificaciones en una EdTech de Lima
Code

Refactor SOLID de un Módulo de Notificaciones en una EdTech de Lima

FreeVerified credential2 semanasIntermediate

Visión general

De qué trata este proyecto.

Recibes el módulo en Python 3.12 con pruebas mínimas. Empieza por escribir tests de caracterización para los 3 canales existentes. Aplica Single Responsibility separando dispatch, formateo, transporte y registro. Aplica Dependency Inversion definiendo una interfaz Channel y haciendo que SMS, email y push la implementen. Aplica Open-Closed para que añadir WhatsApp no toque las clases existentes. Cierra con la implementación de WhatsApp como canal nuevo, hecha en menos de 4 horas y demostrada con tests. Entrega el PR, los tests y un memo de 2 páginas con antes/después medido en líneas, dependencias y tiempo estimado para añadir un canal.

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

El Briefing

Lo que harás y lo que demostrarás.

Refactorizar un módulo monolítico de notificaciones aplicando SOLID para que añadir un canal nuevo se haga en menos de medio día.

Earning criteria — what you'll demonstrate

  • Aplicar SOLID en código real con métricas de impacto, no en pizarra
  • Escribir tests de caracterización antes de refactorizar código sin red
  • Diseñar abstracciones que reduzcan el coste del próximo cambio
  • Documentar antes/después con métricas creíbles para defender la inversión

Encaje académico

Dónde encaja esto en tus estudios.

Afina las mismas habilidades que tu titulación espera de ti.

Carreras

Roles para los que esto te prepara.

Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.

Trayectorias profesionales que esto construye

Roles canónicos

Ingeniero de Software

Aplicar SOLID a código real con métricas defendibles es lo que separa al ingeniero senior del que cita SOLID en entrevistas pero no en su PR.

Este proyecto afina

  • solid-principles
  • refactoring
  • python

Ingeniero de Backend

Diseñar interfaces extensibles para canales de notificación es trabajo recurrente del backend en producto orientado a engagement.

Este proyecto afina

  • solid-principles
  • design-patterns
  • python

Una cosa más

Puedes tener una credencial en tu CV para el viernes.