Daniel Ramos

Lead Software Developer

Acid Tango

Perfil


Mi nombre es Daniel Ramos, soy un desarrollador full-stack y entusiasta de la tecnología. Estoy enamorado de Javascript y la programación funcional. Disfruto compartiendo mi conocimiento con otros y aprendiendo de ellos.

En la parte de backend, he trabajado principalmente con Node.js y Nest.js, usándolos para crear APIs REST. Alguna vez he desarrollado también microservicios con Scala y Akka Streams. También he aprendido Elixir y Go para crear servicios de backend, pero nunca los he llegado a usar en proyectos reales. Más recientemente he estado aprendiendo Rust para crear pequeños scripts de automatización.

En el frontend, lo que más disfruto es React por su naturaleza funcional con TypeScript para tener tipado fuerte. Además, he usado otras librerias como Vue o Svelte.

En el mundo de la administración de sistemas, tengo conocimientos avanzados de Docker y Kubernetes. En el último año, he desplegado contenedores en Amazon Web Services usando Terraform aunque también he usado otros proveedores de nube, como el Digital Ocean o Google Cloud.

A parte de estos aspectos técnicos, en ocasiones he impartido formaciones:

  • 2017-03 en Open Canarias: Javascript, CSS, React y Redux

  • 2018-07 en Open Canarias: Javascript en 2018 y Mejores Prácticas en React

  • 2018-08 en Kairos: Javascript, OOP, FP

Para mi desarrollo personal disfruto dando charlas sobre tecnologías que he usado o sobre mi experiencia:

  • Human Readable E2E Testing: Enlace al vídeo. Se ha visto cómo crear tests E2E legibles por personas con Cucumber interactuando con el navegador con Puppeteer

  • El futuro es ahora, WebAssembly: Enlace al vídeo. Vimos la evolución de la Web y el rol que desempeña WebAssembly en ella, viendo un ejemplo práctico con una implementación del Conjunto de Mandelbrot en Rust donde se consigue una velocidad 11 veces superior a la implementación equivalente en Javascript.

  • Al timón de Kubernetes: Enlace al vídeo. Vimos los conceptos básicos de Kubernetes mediante un caso práctico para realizar un buen despliegue.

  • ¿Por qué no me enseñaron esto antes?: En esta charla hablé sobre el aprendizaje que he adquirido durante estos últimos años, y que me hubiese gustado que me enseñasen en la universidad.

También me gusta realizar actividades de divulgación tecnológica/científica, ya sea dando charlas o por otros medios como Youtube.

Formación


Grado en Ingeniería Informática

Universidad de la Laguna

2013 - 2017

Experiencia profesional


Canarias Office Director

Acid Tango|2019 - Actualidad

En Acid Tango entré con el objetivo de liderar una oficina en La Laguna (Tenerife). Estoy a cargo de la gestión de la oficina y sobre todo el reclutamiento del personal.

He estado enfrentándome a múltiples tecnologías. He usado tanto Vue como React para desarrollo Front-End con TypeScript usando librerías como D3.js para visualización de datos y Three.js para hacer visualizaciones 3D. También he usado React Native para hacer desarrollo móvil aunque he tenido que aprender Kotlin y Swift pero sin profundizar demasiado. Uno de los proyectos que más he disfrutado ha sido un desarrollo de backend con Nest.js desarrollando la API con Arquitectura Hexagonal puramente con TDD.

A parte del desarrollo, también me ocupo de la conceptualización de los distintos proyectos, ocupándome tanto de la ideación del producto usando técnicas de Design Thinking como Personas o Mapa de Actores, como de la ideación técnica, diseñando la infrastructura (AWS) y modelado de las entidades de dominio.

Fullstack Developer

Lean Mind|2018 - 2019

Empecé en Lean Mind en busca de mejores hábitos y buenas prácticas de código, ya que se me presentó la oportunidad de poder aprender de Carlos Blé. En el tiempo que estuve en Lean Mind, aprendí técnicas para obtener un Código de Calidad, hacer eficientemente Test Driven Development, arquitecturas orientadas al mundo empresarial escalables y mantenibles usando Domain Driven Design, y metodologías ágiles como Kanban y XP. También he puesto en práctica mi Inglés, ya que tuve que lidiar con clientes localizados en Texas y en Abu Dhabi.

Fullstack Developer

Open Canarias|2017 - 2018

Estuve trabajando en el departamento de investigación y desarrollo de Open Canarias cuando acabé el grado en Ingeniería Informática. Empecé desarrollando una aplicación de iOS, pero mi trabajo principal ha sido como desarrollador full-stack con React en el frontend y Node.js en el backend. También he desarrollado pruebas de concepto usando tecnologías innovadoras como Blockchain o Redes Neuronales. He aquí algunos proyectos destacables:

  • Yogabot: Un entrenador inteligente de Yoga usando IA (en concreto, Detectron de Facebook) para analizar tu cuerpo y recomendarte ejercicios de Yoga que se ajusten a ti.

  • Blockchain POC: Un sistema para subir ofertas a licitaciones que se hashean y persisten en la blockchain de Ethereum. Esto es para que el hash sea público e inmutable, pero que el documento original se mantenga privado, ya que no se puede obtener el documento original a partir del hash.

  • AI Document Classification POC: Un sistema de inteligencia artificial que recupera documentos de la base de datos del cliente, y los ordena en distintas categorías usando Redes Neuronales Profundas con Tensorflow.

En Open Canarias me acerqué a la Programación Funcional Reactiva usando RxJS para React y Akka Streams en el backend.

Skills


// Professional

  • Web Development
  • Scripting
  • Software Engineering
  • Software Architect
  • Code Trainer

// Technical

  • Functional Programming
  • TDD
  • TypeScript
  • Rust
  • Scala
  • Elixir
  • Go
  • Docker
  • Kubernetes

Contacto