Rafa

Hi, my name is Rafa D. Latorre López Villalta

I am a Frontend Engineer with a deep understanding of UX design and quite some experience in the Backend.

I am more of a designer than the traditional Javascript programmer but still much more experienced at programming than designing.

This odd mix allows me to design usable and appealing interfaces that have into account the architecture of the system and are easy to implement.

Skillset

Back to General Overview
frontend

Javascript

Experience: 4 years

I don't consider Javascript a toy language and I'm pretty aware of the bad habits usually related to this language. I follow Cockford's Javascript: The Good Parts advise and try to stay up to date on good Javascript Patterns. I would need a little push to use JSlint but I would be really glad to get to a company that encourages it.

I have been working for 4 years with with different Javascript frameworks like Backbone, AngularJS, Knockout, SpineJS and React. Currently I work mainly with React which I find not only awesome and easy to use but a good way to enforce good practices.

I don't need to rely on Javascript frameworks to implement rich experiences. I have extensive experience using JQuery and UnderscoreJS and plenty of other libraries to bend the browser to my will.

Generally I create interactions optimized for smoothness and low power consumption, relying as much as I can on CSS transitions and animations, so I can keep Interaction, presentation and content layers separated.

Programming with Coffescript is not a problem to me, though I'm a bigger fan of Vanilla Javascript

I have played with Yeoman (Grunt+Bower+YO), Browserify and Webpack but didn't have the chance of using it in real life production environments, I would love to be able to use Webpack in production.

Videogame programming was one of my hobbies and I have explored several HTML5/JS game engines and frameworks such as Phaser, ImpactJS or EaselJS. That has been quite useful to learn new ways of structuring the code and write performant webapps.

HTML & CSS

Experience: 4 years

I'm very good & fast at writing clean, efficient, and semantically correct HTML & CSS.

I always apply graceful degradation philosophy to my works, due to my extensive experience I almost unconsciously apply styling patterns that result in posterior little or no crossbrowser debugging. I can also choose to ignore crossbrowser limitations to write code even faster and access features only available in modern browsers.

I have quite a good understanding of architectural strategies such as BEM, SMACSS, Object Oriented CSS and Atomic Design. I have used almost all of them or some useful bits in production environments.

I have experience with both SCSS and LESS and I'm pretty aware of the best practices to make them turn into a clean and efficient compiled CSS.

design

Design

Experience: 4 years

At the beginning of my career as an all round developer I learnt the principles of good design, composition and readability.

Over the years I got a really good grip on how users interact with apps and how to guide them through the desired flows and goals in an easy and pleasant way.

I understand color theory in a way that I'm not only able to create or find good color schemes but I'm also able to parametrically generate color schemes which have a good contrast and great looks.

I'm really good at designing flows and using time as another dimension to have into account. This makes me able to spot problematic scenarios and solve them beforehand in any interaction flow.

I have some experience with Adobe products as Photoshop, Illustrator and Fireworks. I have been using the Gimp and Inkscape as my main design tools for several years. I switched to OSX in 2014, since then I have been using mainly Sketch and Affinity Designer, being specially proficient with the first.

During the last few years design has been my responsibility and I have been creating really detailed and complex mocks and prototypes in very short amounts of time.

Since I was a child I've been interested in art and drawing and it has been great hobby of mine since I was 8.

Usability and User Experience are extremely important to me. I have the need to make everything as easy and delightful to use as possible. That's why I invest a good share of my time studying psychology, Usability and UX in general.

backend

Ruby on Rails

Experience: 4 years

I started to get into web development as a Ruby on Rails developer, mainly creating some custom CMS and internal webapps to manage small NGOs.

At the very beginning I would use Rails with MySQL and the basic templating system to create my websites.

When I began to participate in bigger teams with Java backends I would use Rails to create APIs for my client side applications which would use Solar, MySQL and mainly another API as data origins.

Later on I would be working in a company using Ruby as their main language where I would take care mainly of developing the "backend of the Frontend" with RoR (controllers, presenters, integration tests) while still needing to read and understand a big part of the deeper backend infrastructure.

I have some experience using TDD but I don't like it too much. I think it limits the possibility to explore while coding because it creates some kind of tunnel vision, thus I prefer to write tests after implementing features.

