César Ballardini — Habilidades Técnicas
Desarrollador de Software Senior · Arquitecto de Sistemas · Educador | Redes Eléctricas y Sistemas de Potencia | Vue.js · TypeScript · Python · GNU/Linux
A continuación se presenta una lista parcial de palabras clave. Cada una representa un componente, habilidad o actividad con la que trabajo o he trabajado. Para documentación, detalles o discusión sobre cualquier tema listado, contactarme.
Programación
Lenguajes de Programación
- actuales: Python, TypeScript, JavaScript, SQL, Bash
- anteriores: C, Ruby, PHP, Smalltalk, Scheme, Prolog, Clipper
Paradigmas de Programación
- temas: programación orientada a objetos, programación funcional, programación lógica, programación imperativa, programación dirigida por eventos, paso de mensajes, clausuras, funciones de orden superior, unificación, backtracking, coincidencia de patrones, recursión, polimorfismo, encapsulamiento, herencia
- lenguajes: Pharo Smalltalk (POO), Racket Scheme (funcional), SWI Prolog (lógica), Python (multi-paradigma), TypeScript (multi-paradigma)
Conceptos de Programación
- temas: estructuras de datos, algoritmos, patrones de diseño, sistemas de tipos, tipado estático, tipado dinámico, concurrencia, programación asincrónica, promesas, async/await, programación reactiva, refactorización, revisión de código, programación en pares, desarrollo dirigido por pruebas, pruebas unitarias
Desarrollo Frontend
Ecosistema Vue.js
- componentes: Vue 3, Composition API,
<script setup>, Single File Components, Vue Router, Pinia, Vuetify 3, Element Plus, Vite, Vitest - temas: reactividad, propiedades computadas, watchers, composables, provide/inject, slots, emits, props, gestión de estado, diseño de stores, arquitectura de componentes, carga diferida, división de código
Bibliotecas y Frameworks de UI
- componentes: Vuetify 3, Element Plus
- temas: diseño responsivo, material design, bibliotecas de componentes, validación de formularios, tablas de datos, diálogos, cajones de navegación
Visualización de Datos
- componentes: D3.js, Chart.js, Leaflet
- temas: gráficos interactivos, visualización de series temporales, mapeo geoespacial, SVG, renderizado canvas, gráficos de barras, gráficos de líneas, diagramas de dispersión, mapas de calor, diagramas de Gantt, capas de mapa, tooltips, zoom, paneo
Estándares Web
- habilidades: HTML5, CSS3, SVG, diseño responsivo
- temas: SPA (Aplicación de Página Única), enrutamiento del lado del cliente, AJAX, consumo de API REST, JSON, WebSockets, Server-Sent Events
Desarrollo Backend
Python
- componentes: Python 3, Flask, SQLAlchemy, Alembic
- temas: diseño de API REST, manejo de solicitudes, middleware, manejo de errores, logging, entornos virtuales, pip, gestión de paquetes, gestión de dependencias
Diseño de APIs
- temas: servicios RESTful, diseño de endpoints, métodos HTTP, códigos de estado, paginación, filtrado, ordenamiento, autenticación, autorización, autenticación basada en tokens, Azure AD, MSAL, OAuth 2.0, documentación de APIs, patrones de solicitud/respuesta, manejo de errores, validación
Bases de Datos
Bases de Datos Relacionales
- componentes: PostgreSQL, MySQL, MariaDB, SQLite
- temas: SQL, diseño de esquemas, normalización, indexación, optimización de consultas, joins, subconsultas, vistas, procedimientos almacenados, triggers, restricciones, claves foráneas, transacciones, ACID, administración de bases de datos, respaldo y recuperación, replicación, ajuste de rendimiento
Herramientas de Bases de Datos
- herramientas: psql, pgAdmin, MySQL Workbench, DBeaver
- temas: migración de bases de datos, ETL, importación/exportación de datos, scripting SQL
Infraestructura y GNU/Linux
Sistemas GNU/Linux
- distribuciones: Debian, Ubuntu, CentOS, Red Hat Enterprise Linux
- temas: administración de sistemas, gestión de paquetes (apt, yum, dpkg), configuración de kernel, parámetros de kernel, systemd, sistemas de inicio, gestión de servicios, gestión de procesos, cron, gestión de logs, sistemas de archivos (ext4, XFS, NFS, Samba/CIFS), gestión de discos, LVM, RAID, gestión de usuarios, permisos, ACLs, PAM, sudo, hardening de seguridad
Redes
- servicios: DNS (BIND), DHCP, NIS, NTP, proxy web (Squid), proxy inverso, PAC (Proxy Auto-Configuration), firewalls (iptables, nftables), NAT, redirección de puertos, VPN
- temas: TCP/IP, enrutamiento, switching, VLANs, subnetting, resolución de problemas de red
- herramientas: tcpdump, wireshark, nmap, netstat, ss, traceroute, dig, ping
Correo Electrónico y Comunicación
- componentes: Postfix, Sendmail, Dovecot, UUCP
- temas: SMTP, IMAP, POP3, relay de correo, filtrado de spam, detección de virus, SPF, DKIM, DMARC, listas de correo, administración de servidores de correo, seguridad de correo electrónico
Servidores Web
- componentes: Apache HTTP Server, Nginx
- temas: virtual hosts, SSL/TLS, HTTPS, Let’s Encrypt, proxy inverso, balanceo de carga, .htaccess, reescritura de URLs, control de acceso, ajuste de rendimiento, caché
Respaldo y Almacenamiento
- componentes: Bacula, rsync, tar
- temas: estrategias de respaldo, respaldo completo/incremental/diferencial, almacenamiento en cinta, respaldo en red, recuperación ante desastres, rotación de respaldos, pruebas de restauración, respaldo remoto
Automatización y DevOps
Infraestructura como Código
- herramientas: Ansible, Terraform
- temas: gestión de configuración, playbooks, roles, inventarios, variables, plantillas (Jinja2), idempotencia, convergencia, configuración de estado deseado, detección de desviaciones, aprovisionamiento de infraestructura, gestión de estado, ciclo de vida de recursos, módulos
Gestión de Configuración
- herramientas: Ansible, Puppet (legado)
- temas: configuración centralizada, gestión de flotas, convergencia de configuración, basado en agentes vs sin agentes, aprovisionamiento de servidores, aprovisionamiento de escritorios, configuración de SO, despliegue de aplicaciones
CI/CD
- componentes: GitLab, Jenkins, Docker
- temas: integración continua, entrega continua, pipelines de construcción, pruebas automatizadas, gestión de artefactos, automatización de despliegues, gestión de entornos, builds contenerizados
Control de Versiones
- herramientas: Git, GitLab, GitHub, Bitbucket
- temas: estrategias de ramificación, flujos de merge, pull requests, revisión de código, gestión de repositorios
Virtualización y Nube
Virtualización y Contenedores
- componentes: QEMU, libvirt, KVM, VirtualBox, VMware ESXi, vserver
- contenedores: Docker, Docker Compose, imágenes de contenedores, registros de contenedores
- herramientas: Vagrant, virsh, virt-manager
- temas: hipervisores (Tipo 1, Tipo 2), gestión de máquinas virtuales, snapshots, clonación, aplicaciones contenerizadas, orquestación de contenedores, contenedores de desarrollo, virtualización tipo contenedor (vserver), aislamiento de recursos, redes virtuales, entornos reproducibles, entornos de prueba, entornos de desarrollo
Plataformas en la Nube
- plataformas: AWS, Digital Ocean, Tektonic
- temas: aprovisionamiento en la nube, servidores privados virtuales, almacenamiento en la nube, redes en la nube, escalamiento de infraestructura, gestión de costos, seguridad en la nube, gestión de claves SSH
Sector Energético
Operaciones de Red y Sistemas de Potencia
- temas: optimización topológica de transmisión, análisis de congestión de redes, reconfiguración de transmisión, confiabilidad de la red, condiciones de emergencia, cuellos de botella de congestión, costos operativos, análisis de flujo de potencia, redundancia de red, operaciones de red eléctrica, mercados de electricidad
SCADA y Software de Servicios Públicos
- temas: SCADA (Control de Supervisión y Adquisición de Datos), evaluación y selección de software SCADA, gestión de servicios públicos, sistemas de lectura de medidores, sistemas portátiles de ingreso de mediciones, distribución de energía, operaciones de empresas provinciales de energía
Sistemas Operativos
Internos del Sistema
- temas: diseño de sistemas operativos, arquitectura de microkernel (MINIX 3), kernels monolíticos, controladores de dispositivos, sistemas de archivos, manejo de interrupciones (hardware y software), planificación de CPU, gestión de procesos, gestión de memoria, comunicación entre procesos, llamadas al sistema
- lenguajes: C (programación de kernel), assembler (x86)
Unix y Linux
- sistemas: Debian GNU/Linux, Ubuntu, CentOS, RHEL, SCO Unix
- temas: POSIX, scripting de shell, programación de sistemas, configuración de kernel, proceso de arranque, arranque remoto, PXE, instalación por red, medios de instalación personalizados
Docencia y Capacitación
Materias Universitarias Dictadas
- materias: Paradigmas de Programación (Smalltalk, Scheme, Prolog), Diseño e Implementación de Sistemas Operativos (MINIX 3), Inteligencia Artificial, Ingeniería de Software para Aplicaciones de Internet, Sistemas de Bases de Datos Avanzados, Introducción a la Programación
Capacitación Profesional
- temas: administración de sistemas GNU/Linux, administración de servidores Debian, análisis de rendimiento, desarrollo curricular, laboratorios prácticos, supervisión de proyectos de estudiantes, enseñanza basada en paradigmas: funcional (Scheme), lógica (Prolog), orientada a objetos (Smalltalk)
Universidades
- instituciones: Universidad Tecnológica Nacional (UTN FRSF), Universidad Católica de Santiago del Estero (UCSE), Universidad Adventista del Plata (UAP)
- roles: Jefe de Trabajos Prácticos, Profesor Adjunto
Metodologías y Prácticas
Prácticas de Desarrollo
- temas: Agile, Kanban, revisión de código, programación en pares, desarrollo dirigido por pruebas, mejora continua, desarrollo iterativo, planificación de sprints, gestión de deuda técnica, refactorización, documentación
Prácticas de Infraestructura
- temas: Infraestructura como Código (IaC), gestión de configuración, entornos reproducibles, monitoreo, logging, alertas, respuesta a incidentes, resolución de problemas, planificación de capacidad, análisis de rendimiento, identificación de cuellos de botella
Gestión de Proyectos
- temas: sistemas de tickets, seguimiento de ítems de trabajo, gestión de base de conocimiento, coordinación de equipos, mentoría técnica, colaboración entre equipos, relevamiento de requisitos, propuestas técnicas, estimación
Internacionalización
- temas: I18n (internacionalización), l10n (localización), configuración regional, codificación de caracteres, Unicode, soporte multi-idioma en aplicaciones, interfaces traducidas, soporte derecha-a-izquierda, formato de fechas/números
Herramientas y Editores
- editores: Vim, VS Code
- herramientas: Git, Docker, Make, SSH, tmux, psql, mysql, curl, wget, jq
- temas: scripting de shell (Bash), dominio de línea de comandos, scripts de automatización
Contacto y Enlaces
- Email: cesar.ballardini@gmail.com
- LinkedIn: linkedin.com/in/cesar-ballardini
- GitHub: github.com/CesarBallardini
- Blog: katra.ballardini.com.ar
- Servicios de Consultoría: Consultoría
- CV Completo: CV