Sobre mí
Soy Jose Yufarinson Mosquera Diaz. Diseño y construyo sistemas de software desde Medellín, Colombia.
- 6
- Años construyendo software
- Medellín, Colombia
- Desde 2020
Empecé a desarrollar profesionalmente en 2020 y desde entonces mi trabajo se ha movido en una dirección clara: dejar de escribir pantallas sueltas y empezar a diseñar sistemas completos. Hoy trabajo sobre ecosistemas con backend, web y móvil compartiendo dominio, tipos y lenguaje.
Estudié desarrollo de software en el Instituto Tecnológico Metropolitano (ITM) de Medellín. Lo que más me interesa no es la tecnología de moda, sino la pregunta que viene antes: dónde poner las fronteras para que el sistema aguante los cambios que todavía no conocemos.
En la práctica eso significa arquitectura hexagonal en el backend, contratos publicados entre módulos, un sistema de diseño versionado en el frontend, y calidad automatizada con gates que fallan solos. Prefiero que una herramienta detecte el problema antes que confiar en que alguien lo recuerde.
Stack
Tecnología que uso en sistemas reales en producción, agrupada por capa.
- Frontend
- TypeScriptReact 19Next.jsViteTailwind CSSRadix UITanStack QueryZustandReact Hook FormZod
- Móvil
- React NativeExpoNativeWind
- Backend
- Node.jsNestJSArquitectura hexagonalDDDRESTEventos de dominio
- Datos
- PostgreSQLPrismaFirestoreCloud Storage
- Infraestructura
- DockerFirebaseGitHub ActionsCloudflare R2
- Herramientas y calidad
- pnpmTurborepoESLintPrettierVitestJestStorybookdependency-cruiser
Cómo trabajo
Cuatro convicciones que se notan en todo lo que entrego.
Las fronteras se verifican, no se prometen
Un acuerdo de equipo se erosiona en tres meses. Una regla de dependency-cruiser que rompe el build, no.
Toda decisión se escribe con su costo
Si no puedo nombrar la alternativa que descarté y qué perdí al hacerlo, no tomé una decisión: acepté un default.
El compilador es el primer revisor
TypeScript estricto, cero `any`, contenido validado con Zod. El error que aparece en build no aparece en producción.
El sistema no debe depender de mí
Documentación, despliegue automatizado y convenciones explícitas. Si el equipo no puede seguir sin mí, el trabajo está incompleto.
Disponibilidad
Acepto proyectos como desarrollador independiente y colaboraciones remotas. Radicado en Medellín, Colombia, trabajando en horario de América Latina.