avatar

Sergio Ruiz
FullStack JavaScript Developer

About

Experienced FullStack JavaScript developer with over 12 years of industry experience, including a lifelong passion for computers and coding since a young age. Demonstrates expertise in code quality, performance optimization, and continuous integration. Quick learner with the ability to adapt to new languages and environments seamlessly, thanks to a comprehensive understanding of various programming languages and operating systems.

Work Experience

December 2022 – Present
TAXFIX - Software Engineer
Software Engineer at Taxfix, focused on full-stack javascript development, mainly React.js and Node.js with TypeScript, and in a GCP environment.
Highlights
  • 2022-12 - present # Development of internal applications in React.js and Node.js endpoints.
December 2012 – October 2022
SERQUO - Programmer Analyst
Software Developer at Telefónica Tech (previously at I+D). I've worked mainly focused in full-stack javascript, continuous integration and applying best practices, most of the time at video area developing the UI of Movistar TV set-top-boxes for LATAM, now at Cloud area developing CloudBlue APS/Connect for our CSB, both connectors and endpoints.
Highlights
  • 2022-01 - 2022-10 # Telefónica - Devi: Integrations with CloudBlue, endpoint development in Node.js; development of Connect products and endpoints in Node.js. Development of Jenkins CI/CD pipelines.
  • 2019-03 - 2022-10 # Telefonica - MultiCloud: Development of Connect applications (previously APS 2.2) for CloudBlue, integrating external cloud services (AWS, Azure, GCP...). Backend in AWS lambdas using Python/Node.js.
  • 2019-01 - 2019-03 # Bankia: A simple Angular 1.x application to check fraudulent usage in ATMs
  • 2017-01 - 2019-01 # Movistar TV - Hybrid HTML: The same but using HTML instead of SVG, and Webpack instead of Grunt.js. In 2017 we made it in Vue.js, in 2018 we removed it and did everything with Webcomponents.
  • 2015-01 - 2019-01 # Movistar TV - Hybrid SVG: Development of the UI of a set-top box (STB) with satellite/cable and internet connection for TVApps and VOD, using SVG and JavaScript to communicate with the middleware. Also I've installed and configured all the continuous integration environment with Jenkins and Sonar, and made the Grunt.js tasks to automate everything, from linting or testing to opening pull requests automagically integrating Crowdin with new translations from the OBs.
  • 2015-02 - 2015-03 # Movistar TV - GO: Movistar TV web application, which allows to watch Live TV and VOD content, and handle your subscriptions, view the EPG and more. Joined the team for one month to speed development of new features.
  • 2015-01 - 2019-01 # Movistar TV - Chromecast Receiver: Chromecast Receiver for the mobile applications of Movistar TV, which handles to play Live TV and VOD on Chromecast. Developed in Angular JS. Also installed and configured all the continuous integration environment with Jenkins and Sonar, and made the Grunt.js tasks to automate everything, from linting or testing to opening pull requests automagically integrating Crowdin with new translations from the OBs.
  • 2014-01 - 2014-11 # Telefonica - Cloud Service Broker: CSB is a panel to manage users, assign resources or services, handle your account as a user... It uses Parallels (POA and PBA). Development of an APS 1.2 to integrate McAfee Multi Access in CSB, front-end (in Dojo Toolkit) and back-end (in Node.js), for O2 (UK and GER) and VIVO (Brazil). Also made all the ci environment.
  • 2013-07 - 2014-02 # Telefonica - Feedapp: Web application made with the magic of Meteor.js and Lungo.js, connected to our internal LDAP server to handle logins. After finishing it, we ported all the Lungo.js part to Firefox building blocks as some of the members of the team were members of Firefox OS and wanted to use it in their devices. This app allows to send feedback to people personally or anonymously about projects, behavior...
  • 2012-12 - 2013-12 # Movistar TV - Hybrid: Development of the UI of a set-top box (STB) with satellite/cable and internet connection for TVApps and VOD, using SVG and JavaScript to communicate with the middleware. Also I've installed and configured all the continuous integration environment with Jenkins and Sonar, and made the Grunt.js tasks to automate everything, from linting or testing to opening pull requests automagically integrating Crowdin with new translations from the OBs.
