Desarrollador con casi 30 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
Carto
Principal Backend Engineer (Abr 2021 - now )
- OS: Windows, Linux, OSX
- Databases: Bigquery, Snowflake, Postgresql, Databricks
- Computer Languages: Typescript, JavaScript, Bash
- Others: GitHub actions, Google cloudrun
OpenSistemas
DevOps Manager (Feb 2017 - Abr 2021 )
- 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