Desarrollador con más de 20 años de experiencia trabajando en proyectos de todos los tamaños, con un “toque” de sistemas. Me siento cómodo trabajando tanto en tareas creativas/visuales como en tareas técnicas.

Me encanta programar, no importa el lenguaje, pero tengo el extraño vicio de utilizar más el papel y bolígrafos de colores que directamente el teclado.

El haber trabajado con muchos y diferentes Sistemas operativos, Bases de datos, Lenguajes de programación y con la casuística de cada uno, me ha llevado a tener una serie de pautas y premisas antes de echarle mano a un proyecto:

  • “Posible” es “Económicamente viable”
  • No existe la solución/tecnología buena para todo (la navaja suiza)
  • Por cada minuto que se dedique a su planteamiento y estudio se necesitarán 2 minutos menos de desarrollo.
  • Los errores y problemas siempre ocurren, hay que tenerlo en consideración siempre, y prever y definir como actuar.
  • El usuario final hará cosas que ni te imaginas, intenta  imaginartelas antes, o al menos ten previsto que harás ante esas “conductas humanas”.
  • Probar, probar, probar … (testing automatizado y/o manual)

Experiencia profesional

OpenSistemas

DevOps Manager (Feb 2017 - now )

  • OS: Windows, Linux, OSX
  • Databases: Postgresql, MySQL, MongoDB
  • Computer Languages: Go, PHP, Bash, Python
  • Others: RedHat Enterprise Linux, Ansible, Cloudforms, Ansible Tower, Laravel, Lumen, Wordpress, Open EdX, SAM2, Azure, Amazon AWS, Google Cloud

Plain Concepts

Developer (Nov 2016 - Feb 2017)

  • OS: Windows
  • Databases: SQLServer
  • Computer Languages: Typescript, C#
  • Others: .NET Core, Angular 2, Azure

Ximdex

Lead Architect ( 2014-Nov 2016)

  • OS: Linux, OSX, Android
  • Databases: MySQL, MongoDB
  • Computer Languages: Go, PHP, Java, .net
  • Others:  Solr, Drupal, Elastic Search, Stanbol, Machine Learning, Big Data, Platform design

Mejoras y evolución de Ximdex Platform.

Proyectos de Investigación basados en Dispositivos (Biometría), sistemas de proceso distribuido y de alta disponibilidad, procesos de transformación y semantización de datos.

Xowl: SAAS de semantización de contenidos: http://demo.ximdex.com/xowl/

F10 Informática

CTO ( 2009-2014 ) E-Commerce and mobile apps

  • OS: Linux, Windows, OS X
  • Databases: MySQL, PostgreSQL, MongoDB, Redis, SQLite
  • Computer languages: PHP, Java, Javascript, shell script, Titanium
  • Others: Gearman, Beanstalk, Node.js, nginx, varnish, Coffeescript, Apache Solr, HTML5, CakePHP, SlimPHP

Desarrollo de la web de e-commerce tpoinformatica.com, tomando como base OpenCart (por su diseño simple), y modificado completamente. La mayor particularidad de este sitio es su catálogo y gestión, ya que proviene de diferentes origenes y está completamente automátizado.

Desarrollado sistema para procesar y unificar catalogos, independientemente de su formato: (FTP+CSV), I(Webservice + XML), ( REST + json and FTP + Excel )

Todos los datos se almacenan en MongoDB, un proceso analiza estos datos y consolida cada producto mostrandolo a la venta con el mejor precio y stock.

Con Gearman, Redis y ZeroMQ realizamos procesos en lotes para obtener imágenes y ficha técnica (Icecat), comprobar disponibilidad en tiempo real, actualizar nuestro buscador (SOLr), enviar emails, generar contratos (PDF).

Además de la venta directa en la web tambien se envían los productos a varios marketplaces ( Amazon, Fnac, Pixmania). Estos marketplaces se actualizan automáticamente.

Sistema de facturación, que unifica y genera las facturas que son recibidas por nuestro sistema de gestión a través de un RESTful API.