Even if it didn't get to become my specialty, backend good practices heavily influenced on how I code in the frontend.

Node JS

NodeJS is a great technology with a huge amount of possibilities and tools, so while I don't really have experience building full fledged websites with it I still have been experimenting and learning a little bit.

I have been using the typical frontend toolset and used npm to install and execute modules, but not more than that.

Generally speaking I would really appreciate to participate in production environments using NodeJS and getting a deeper understanding and better at using of it.

experience
  • Lead Frontend Engineer

    Tolq: July 2014 – Now

    • Designing and implementing different applications for clients, translators and administrators that made complex translation memory based translations easy to handle for all actors involved.
    • Coding React, Vainilla JS, plenty of JS libraries, Ruby on Rails, and modern browsers HTML/CSS responsive layouts.
    • Creating detailed mocks to explain how new features would work and would be used.
    • Designing and implementing company website.
  • Senior Javascript Developer

    Qelp: December 2013 – July 2014

    • Designing and implementing diferent versions of the company widget that offers tutorials for several mobile devices.
    • Coding CoffeScript, SpineJS and Mustache to Improve the Core funcionality of the Widget.
    • Refactoring styling strategy to a more maintanable and customisable version.
    • Implementing of a mobile version of the plugin.
  • Frontend Developer and Interaction Designer

    Elmar Reizen: April 2012 – December 2013

    • Creating a customizable White Label travel website using Ruby on Rails and travel business API.
    • Helping on defining the architecture of the travel business API.
    • Transforming PSDs designs into HTML/CSS.
    • Analyzing & Designing Interactions and Behaviour of provided static designs.
    • Coding them using Jquery, AngularJS, Knockout and CSS3 animations.
    • Defining the transition from Java Seam to Ruby on Rails of the official websites of the company.
    • Adding new features in Seam to the official websites of the company.
  • Sysadmin & All round developer

    Junta de Andalucía: April 2010 – April 2012

    • System administration of a public building.
    • Developing quality management intraweb application with heavy use of SVG charts.
  • All round developer

    Jaén de Medios: January 2009 – April 2012

    • Creating several websites with custom management tools and CMS like.
    • Web & print Design, usability consultancy.
  • All Round Developer, Teacher

    Objetivo Vida: October 2006 – April 2010

    • Information Technologies teaching for low educated excluded people.
    • Development of my first CMS and management tool http://objetivovida.org/
education

University of Jaén. Computer Engineer. Finished in 2006.

I keep on continuously reading books and articles in order to keep myself up to date and get more skills.

Some of them as an example:

  • Javascript: Javascript: The Good Parts, Javascript Patterns, Maintainable Javascript, Jquery from Novice to Ninja, AngularJS...
  • Interaction/Gaming: HTML5 Canvas, Canvas the Pocket Guide, HTML5 Games, HTML5 Animation with Javascript...
  • Design/UX: The Smashing Book (1/3), The Mobile Book, Numbers in Graphic Design, History of Typography, Don't Make me Think, Inkscape Logo a Logo...
  • Ruby/Rails: Agile Web Development with Rails (1 to 3), Poignant Guide to Ruby, Programming Ruby 1.8, 1.9...

Languages: Fluent English, Native Spanish

me

Others

Agile strategies: For the last few years I've been working in agile environments with different implementations of Scrumm, Kanban and Extreme Programming in general. I have done this both in teams promoting knowledge sharing and pair programming, aswell as with more individualist approaches with high code ownership. Personally I prefer knowledge sharing with some space to focus on some problems on my own.

Remote: I started experiencing remote working in 2013, since late 2015 I have been working remote full time

Community building: I like to share what I know and to do so with internationals in mind, I host a Meetup in English in the city I currently live in: Frontend Malaga

Creativity: I'm extremely creative. I have a high capability to solve problems by thinking outside of the box, and doing things as solving or minimizing problems whose source is in the Backend by using some interaction techniques in the Frontend.

Art: Drawing has been my hobby since I was a child, and I always like to have a pencil, an eraser and paper at hand. I'm able to make pretty decent drawings and I'm really efficient creating mocks on paper or on a whiteboard.