Sobre mí
Nací y resido en Tenerife y desde niño,
sentí curiosidad por entender cómo funcionaban las cosas, desmontando todo lo que caía en mis
manos.
Hoy, tengo la suerte de dedicarme a lo que siempre soñé. Amo mi profesión,
tanto que se entrelaza con mi hobby y me cuesta trazar una línea divisoria, y cada domingo,
cuando no me importa que llegue el lunes, me
siento muy agradecido, afortunado y feliz.
Estudié Ingeniería Informática y me especialicé en Ingeniería de Computadores.
Durante mi formación, exploré el fascinante mundo de los sistemas empotrados, la robótica y
los ensambladores,
descubriendo cómo la magia del software cobra vida desde la electrónica hasta el sistema
operativo, algo que siempre quise comprender.
Sin embargo, terminé mis estudios con escasos conocimientos sobre el desarrollo web.
Quería cambiar eso, tanto por curiosidad como por la necesidad de adaptarme a las tendencias del
sector.
Comencé a explorar esta rama de forma autodidacta y
finalmente decidí dar el salto y matricularme en el
Máster Universitario en Ingeniería Informática - Desarrollo Full-Stack
.
Hoy, me alegro enormemente de esa decisión, pues descubrí una nueva pasión en el desarrollo
Full-Stack.
¿Qué es eso?
Habilidades y competencias
Habilidades principales
Puedo desenvolverme solo
Tengo algunas nociones
Experiencia
Diseño y desarrollo de software y aplicaciones móviles, tanto para organismos públicos como clientes privados.
- SUSTRATO (Sistema Unificado para la Tramitación Pública): Aplicación web dividida en varios módulos que da soporte a las labores de tramitación electrónica dentro de la Autoridad Portuaria de Santa Cruz de Tenerife.
- PLAE (Plataforma de Administración Electrónica): Sistema integral de
administración electrónica
sobre el que se apoya SUSTRATO, compuesto por múltiples subsistemas y
aplicaciones
críticas (registro de entrada, sede electrónica, portafirmas, gestor de expedientes,
entre otras). PLAE es un
proyecto heredado de elevada complejidad con problemas técnicos y funcionales
significativos.
El reto ha sido reescribir y sustituir progresivamente sus componentes sin
interrumpir en ningún momento el servicio.
Entre los múltiples casos de éxito conseguidos en PLAE, destaca el desarrollo de un repositorio documental para reemplazar Alfresco. Se diseñó e implementó un sistema propio desde cero, seguido de un migrador de datos a gran escala usando técnicas de paralelización. La transición se realizó sin interrupciones y de manera totalmente transparente para los usuarios, cumpliendo con plazos estrictos y eliminando por completo las incidencias recurrentes del sistema anterior.
Además, PLAE me ha brindado experiencia en la integración con diversos sistemas de organismos públicos, tales como DEHú o GEISER, entre otros.
- FredOlsen App: aplicación de Fred Olsen para Android e iOS.
- Volcano-TPV: desarrollo de aplicación para un puesto de venta desatendido para realizar la compra de billetes y experiencias en el teleférico del Teide.
Compaginé mis estudios de Máster con una beca de inserción laboral en MetroTenerife. Mis principales actividades en la empresa fueron:
- Proyecto SIMOVE: (Sistema de Monitorización de Velocidad de Embarcado). De forma concisa, SIMOVE es al tranvía lo que la caja negra a un avión, aunque además de registrar datos el sistema puede intervenir para frenar el vehículo bajo determinadas condiciones. Colaboré en el desarrollo del back-office de la aplicación, implementando nuevas funcionalidades o corrigiendo u optimizando otras ya existentes.
- Proyecto Chronos: creación de una aplicación web desde cero para sustituir diversas aplicaciones obsoletas y unificar el trabajo de todos los departamentos de la empresa, así como obtener indicadores de interés para la gerencia. El proyecto consistió en una fase de ETL para estudiar e integrar las diferentes fuentes de datos, actividad que realicé bajo la supervisión de mi tutor debido a la gran complejidad y criticidad de los mismos, y una fase de desarrollo back-end y front-end que realicé con mayor autonomía.
- Desarrollo de formularios .NET para la intranet de la empresa, usados cada día por todas las oficinas y sus clientes.
Compaginé mi último año de estudios del grado con una beca de colaboración en la Oficina de Software Libre. Mis tareas principales consistían en:
- Desarrollo de una web, plugins y temas personalizados en Wordpress desde cero.
- Atender y prestar servicio técnico u orientación a cualquier persona que se dirijiese a la oficina siempre que la consulta estuviese relacionada con Linux y software libre.
- Velar por el correcto funcionamiento de las aulas de informática y solucionar incidencias técnicas en equipos individuales, servidores y equipos de red.
- Tutorizar un curso online sobre Linux al resto de becarios, atendiendo sus dudas, así como impartir algunas charlas técnicas y divulgativas.
- Colaborar en la organización de eventos y congresos, como el PyDay Tenerife o el Congreso de Estudiantes de Ingeniería Informática
Cursos / Certificaciones
Me encanta aprender y seguir mejorando constantemente. Siempre busco adquirir nuevas habilidades y conocimientos incluso en áreas que no me entusiasman tanto si considero que estas son clave para crecer profesionalmente y hacer mejor mi trabajo.
Ver más (cursos de carácter no oficial)
Mis Proyectos
Estos son algunos de mis proyectos, tanto académicos como personales, que he desarrollado por aprendizaje, curiosidad o simplemente por diversión.
Un poco más sobre mí
¿En qué áreas concretas estoy más interesado últimamente y por qué?
Con el tiempo, mi interés por la ingeniería del software ha ido creciendo. Aquella asignatura universitaria sobre patrones de diseño y arquitectura, que en su momento parecía teórica y abstracta, cobró todo el sentido cuando empecé a enfrentarme a desafíos reales en el mundo laboral. Tuve la suerte de conocer pronto a grandes expertos, donde pude ver de primera mano cómo un software bien diseñado crece y se adapta a nuevos requisitos con facilidad, sin generar efectos inesperados.
Los desarrolladores tenemos algunos términos, como acoplamiento o código spaghetti (creo que este último es bastante gráfico), pero la idea central es simple; el software debe ser robusto y adaptarse a los cambios con facilidad, sin sorpresas ni efectos colaterales.
Con el tiempo, he comprendido que hay una gran diferencia entre escribir código y construir software. Cualquier persona con curiosidad puede aprender a programar en poco tiempo, pero diseñar aplicaciones de gran tamaño que resulten escalables y mantenibles requiere experiencia, y una visión global del sistema. Es algo que encuentro apasionante y que espero aprender poco a poco a lo largo de mi carrera profesional.
Algunas de mis citas favoritas
- A menudo se piensa en un programador como alguien que pasa largas jornadas solo y que no interactúa con otras personas. Cuando se desarrolla un software en equipo, la programación es en realidad una actividad social. Las tres C del desarrollo de software son comunicación, comunicación y comunicación. Rara vez un proyecto fracasa por cuestiones puramente técnicas. - The pragmatic programmer.
- Hay dos formas de realizar el diseño de una aplicación; la primera es el hacerlo tan sencillo que sea obvio que no tiene deficiencias y la segunda es el hacerlo tan complicado que no queden deficiencias obvias. - C.A.R. Hoare.
- Que el código funcione y lo haga sin errores no es suficiente. El código debe ser robusto, elegante y fácilemente mantenible. Escribir código limpio es lo que te convierte en un desarrollador profesional. No existe ninguna excusa que justifique hacer menos que lo mejor que sepas. - Clean Code.
- Debes buscar el progreso y el crecimiento. Trabaja siempre fuera de tu zona de comfort y cuando comiences a estar cómodo, avanza y busca nuevos retos. A menudo la gente confunde diez años de experiencia con un año de experiencia repetido diez veces. - Anónimo.- La optimización prematura es la raíz de todos los males. - Donald Knuth.
- No tengo talentos especiales. Solo soy apasionadamente curioso. - Albert Einstein.