La web es responsive, utiliza Haanga como gestor de plantillas, memcache y SOLRThe website is fully responsive and uses Haanga as template manager, with a cache.

Desarrollo de aplicaciones móviles: Titanium( Javascript + Coffeescript), IonicFrameword (Angular + Apache Cordova)

TuApli

CTO (2009-2014) Facebook Apps, WebApps

  • OS: Windows, Linux, OSX
  • Databases: MySQL, Oracle, PostgreSQL, MongoDB, SQlite, Oracle
  • Computer Languages: PHP, Java,  Javascript, Coffeescript
  • Others: Gearman, Beanstalk, HTML5, Socket.io, Comet

Creación de sitios web: WordPress, SlimPHP, CakePHP, drupal.

Facebook Apps: Webcanvas y móvil. PHP 5.3, MongoDB, Memcache, Javascript.

FRAN: Franchise lead management: Java, Oracle.

drzSender: PHP 5.3, postfix, Gearman: Enviador de mails con control de rebotes, utilizado por las aplicaciones internas.

The PressLab

Consulting (2009-2015)   Customers websites, mobile apps, Social Apps, …

  • OS: Linux, OSX
  • Databases: CouchDB, MongoDB, MySQL, SQLite, membase
  • Computer languages: PHP, Titanium (Javascript), Coffeescript
  • Others: Node.js, TideSDK , HTML5, Socket.io, CakePHP, SlimPHP, memcache, redis

Creación de sitios web: WordPress, SlimPHP, CakePHP, drupal.

Mobile apps: Titanium and Apache Cordova

Soluciones de comunicación: Mailing, small social analysis ( Twitter, Facebook Insights, Google feeds ), automatización de tareas con IFTTT.

Facebook Apps: PHP 5.3, MongoDB, Memcache, Javascript

Tuenti Apps: PHP 5.3, MongoDB, Memcache, Javascript

Arrakis (British Telecom)

Sistemas de Información (2000-2009) Development

  • OS: Linux, OpenBSD, FreeBSD, Windows, OS X, Solaris, ..
  • Databases: SQL Server, MySQL, PostgreSQL
  • Computer languages: Rebol, .net, PHP, Ruby, Java, RealBasic, Javascript, Shell Script, …

Mi tarea principal era probar y desplegar nuevos servicios, evaluando nuevas tecnologías y obtener una completa integración: Provisión, gestión de Logs a nuestra plataforma de servicios de cliente, sistema de gestión y sistema de monitorización.

Cuando se necesitaba un nuevo servicio, no existente, creabamos soluciones a medida. Todos los miembros del equipo (desarrolladores) creabamos pequeños equipos para determinar la mejor y más eficiente solución, en la mayoría de los casos las soluciones eran híbridas (.net + Java, Java + PHP, .net + PHP, …)

En el departamento de I+D estaba a cargo de la gestión y mantenimiento de los servidors de desarrollo: Windows, Linux, FreeBSD, NetBSD, Solaris.

Otra tarea de mi rol era alimentar nuestro Data Warehouse con datos limpios originados en los diferentes sistemas: LDAP servers, Mail servers logs, Radius logs, Webservers log, FTP Logs, Accounting systems.

ReDOC: Internal webapp (PHP 5): Una aplicación para generar de forma dinámica los contratos (en PDF y Word) de servicios para nuestros clientes, de forma que siempre tuviesen accesible el contrato (en el momento de la adquisión del servicio) y las posteriores versiones (cambios según ley).

Reports: Internal webapp (Ruby on Rails): Pequeña aplicación que nos permitía mostrar de forma ordenada diferentes origenes de datos: Logs y estadísticas de la centralita, sistemas de provisión, gestión,…

CreaWeb: Customers app ( PHP ): Aplicación web que permite a los usuarios, mediante un Asistente, crear websites simples y administrables, que son subidos automáticamente a su espacio web en los servidores de Arrakis.

