About Me

I am a senior web developer who enjoys creating single page applications, solving challenging software development problems and mastering different technologies. I have been working in small and big development teams, both coding and leading. When I am not working, I like getting lost in nature, practicing sports and traveling around the world.

Technical Skills

Front-end

Static html and templates
HTML 5, Jade, Handlebars, Underscore templates
Styling
CSS 3, Stylus, Less, Responsive
Frameworks
Bootstrap, Nib, Axis
Coding
Javascript ES5/6 (Traceur)
Modules
CommonJS, RequireJS (AMD)
Frameworks
Lodash/Underscore, Backbone
Views
jQuery, React
Data & Graphics
Datatables, RaphaelJS
Maps
Google Maps API, Leaflet
Testing
Mocha, Chai, Sinon, Jasmine
Coverage
Istanbul, Blanket
Pre-process, lint and package
Brunch, Grunt, Gulp, Webpack
Version control system (VCS)
Git, Mercurial, SVN
Development environment
Packer, Ansible/Puppet, Vagrant, Virtualbox
Analysing and monitoring
Google Analytics, Google web developer tools
Issue tracking system
Jira, Trello
Continuous integration
Bamboo, Jenkins, Maven
Agile methodology
Scrum

Back-end

JavaScript
NodeJs, Express, Cheerio, Request, Lodash
PHP
Structured and object oriented. PHP core functions
Database
MySQL server. SQL standards functions and MySQL functions

System administration

Server software
Apache webserver with PHP module
Database
MySQL, phpMyAdmin
Mail
Postfix, Courier, Webmail
Manage
SSH, Vsftp
Operating system
Linux
Servers managing and monitoring
Console, Webmin, Cacti
Data backup
Bash scripts, Cron tasks, Rsync
Virtualization software
VMware ESXi and VMware server

Experience

Senior Front-End Developer at OHIM

02/2012 - 06/2014 (2.5 years)

As part of the User eXperience (UX) team I was completely focused on front-end and JavaScript tasks. This helped me to deepen in front areas. My tasks and responsibilities were:

  • Design and develop front-ends for several single page applications. Using Backbone with Underscore as main framework and others libraries like jQuery and Datatables for widgets. Communicating with back-end services by JSON.
  • Code a custom timeline plugin using raw JavaScript and helped by RaphaelJs library to draw the SVG image. It receives data from a JSON structure.
  • Create a front-end framework used by all website applications to obtain a harmonised L&F. Taking bootstrap as a base and coding custom components with Less. Documented its use in a wiki.
  • Make prototypes from mock-ups provided by graphical designers and give support to back-end developers to adapt them to JSP templates.
  • Analyse several building and packaging systems to easily create deliverables from code. Also used during coding phase for testing purposes.
  • Research different ways to create a development environment and share it between developers in order to work everyone with the same configuration.
  • Act as an architect and define the front-end architecture and guidelines for new tools.

Senior Web Developer at NewPyme S.L.

10/2005 - 01/2012 (6.5 years)

I was responsible to everything related with IT, so I went through diverse areas achieving a great background. My tasks and responsibilities were:

  • Analyse, design and code several portals with financial and banking content, using a CMS as a base, but cleaning and optimizing deeply its core and modules. I used PHP and MySQL. Front-end side was coded using HTML and CSS 2.1. User interactions were managed with jQuery and ExtJS.
  • Develop financial simulators for stocks, inversion funds, mortgages, loans, fixed incomes, taxes…
  • Modify open source application cores to allow them being multi-domain. For forums and blogs.
  • Design, develop and implement a distributed CMS from scratch. Coding my own PHP framework and template engine and using MySQL as database. Front-end coded with XHTML and CSS 2.1. It allowed serving pages to different domains applying distinct themes to the content. It attended many concurrent users (40,000 visits per day)
  • Design and code a single page application for calendar purposes from scratch. Taking advanced of GWT and CSS3 for front-end side and my own PHP framework for back-end REST services. Communication between sides was done using JSON.
  • Manage a virtualized environment for production. Installing and configuring servers from the host OS (VMware ESXi) to the guest machines (linux with server software).