Sobre mí

Quién está detrás del software.

Soy Ari Castillo, desarrollador de software orientado a sistemas. Apasionado por las tecnologías de la información, la ingeniería de datos y la automatización.

Chinandega, Nicaragua · Trabajo remoto · Español / Inglés

Mi trabajo se concentra en software aplicado a operaciones organizacionales: sistemas internos, automatización de procesos, integraciones, procesamiento de datos y soluciones desarrolladas alrededor de necesidades específicas. Me entusiasma tomar un problema que al principio parece disperso y descubrir cómo encajan sus piezas: el proceso, los datos, las reglas y las personas que lo utilizan. Convertir todo eso en un sistema que funcione de verdad es una de las partes que más disfruto del desarrollo de software.

Una característica bastante marcada de mi forma de pensar es que me interesa el sistema completo:

proceso · datos · software · infraestructura · resultado

Por eso puedo moverme entre un sistema empresarial, una API, una base de datos, un pipeline de datos o un sistema que termina interactuando con hardware.

Una perspectiva interdisciplinaria

Mi formación combina software, datos, electrónica, control y automatización. Esa combinación me lleva naturalmente hacia problemas donde esas áreas se cruzan: entender qué ocurre detrás de una herramienta y cómo se relacionan las distintas partes de un sistema.

Esa curiosidad también está en la forma en que pienso el software. Me interesa saber qué hay detrás de una interfaz: de dónde viene la información, cómo se relaciona con el resto del sistema, qué reglas la condicionan y qué representa realmente. Una aplicación puede funcionar técnicamente y aun así estar modelando mal el problema que intenta resolver. Por eso me importa que el software no solo funcione, sino que represente correctamente el proceso para el que fue construido.

Cómo trabajo

Mi aproximación es pragmática y sigue un orden bastante claro:

  1. Entender el problema y el proceso actual.
  2. Identificar restricciones, excepciones y datos involucrados.
  3. Definir una solución proporcional a lo que realmente se necesita.
  4. Implementar y validar contra el flujo real.
  5. Dejar un sistema que pueda mantenerse y evolucionar.

Trabajo a partir de objetivos y requerimientos definidos, normalmente con documentación o términos de referencia como punto de partida. Cuando el alcance necesita cambiar durante la implementación, los ajustes se conversan, se acuerdan y se incorporan de forma explícita.

Áreas de competencia

Software
  • Backend y aplicaciones web
  • Sistemas internos y software a medida
  • APIs e integración entre sistemas
  • Arquitectura de aplicaciones y servicios
  • Automatización de procesos
Datos
  • Modelado y almacenamiento de datos
  • Procesamiento y transformación
  • Analítica aplicada a operaciones
  • PostgreSQL, SQLite e InfluxDB
Sistemas
  • Sistemas distribuidos
  • Comunicación entre servicios y WebSockets
  • Persistencia y tolerancia a fallos
  • Infraestructura y despliegue
Software y sistemas físicos
  • Sistemas embebidos y automatización
  • Adquisición y procesamiento de señales
  • IIoT y observabilidad de procesos
  • Control y sistemas robóticos

Intereses técnicos

Hacia dónde apunto, además de lo que ya uso.

  • Backend y arquitectura de sistemas
  • Ingeniería de datos
  • Analítica y modelado de sistemas
  • GIS
  • Sistemas distribuidos y observabilidad
  • IIoT y automatización

Formación

  • Ingeniería Cibernética Electrónica Universidad Tecnológica La Salle, León 2022–2027
  • Data Science Professional Certificate HarvardX 2024

Herramientas y tecnologías

Más que una lista de herramientas, los sistemas que permiten construir.

Lenguajes
RustTypeScriptPythonSQL
Backend
Node.jsFastifyAPIsWebSockets
Frontend
ReactNext.jsAstro
Datos
PostgreSQLSQLiteInfluxDB
Infraestructura
DockerLinuxNginxCloudflare
Otros
Git/GitHubprocesamiento de datossistemas embebidos