Rafael Fernandez _
Curriculum Vitae Matemático. Desde jóven ya despertó mi curiosidad por las matemáticas y la programación junto con una faceta artística que se ha ido desarrollando hasta la actualidad.
El arte, mi segunda ciencia. Las matemáticas, mi primer arte.
source code_
release 1.9.94
import dev.myself.core._
trait Person[F[_]] { /* compiled code */ }
trait CurriculumVitae[F[_]] {
def about: F[Info]
def experience(date: Date): F[Info]
def education(date: Date): F[Info]
def techStacks: F[Stack]
}
def cv[F[_]: MonadFilter](person: Person[F]): CurriculumVitae[F] =
new CurriculumVitae[F] {
def about: F[Info] = person.MYLIFE
def experience(date: Date): F[Info] = person.EXPERIENCE.filter(info => info.date == date)
def education(date: Date): F[Info] = person.EDUCATION.filter(info => info.date == date)
def techStacks: F[Stack] = person.SKILLS
}
val me: Person[List] = new Person[List] { /* compiled code */ }
val rafaelFernandez: CurriculumVitae[List] = cv(me)
Hola Mundo!
> rafael@fernandez:/$ whoami
Curriculum Vitae. Desde joven despertó en mí la curiosidad por las matemáticas junto con una faceta artística que se ha ido desarrollando hasta la actualidad.
Apasionado y entusiasta por el álgebra y la computación, debido a la abstracción y complejidad que estos presentan. Creando un instinto motivacional por retos, tanto individuales como grupales. Sin restarle importancia a la interesante inclusión de estas ramas de las matemáticas en el mundo del arte, de ahí mis artistas referentes como M.C. Escher y Salvador Dalí.
Me considero una persona inquieta y autoexigente. Es por eso, que durante mi carrera profesional, he mantenido un constante crecimiento mediante formaciones y especializaciones. Gracias a esto, también he podido desarrollar algunos proyectos personales e independientes que tengo publicados en mi repositorio de .
Entre mis hobbies está la pintura y el dibujo. Una pequeña, intima y personal relación con el arte que ocupa desde el proceso de creación de obras e ilustraciones, hasta el hecho de frecuentar exposiciones. Sumando a mi curriculum proyectos cuyos temas presentan una visión más ligada al arte.
Además de una reconocida faceta tan friki por la lectura de papers científicos como pasión por los videojuegos.
Sobre Mí_
Curriculum Vitae. Desde joven despertó en mí la curiosidad por las matemáticas junto con una faceta artística que se ha ido desarrollando hasta la actualidad.
Apasionado y entusiasta por el álgebra y la computación, debido a la abstracción y complejidad que estos presentan. Creando un instinto motivacional por retos, tanto individuales como grupales. Sin restarle importancia a la interesante inclusión de estas ramas de las matemáticas en el mundo del arte, de ahí mis artistas referentes como M.C. Escher y Salvador Dalí.
Me considero una persona inquieta y autoexigente. Es por eso, que durante mi carrera profesional, he mantenido un constante crecimiento mediante formaciones y especializaciones. Gracias a esto, también he podido desarrollar algunos proyectos personales e independientes que tengo publicados en mi repositorio de GitHub.
Entre mis hobbies está la pintura y el dibujo. Una pequeña, intima y personal relación con el arte que ocupa desde el proceso de creación de obras e ilustraciones, hasta el hecho de frecuentar exposiciones. Sumando a mi curriculum proyectos cuyos temas presentan una visión más ligada al arte.
Además de una reconocida faceta tan friki por la lectura de papers científicos como pasión por los videojuegos.
Experiencia_
Madrid – España
Big Data Senior Developer
BBVA
Feb 2021 – Actualidad
Desarrollo de una nueva herramienta Big Data para la generación de informes y reporting de las regulatorias al BCBS (Basel Committe on Banking Supervision) del Banco Central Europeo, para los datos de BBVA a nivel global.
Esta herramienta consistía en un End-To-End. Una consola en la parte front, que generaba una parametría de reglas y operaciones. Mientras que, en el back, un motor de ingestas general y parametrizado, desarrollado en Spark con Scala, que utilizaba esa serie de reglas generadas por la consola para dinamizar toda la lógica interna de la ETL.
Toda esta ingeniería se sostenía en un entorno Cloud, donde la mayoría de los nodos se alojaban en el servicio Datio, y la consola en GCP (Google Cloud Platform). Mi participación en este proyecto cubre gran parte del desarrollo del motor de ingestas.
Debido a que el proyecto formaba parte de BBVA Global y la inmensa volumetría de datos que se trataba, el desarrollo de las soluciones Big Data en Spark requerían de un alto conocimiento y técnicas de Spark Performance Tunning para la optimización y mejora del rendimiento, consiguiendo así una mejora en los tiempos de los procesos y evitando sobrecoste de los requerimientos de las máquinas y servicios Cloud.
Tecnologías utilizadas:
Lenguajes: Scala, Python
Big Data: Spark, PySpark, HDFS
Cloud: Google Cloud Platform
DevOps: Git, Jenkins, Jupyter Notebook, Artifactory, Control-M
Privativa: Datio
Metodología: Agile, Scrum
Big Data Developer
BBVA
Oct 2020 – Feb 2021
Desarrollo e implementación de los procesos de Spark para la creación de los modelos globales de datos para España.
Como parte de la estrategia de gobierno del dato de BBVA para la homogenización de sus modelos a un modelo único y global, y la disponibilización de este a los distintos países donde opera; se acometió una solución para el desarrollo e implementación de los procesos para la creación de los modelos y los cálculos de los distintos KPIs correspondientes para España. Estos procesos se desarrollaron en Scala con Spark.
Tecnologías utilizadas:
Lenguajes: Scala, Python
Big Data: Spark, PySpark, HDFS
DevOps: Git, Jenkins, Jupyter Notebook, Artifactory, Control-M
Privativa: Datio
Metodología: Scrum
Scala Developer
Ericsson
Jun 2020 – Oct 2020
Estudios, desarrollos e integración en Scala de algoritmos de forecasting y modelos de analítica avanzada para la predicción de los distintos KPIs según tecnologías de comunicación 3G y 4G.
Durante este proyecto, se contemplaron tiempos de benchmark y paralelización para la obtención de resultados de manera óptima y eficiente. Para este propósito se vio la necesidad de utilizar y colaborar con la biblioteca de Saddle, integrando las mejoras que vimos necesarias en el caso de uso.
Tecnologías utilizadas:
Lenguajes: Scala, C, R
DevOps: Git, Jenkins, SonarQube
Metodología: Scrum
Madrid – España
Big Data Developer
Telefónica - Proyecto OnHR
Desarrollo de una nueva herramienta, en un entorno Big Data, para la disposición de los reportes, KPI’s y analíticas de los distintos departamentos de Recursos Humanos de Telefónica, tanto global como de los respectivos países.
En este proyecto, participé en la unificación de los distintos orígenes de datos alojados en el cloud de SAP Success Factor y en el desarrollo del motor de ingesta y transformación, esto es, en la automatización End-To-End de los procedimientos de ETL para carga de los datos de Success Factors, diferenciados por país, anonimizados y cifrados.
Tecnologías utilizadas:
Lenguajes: Scala, Python, Bash
Big Data: Spark, PySpark, Hive, HDFS
BBDD: MySQL
DevOps: Git, GitLab, Jenkins, Airflow
Metodología: Scrum
Big Data Developer
Mutua Madrileña - Digital Analytics
Trabajando en proyectos de mantenimientos y desarrollos en el sistema de transformación Digital de Mutua Madrileña, del departamenteo de sistemas de información y de sistemas del área de siniestros de autos, polizas y fraudes, en un ecosistema de Big Data, con origen en los sistemas corporativos Mutua Madrileña en los diferentes datastores de Stratio Datacentric.
Formación
Nov 2018 – Dic 2018
Formación intensiva en los campos de Big Data y Business Intelligence que comprende conocimientos de Bases de Datos, relacionales y NoSQL, procesos de ETL y visualización de datos.
Además de una formación completa en frameworks de Big Data y bases de datos NoSQL como Spark y Hadoop; software de gestión de sistemas de bases de datos SQL como Microsoft SQLServer y lenguajes de programación como SQL, Python y Scala.
Tecnologías utilizadas:
Lenguajes: Scala, Python
Big Data: Spark, PySpark, HDFS
BBDD: MongoDB, PostgreXL, Microsoft SQL Server, HiveSQL
DevOps: Docker, Ansible
Estudios_
Universidad Complutense, Politécnica y Autónoma de Madrid
Máster de Métodos Formales en Ingeniería Informática
2021 – 2022
Estudios sobre el desarrollo correcto de software y su verificación.
Se realiza una amplia introducción a la teoria de los lenguajes de programación, semánticas, reglas de reescrituras, lambda calculus, sistemas tipados, especificación de software, análisis y desarrollo de sistemas concurrentes y reactivos, etc.
Universidad de Málaga
Grado de Matemáticas
2012 – 2019
TFG – Trenzas y Criptografía
El proyecto estudia un campo relativamente nuevo (1950) en investigaciones y aplicaciones en la criptografía mediante el uso de la teoría de trenzas.
Expone todo un desarrollo a la teoría de trenza, sus propiedades y teoremas que serán útiles para posteriormente ver qué clase de relación tiene o más bien qué aplicación existe en el campo de la criptografía, proporcionando algoritmos o sistemas de cifrado y finalmente exponiendo una serie de ataques a la seguridad de dichos sistemas.
Además del desarrollo de dicha teoría, propone su implementación computacional escrita en Python y usando el framework SageMath.
Bachillerato Científico - Tecnológico
IES Licinio de la Fuente
2010– 2012
Idiomas_
Español
Lengua Materna
Inglés
B1 Cambridge Assessment
English Test Score: 149/170
Habilidades_
Lenguajes de programación
Scala
Haskell
Python
Bash
Big Data
Software
DevOps
BBDD
SQL
No SQL
Sistemas Operativos
Certificados_
Introducción a la ciberseguridad en sistemas informáticos
Últimos posts_
Fechas y Expresiones Regulares
/artista/ unknow Fechas y expresiones regulares En el universo data, es muy frecuente tener que estar lidiando con campos de fechas. Ya sea desde el
Mutar de manera inmutable
/artista/ Rebekka Dunlap Mutar de manera inmutable En Scala, a la hora de trabajar con objetos, puede ser normal tener la necesidad, y junto a
Agregando skills modulares
/artista/ Aaron The Illustrator Agregando skills modulares Presentamos un nuevo enfoque a la hora de añadir caracteristicas y habilidades a nuestras clases de manera modular