PHP Developer in Arrecife, Spain
Freelance Software Engineer2018 - PRESENTOpen Homes Photography (via Toptal)
Technologies: PHP 7.1, MySQL 5.7, Laravel 5.5, Doctrine 2, GitLab, Vagrant, PHPUnit, Vue.js
- Designed and implemented the core business logic of a web application which replaces the client's spreadsheet workflow.
- Employed paradigms and strategies including domain-driven design, hexagonal architecture, and test-driven development.
Software Engineer2012 - 2018European Molecular Biology Laboratory
Technologies: Apache, PHP, Sass, jQuery, JSON, PhpUnit, Vagrant, Docker, Git, CSS
- Oversaw development of all the web infrastructure for the external web site (www.embl.de) as well as the intranet site.
- Designed and developed a PHP application which allows us to integrate dynamic information from different systems (via web services) into the CMS and displays it in the web. This application was completely refactored by me from legacy code, and for that purpose, I used different techniques like hexagonal architecture and test-driven development, Sass for the style sheets, and some Symfony 2 components.
- Managed and maintained a wide range of Apache web servers and MySQL database servers from the SSH console. I perform optimizations and security updates regularly.
- Managed and maintained the content management system, performing optimization, maintenance, updates, and user management tasks.
Development Manager2010 - 2012Digital Art and Designers
Technologies: PHP, MySQL, Apache, CodeIgniter, jQuery, SVN, 960gs, CSS, JSON
- Managed the development of an e-learning web platform for FIFA's Refereeing Department and other football federations (Russia, Switzerland, Belgium) based on video streaming.
- Oversaw the work of our freelance collaborators.
- Handled technical support and user training for referees and instructors from various football associations, such as Russia or Belgium.
- Collaborated to customize the Moodle e-learning platform.
Software Engineer2009 - 2010FIFA (Freelance)
Technologies: PHP, MySQL, Apache, jQuery, 960gs, CSS, CodeIgniter, SVN
- Oversaw the development of an e-learning web platform for FIFA Refereeing Department and other football federations (Russia, Switzerland, Belgium) based on video streaming.
- Managed the work of our freelance collaborators.
- Handled technical support and user training for referees and FIFA instructors during the FIFA World Cup South Africa 2010 at FIFA Referee Headquarters in Pretoria, South Africa.
Software Engineer2007 - 2010Neuronal Software
Technologies: PHP, CodeIgniter, jQuery, CSS, Apache, MySQL, CVS
- Developed for an e-learning web platform project based on video streaming for the University of Las Palmas Gran Canaria. In charge of feature analysis meetings with the lecturers.
- Contributed to the development of another project for an e-learning web platform based on video streaming for Spanish Secondary Education. Reference: http://www.iescampus.com.
- Los Gofiones Website (Development)
Developed the website for Los Gofiones, a Canary folk music group. The site was developed between February and May 2008, I was in charge of development and styles. The design was made by a graphic designer.
- Casa Rural La Branela Website (Development)
Developed the website for House La Brañela, located in Tapia de Casariego, Asturias. The site was developed between September and November 2011. I was in charge of development and styles as well as the design.
- Referee Channel (Development)http://www.refereechannel.tv/
Analysis, design, and implementation of RefereeChannel, web software based on PHP (CodeIgniter) and MySQL. RefereeChannel is a video streaming and cataloging service for game situations. Its technology was successfully tested during the FIFA World Cup South Africa 2010 and other FIFA tournaments. Now, it has been adapted to the specific needs of other federations, such as the Russian Football Federation or and the Swiss Football Federation.
- IESCampus (Development)
I was part of the development group of IESCampus, an educational web platform based on video streaming and aimed at secondary education. I was in charge of the development of the application, both in the server side (PHP, MySQL) and the user interface.
- Prometeo (Development)
I was part of the development group of Prometeo, an educational web platform based on video streaming and aimed at university education in the University of Las Palmas de Gran Canaria. I was in charge of the development of the application, both in server-side (PHP, MySQL) and the user interface.
- ImprovedCode (Development)https://github.com/aguvillalba/improvedcode
TinyMCE Plug-in for improving the user experience in the HTML editor (versions 3.* and 4.*), adding code highlighting, indented code, line numbers, and more.
- Introduction to Objects and References in PHP Memory (Publication)In this article, I will talk about how object and variable references are controlled in memory, since this is an issue that can generate discussion and differing opinions. One question to ponder is: "By default, are objects passed by reference or by copy in PHP?" I'm going to talk first about what references aren't in PHP; secondly, I'll discuss what they are, and finally, I will examine how the garbage collector works in PHP.
FrameworksBootstrap 4, PHPUnit, Laravel, Symfony, CodeIgniter, Bootstrap 3, Zend Framework, Ruby on Rails (RoR)
Libraries/APIsjQuery, Vue.js, Doctrine 2, Ruby on Rails API
ToolsPhpStorm, GitLab, Nginx, Vagrant, Composer, Bitbucket, GitHub, Git, Photoshop CS6, Atom
ParadigmsClean Architecture, Clean Code, Test-driven Development (TDD), Behavior-driven Development (BDD), Agile Software Development
PlatformsApache2, Linux, Linux CentOS 7, Ubuntu, Docker, MacOS
OtherWeb App Development, Web Development, Hexagonal Architecture, Full-stack, Domain-driven Design (DDD), Ubuntu Server, APIs
- Zend Certified Engineer in PHP 5.32014 - 2014Zend Technologies, Inc - Heidelberg, Germany
- Degree in Computer Engineering2001 - 2007Universidad Las Palmas Gran Canarias - Las Palmas Gran Canaria, Spain
- PHP 5.3 Zend Certified EngineerJANUARY 2014 - PRESENTZend Technologies, Inc.