January 2012 – December 2012
CIBER - Systems Integration Consultant
Programmer at System Integration, I've been developing a social network, Android apps, rest services at BBVA GAE project, sites with Google Sites for internal documentation at BBVA and Telepizza's mobile app.
Highlights
  • 2012-09 - 2012-12 # Telepizza - Mobile app development: Development of the Smartphone/Tablet application, with our own javascript framework to load all sections dynamically in a single page application.
  • 2012-06 - 2012-09 # BBVA - Google App Engine (GAE) Team: Development of services and apps for BBVA using Google App Engine (GAE). After the development of several REST services, I created some documentation webs for internal projects using Google Sites and developing gadgets in Google Apps Script.
  • 2012-02 - 2012-02 # HEEL - Android application: Development of a tablet application (Android) for a pharmaceutical laboratory. This app is used to let pharmacists to fill and sign contracts of sale and purchase, with a pharmacy database. It captures the form as a digital image and stores the filled form in CVS format to post-process it.
  • 2011-06 - 2012-06 # TUYYOU - Development of a Social Network: Continuing the development.
June 2011 – January 2012
CIBER - Junior Systems Integration Consultant
Junior Programmer at System Integration developing a social network.
Highlights
  • 2011-06 - 2012-06 # TUYYOU - Development of a Social Network: Social network development using ELGG and modifying it's core. It pretended to join a buying platform with a professional network, offering the possibility to earn money from your referrals. It was running for several years, being announced in several media around the country.

Volunteer

Game development in JavaScript
March 2012 – March 2012
Speaker
It was a conference @etnassoft and I did about Game Development in JavaScript. It was in CAMON, with around 90 attendees.
Highlights
  • Video: https://vimeo.com/39259983
  • Slides: http://www.serginator.com/juegos-en-js/#/home
  • Info about the session: http://lanyrd.com/2012/madridjs/sdqxgc/
Game programming in JavaScript
December 2013 – December 2013
Speaker
Advanced workshop on how to develop a game without libraries, plain JavaScript, for the GameMe5 event. In this workshop we showed and explained in four hours, step by step, a shootem up demo.
Highlights
  • Repo with more info and code: https://github.com/serginator/workshopGameMe5
  • The game can be played here: http://serginator.github.io/workshopGameMe5
MadridJS Meetup
August 2011 – December 2015
Co-Organizer and member
Co-Organizer of MadridJS, helping with talks and organization but with the lack of time, just member since 2015
HTML5 Spain Meetup
February 2012 – December 2015
Member
JavaScript study group
August 2011 – September 2011
Member
Study group formed by several members of the JavaScript community in Madrid to learn and debate about JavaScript ecosystem.

Contact

GitHub
Twitter
LinkedIn

Education

  • 2022 2022

    Udemy

    Course

    React JS + Redux + ES6

  • 2020 2020

    Udemy

    Course

    Ethical Hacking Fundamental Course - Learn From Scratch

  • 2018 2018

    Imagina Formación

    Course

    ES6, Polymer and WebComponents

  • 2017 2017

    Imagina Formación

    Course

    Web Development with React JS

  • 2016 2016

    Imagina Formación

    Course

    Design and concepualization of videogames

  • 2016 2016

    Imagina Formación

    Course

    Web development with Node.js

  • 2016 2016

    Imagina Formación

    Course

    Responsive Frameworks

  • 2015 2016

    Imagina Formación

    Course

    Web development with Angular JS

  • 2013 2013

    Rice University

    Course

    An Introduction to Interactive Programming in Python

  • 2011 2012

    Universidad Nacional de Educación a Distancia - UNED

    Course

    Creación y Desarrollo de Aplicaciones para dispositivos Android

  • 2010 2010

    Universidad Complutense de Madrid - UCM

    Course

    Dreamweaver CS4

  • 2005 2010

    Universidad Complutense de Madrid - UCM

    Engineering

    Engineering in Computer Science (Not finished)

Skills

Web Development Advanced
HTML5 CSS3 LESS JavaScript REST AJAX
JavaScript Expert
ES6 jQuery AngularJS Vue.js ReactJS Redux WebComponents Polymer TypeScript Zepto.js Underscore lodash
Backend Advanced
Node.js PHP Python
Cloud Intermediate
AWS Google Cloud Platform Heroku Azure
CI Advanced
Jenkins Sonar Grunt.js Webpack npm Unix Docker Kubernetes Terraform
Databases Intermediate
MySQL SQLite NoSQL MongoDB
SCM Expert
Git Github SVN TFS
Security Intermediate
nMap netcat Wireshark ettercap MSF Nessus OpenVAS aircrack-ng Nikto burpsuite
Machine Learning Beginner
Tensorflow Keras PyTorch pandas OpenCV
Design Intermediate
Photoshop Zbrush Softimage|XSI Terragen Gimp 2 Inkscape