With more than 8 years of experience in the software development world, I define myself as a technology lover and restless person to learn every day. My good communication skills and my ability to acquire new knowledge have helped me to face the new challenges and projects that have emerged during my evolution as a professional.
I have focused my professional career in custom web development and also in using the leading open-source products, emphasizing Java as principle programming language for several years.
I'm currently self-employed and working as Software Engineer and DevOps specialist. My responsabilities includes technical parts(designing architecture of the project and developing tasks) and bussiness parts(document redaction, meetings with customers, offers redaction and live-demos/webinars for new customers).
Apart from that, I have a lot of interest in new technical things and often I assit to conferences and Meetup's beacuse I found them really interesting to increase my knowledges and it's a good place to meet people with same interests as me.
On the other hand, I enjoy to have good moments with my office mates inside and outside of the working day. People consider me as a communicative and cheerful person, so I think the social part of me is one of my strong skills.
The best way to make sure, is to know me.
Use of modern technologies and processes to build custom developments. Flexible to develop, evolve and try new requirements based on customer feedback. Propose open-source tools in case that are useful to achieve the objective faster.
Mix cloud systems and DevOps culture to reduce the Time-To-Market. Infraestructure as Code for provision, destroy, scale and manage all the environments easily and uniformly.
Provide light and robust systems and with low coupling, using API's and microservices. Be pragmatic and not build big cathedrals if they are not necessary and they won't contribute to the business.
Apply knowledge to help companies to find the best solutions and increase their growth. Enrich technical stack of work teams to achieve the goals in their projects.
Paying attention in minimal details to ensure that each requirement is finished correctly. Concern about clean code, automated testing and simple content structures.
I usually reduce costs, save time and minimize errors, using automation benefits. Focused on the monitoring and continuous evolution of processes. Do not let manual processes slow down the evolution of your projects.
Working with agile methodologies to obtain efficient and fast results. Acceleration in decision making. Ease and clearness to calculate budgets only of the obtained services.
Open-minded in all the projects that I participated, trying to put imagination and originality. Always applying the common sense and accomplishing objectives.
As part of the Cloud Application Journey team, that the goal was define the standards(coding best-practices, testing, application conteinarization, resource optimizations, ...) for a bank customer to easily deploy applications into IBM Cloud Private. Design solutions to automate checks of cloud standards for all the applications, and detect failures to order them as gamification in a score board.
Participate in the digital transformation of the B2B franchisees platform to a microservices architecture using Spring Boot and Swagger for the definition of the APIs. CI/CD process was automated with Jenkins, using shared libraries, for all the environments. And all the deployments were into onpremise Kubernetes cluster and Istio as service mesh.
Provide solutions to deploy easily in Kubernetes the applications and components of all the teams in the company, using Gitlab CI pipelines with shared libraries and Kubernetes templating for deployments. Create a Python API for flow executions(Apache Airflow) to create infrastructure using Terraform and Ansible.
Be part of the Platform team of the company and a Java referent inside of it. We provided a CI/CD solution to deploy all the microservices of the company using Jenkins pipelines(with custom shared libraries) as principal tool. On each step, up a Kubernetes pod to execute commands and interact with other products as JFrog Artifactory, Harbor or deploying into AWS or Kubernetes on premise.
SILK - LA CAIXA
Participate inside the architecture team to develop a solution for the application log management using Elasticsearch Stack as backend. For the production architecture, we decided to have all the products containerized with Docker and deploy them in Kubernetes to provide the possibility for scale the system easily. And for local environment, we used both Vagrant and Docker. All the environment was provisioned and fully automated with Ansible, to deploy easily on the production clusters. And to make integration testing we decided to use Jenkins with Docker.
Technical microservices architecture design for Desigual to migrate from the monolithic one. The technology stack was mainly based on Java and Spring Framework for the development part of the services. Consul as service discovery tool. Zuul for the API Gateway communication. Kafka as queue for asynchronous invocations between microservices. And Elastic Stack to manage the logging of all the architecture and monitoring.
Automation is a very important task in the flow of software development, but do we know when we should apply it? What benefits can we obtain? We are used to applying good practices in code and tests, but often we leave the automation of certain tasks in the background and which directly affect our productivity. In this talk I will explain about several automation aspects that I consider important and some of the processes I use in my day-to-day, such as automatic code generation tools, deployments automation, testing using containers (Docker-in- Docker vs. Docker-outside-Docker) and bots for operational management from messaging tools (practical example using Hubot from github for ChatOps).
Winner of the BeeCon 2017 Alfresco Hackathon with a project about creating an add-on to give a non developer the ability to fill metadata fields with data extracted from preselected position on documents(regex or area). He can indicate for a specific document type where to find metadata and to which field it is linked. For example, from invoices that have the same information.
Alfresco module to analyze people photos and extract information about the gender, the age, face expressions, emotions and others. So you can make a bulk photo import to Alfresco, and then make searches(for example, to know how many 30 age people photos are in the repository).
AENA - CRIDA
Diseño e implementación de un Data Warehouse para el Centro de Referencia de Investigación, Desarrollo e Innovación ATM (CRIDA) de la compañía AENA. Utilización de Talend Open Studio para el tratamiento e integración de grandes volúmenes de datos de vuelos, aeropuertos, aviones,… Realización de un estudio de data profiling de la información a almacenar en el Data Warehouse utilizando Talend Data Quality.
SPAINISH NATIONAL LIBRARY
New features development forAlfresco’s custom implementation for the Spanish National Library (BNE). OpenCMS documents migration process to Alfresco environment (using CMIS, WebDav and Alfresco’s webscripts). CMIS client development for Alfresco data synchronization with external database.
IBERCAJA AND CAJAMAR
Development of features for core banking product MC-Server v5.0. Participation in projects of core banking for Ibercaja and Cajamar entities, using the IntegraAjax company product. Development of a Java library for reading and sending bank validation notebooks type 19 (Debit), 34 (transfers and checks) and 34-14 (SEPA transfers) based on the AEB (Spanish Banking Association) Standards.
DEPUTATION OF ZARAGOZA, HUESCA AND TERUEL
Development of new features for the product Nubarchiva, a management system for archivistic storage of documents according to international standards like ISAD and MARC. Implementation and maintenance for the Provincial Deputation of Huesca, Provincial Deputation of Teruel, Zaragoza's Town Hall and Documents Archives of Aragon (DARA). Development of desktop application to convert images to DJVU format and view on a web environment.
I had the pleasure to work with David for the same Client about 8 months. He likes to share his passionate work and talents with everyone. He is perfectionist and has the will power to go further on every technical aspect, keeping himself self-motivated. He was a very active participant in the technical research and meetups we setup regularly inside and outside our company. In addition to his great technical abilities and experience he has wonderful personal skills and you can notice that since the first day you meet him. David its an invaluable asset for any tech company that want to grow rock solid on young enthusiast people with talents on the top-notch technologies.
I was lucky to work on the same team. Not only is he highly skilled, but he is usually a few steps ahead of you. Already solving things when you are just thinking of how to address them. You can always count on him. He is always up to date with the latest technologies. And his enthusiasm for technology is contagious to the whole team. A great asset to any tech team! I'm sure we will work together again.
We strongly recommend to work with David due to his solvency where was needed during our collaboration. Great professional with a lot of skills. His knowledge on Alfresco is a clear proof.
I enjoyed working with David. He had a helping hand for everybody. He has a deep knowledge in Alfresco. moreover, he wants to improve as well as he is having an agile mindset in general.
Working with David is a real pleasure: for his high skills, his ability to work with quality and professionalism, his curiosity towards everything that concerns programming and DevOps. It is a staple in every team, you can rely totally on him, and he has the talent to create a relaxed work environment and it is certainly a great value. Definetely, David is a great professional as well as a great person.
David is a great and passionate collegue! He loves what he does and that's something that can be seen when he struggles to achieve the solution that better fits the team needs. In fact, I recommend working with him since he is always open to discuss an idea or a project, offering the best of himself. Definitely it's a good idea to have him in the team.