Todas las webs de Arrakis utilizaban MorcegoCMS, a pequeño CMS desarrollado por mi (http://sourceforge.net/projects/morcegocms/ ) (outdated)

Seresco

Técnico de Sistema (1997-2000)

  • O.S.: AIX, Windows, Linux, OpenBSD, SCO Unix , Windows CE, AS/400
  • Computer languages: xBase, PHP, C, C++

Tareas de Pre-venta y post-venta. Como desarrollador, tomar datos de origenes diferentes y convertirlos a nuestro propio sofware: Conversiones de archivos, toma de datos (incluso vía Parallel->Serial). Cada nuevo cliente tenía diferentes origenes de datos, mi objetivo era encontrar los origenes, analizarlos y convertirlos.

C.F.A.

Desarollador  ( 1995-1997)   Desarrollo de puntos de venta, servicios de acceso remoto y CRM

  • O.S. : Windows, SCO Unix, AS/400
  • Computer languages: xBase, Bash scripting, Visual Fox Pro, Visual Basic
  • Others: MS SNA Server

Desarrollo de un nuevo CRM y software de gestión, originalmente en AS/400 ( DB2 ),en a Windows NT Server y SQL Server. Utilizando MS SNA Server y ODBC.

Desarrollo de terminal punto de venta (Clipper xBase), y su servicio de acceso remoto. El TPV, vía dialup, envía las ventas a la central y sincroniza todas las bases de datos.

 

Habilidades Técnicas

Teoría. Algoritmos, estructuras de datos, programación orientada a objetos,programación funcional, TDD, MVC, RDBMS ,…

S.O. Windows *BSD: FreeBSD, OpenBSD, NetBSD, iOS, Android, Mac OS X, Linux: Debian, Ubuntu, CentOS, SuSe, …AIX, SCO Openserver OS/400, Neutrino.

Languages. Golang, Java, PHP, Appcelerator Titanium, Javascript, Rebol, Ruby, xBase, Coffeescript, C#, C, …

Web. MVC, CGI, PSGI, HTML, XML, XSL, CSS, JS

RDMS PostgreSQL, MySQL, SQLite, SQL Server, Oracle

Systems: Webservers ( Apache, nginx ), Varnish

NoSQL riak, redis, mongoDB, CouchDB memcached.

Dev. Tools GNU tools, bash, git, svn, …

Proyectos personales

MorcegoCMS . Small CMS. PHP and MySQL

SevillaPress. Digital Newspaper: PHP 5, MySQL, MongoDB, Solr

Synaptica: Health and Science site: CakePHP, Webservices, MySQL

Artículos

  • Sólo programadores: Seguridad en servidores web I y II.
  • Sólo programadores: Botones dinámicos con PHP (02-2003)
  • Sólo programadores: Sistemas de caché en PHP (03-2003)
  • Sólo programadores: Manejo de XML con PHP (04-2003)

Charlas:

  • Encuentro Viral sobre Salud, Internet y Comunidad Rural (EV2)
  • I Curso de Extensión Universitaria sobre Salud y Comunidad Rural (EV3)
  • II Master en periodismo deportivo.
  • Introducción a Elastic Search : PHP Sevilla
  • Go: de donde viene y a donde va : SevillaDevelopers #2

Idiomas

  • Spanish: Nativo
  • Galician: Nativo
  • English: Mid Level
  • Portugués: Bajo

Certificaciones y cursos

  • Red Hat Delivery Specialist - Automated SAP HANA System Replication with Pacemaker
  • Red Hat Delivery Specialist - Automation with Ansible by Red Hat
  • Red Hat Delivery Specialist - Cloud Management
  • Red Hat Delivery Specialist - Platform
  • Accesibilidad en Internet – Desarrollo web para discapacitados
  • Especialista en Seguridad Internet
  • Metodologías de desarrollo de aplicaciones orientadas a objetos
  • Programación Con MS Visual C#.net
  • Programación Java
  • Red en Unix: Configuración y administración