Antonio Navarro

Lead Engineer at Data Retrieval Team

About Me

I love my job. I’m always innovating and trying new technologies adapted to the project needs.

I am a restless and perfectionist person who enjoys teamwork and new challenges.

Projects

SQL engine which parses standard SQL (based on MySQL syntax), resolves and optimizes queries. It provides simple interfaces to allow custom tabular data source implementations.

  • Generic extensible SQL engine that performs queries on your data sources.

  • Provide interfaces so you can implement your own custom data sources without providing any (except for the mem data source that is used for testing purposes).

  • Have a runnable server you can use on your specific implementation.

  • Parse and optimize queries while still allow specific implementations to add their own analysis steps and optimizations.

  • Provide some common index driver implementations so the user does not have to bring their own index implementation, and still be able to do so if they need to.

I am contributor and maintainer of this project. I've implemented a lot of new functionality like the first version of the packfile writer with delta selection. I learned a lot with this project about low-level performance improvements and heavy profiling.

go-git is a highly extensible git implementation library written in pure Go.

It can be used to manipulate git repositories at low level (plumbing) or high level (porcelain), through an idiomatic Go API. It also supports several types of storage, such as in-memory filesystems, or custom implementations.

It’s being actively developed since 2015 and is being used extensively by source{d} and Keybase, and by many other libraries and tools.

A project created by some of my colleagues and me on a hackathon. Now is one of the main company pillars.

gitbase, is a SQL database interface to Git repositories.

It can be used to perform SQL queries about the Git history and about the Universal AST of the code itself. gitbase is being built to work on top of any number of git repositories.

gitbase implements the MySQL wire protocol, it can be accessed using any MySQL client or library from any language.

src-d/go-mysql-server is the SQL engine implementation used by gitbase.

Working directly with a great SAP team on their offices, we created a SQL distribution layer based on Apache Spark for his new in-memory database called Velocity. The project lately was renamed to SAP Hana Vora.

We started this project as a POC to show to management. After two weeks we had a working prototype able to create aggregations on top of Apache Spark Streaming with a small config file.

Stratio Sparta is the easiest way to make use of the Apache Spark Streaming technology and all its ecosystem. Choose your input, operations and outputs, and start extracting insights out of your data in real-time.

Experience

Source{d}

sourced.tech

Lead Engineer Data Processing Team

Jan 2019 – Nov 2019

Lead Engineer at Data Retrieval Team

Oct 2017 – Jan 2019

BigData Senior Engineer

Sep 2016 – Sep 2017

Source{d} looks to build the first AI that understands and writes code

  • Development low-level git functionality (LRU object cache implementation, delta objects generation).
  • Manage and coordinate a 5 people team.
  • Development of a new SparkSQL gitbase datasource, supporting pushdown of standard expressions, like filters and projections, but also aggregations and functions depending on the query.
  • Manage open source projects (issues triaging, design documents creation for new features, community management) like go-git, go-mysql-server, and gitbase.

StratioBD

stratio.com

Big Data Engineer

Feb 2014 - Sep 2016

  • Analysis, design, and coordination of the development of Stratio Admin, a platform to govern data management clusters, using Spring MVC, Jetty, Chef Server, Cassandra, ElasticSearch, Jclouds.
  • Real-time event processing platform developed based on Spark, using a CEP (Complex Event Processing) engine, Hazelcast, Kafka, Spark, Cassandra, MongoDB, and ElasticSearch.
  • Analysis, architectural design and development of a real-time data analysis application based on hypercubes. Technologies: Kafka, Spark, Cassandra, MongoDB.
  • SAP Hana Vora SparkSQL layer development, implementing queries push down, distributed aggregations, versioning and performance improvements.
  • Document design to implement data lakes at Santander bank,
  • Data Lake implementation and first use case doing data cleaning techniques to normalize data, data versioning, metadata, etc. using Spark, Spark SQL, Spark Mllib, Cloudera, etc for Santander bank

TECHNOactivity

www.technoactivity.com

Senior Software Engineer

Dec 2012 - Feb 2014

Analysis and architectural design of a fully distributed, highly available, cloud-based REST API which forms the core of a mobile payments processing solution licensed by the Central Bank of Spain.

Project’s technological highlights including:

  • Use of agile project management and tracking solutions such as JIRA and GreenHooper.
  • Continuous integrations tools, such as Nexus and Jenkins.
  • Cloud deployment workflows based on Amazon Web Services.
  • Low-level monetary transactions management with redundancy, error prevention, and detection.
  • Behavior analysis based on rules engine employed as part of proprietary fraud detection and prevention system.
  • Batch execution of automated banking operations in the background.
  • Interactive API documentation generation using Swagger.
  • Administration backend based on the Play Framework.

Antena 3 (Paradigma Tecnológico)

www.antena3.com

Software Engineer

Oct 2011 - Dec 2012

  • Analysis and development of Android Second Screen application, ANT 2.0 V2.
  • Development of “Modo salón”, an Antena 3 application designed for TiVo devices, using Java, Maven, and Junit.
  • Development of “Actibva” (stock market and news viewer) for LG TVs, using Java, SOAP, REST, Object Oriented Javascript and Jquery.
  • Development of an audio and video transcodification application with REST API, using Maven, Spring, Spring Security, Jersey, Junit, Velocity, Jetty and MongoDB.
  • Modular developments and troubleshooting for web and CMS solutions for Antena 3, Onda Cero and Europa FM, using Spring, Maven, GWT, Tomcat 6, Lucene and Hibernate.

AT Sistemas

atsistemas.com

Software Engineer

Sep 2009 - Oct 2011

  • Enterprise application development using Java, Struts 1, Spring, Spring MVC, Maven, Artifactory and Tomcat 6.
  • Use of agile development methodology applied through Scrum.
  • Participation in projects for Mutua Madrileña (Intranet) and Franquicias Plus web portal.
  • Use of application management and continuous integration solutions such as Hudson and Sonar.

Sadiel Desarrollo de Sistemas

ayesa.com

Junior Software Engineer

Jan 2009 - Sep 2009

  • Enterprise application development using Java, Struts 1 and 2, JSF, Spring, Lucene, Ant, Maven, Artifactory and Tomcat 4/5/6.
  • ORACLE / PLSQL database programming using TOAD as a management tool.
  • Participation in projects for “Junta de Andalucía” (eGovernment), “Agencia Andaluza del Agua” and “Nuevo Plan de Vivienda 2009”.

Education

IES Mar de Cádiz

Desarrollo de Aplicaciones Informáticas

2006 - 2008