35 Lipscomb Lane - Shenley Church End, Milton Keynes MK5 6JQ, UK +44 780 123 4425
I start my career many years ago as an indie game developer and work abroad 4 different countries since them, from embedded software to complex enterprise applications.
I like to have a polyglottal & learning by example approach to discover new patterns and solutions and always try to experiment with new technologies.
Alongside the way I've understood that more important than frameworks, tools or write clever code is to understand and support the people that you work with.
Nowadays I do as much mentoring and coaching as I can to improve the teams that I work with.
Coauthor, to be published Packt on 2020, ISBN : 9781789535013
Author, published by Packt on 2018, ISBN : 9781788471459
Author, published by jaxenter on 2017, article
Author, published by jaxenter on 2017, article
Code contributions & credits, published by Alfaomega • Ra-Ma on 2002, ISBN : 9701507150
Design technical architectures for product teams that help them create a technical solution, this
includes diagrams that illustrated the various components on the architecture and how will be deployed
and interact with the infrastructure, additionally providing some UML diagrams that helps the team
to understand the intention on the solution.
Working alongside enterprise architecture to guarantee that the architecture principles are meet in the
design, and reviewing that best practices, such domain driven design and others, are followed.
Collaborating with the infrastructure teams to assure that their needs are cover when design the different components
of the solution.
Occasionally review some of the project artifacts, including code, to help with the implemented solution.
Alongside my architecture function I participate in many of the inner communities, and create the engineering community for
Santander UK that tries to help the teams to find a common place to learn together, arranging meetups and helping members
to learn and grow. And having a graduate as a mentee that I help to develop further.
Using Visio, Draw.io, Powerpoint, Java, Kotlin, NodeJS, Python, C++, Go, Groovy, Ansible,
Spring, Spring Boot, Spring MVC, Spring Cloud, Spring Cloud Config Service, Spring
Data JPA, Spring Security, Spring Cloud Gateway, Maven, JUnit, Selenium, JMeter, Postgresql, NuoDB, Oracle,
Kafka, RabitMQ, Redis, Sentinel, Mongo, Nginx, Logstash, Elasticsearch,
Npm, React, AngularJS, LoopBack, Express, Jenkins, Docker, Podman, buildah, Harbor, Nexus, SonarQ, Kubernetes,
OpenStack, OpenShift, Kibana, JIRA, Discourse, Confluence, RocketChat, Microsoft Teams and many other tools / technologies depending on the product.
Some of the architectures that I've been working on:
Coaching product teams within the organization to help them adapt new technologies and ways of working,
participating in the hand-ons experience within the teams doing pair programming, code reviews, or
just developing new software with them, but as well participating in all the ceremonies,
such sprint planning, stand-ups, three amigos reviews, show and tells, retrospectives etc.
Introducing new concepts such Value Stream Maps, inceptions, personas & actors, and helping the
product team as whole, including the product owner, and tech lead, how to handle non-functional requirements
and technical debt.
Helping to design and architect the solution including the required technologies for each product depending
on their requirements and, and helping the team to understand how to make decision to produce lean software.
Using Spring, Spring Boot, Spring MVC,
Spring Cloud, Spring Cloud Config Service, Spring
Data JPA, Maven, JUnit, Selenium, JMeter, Postgresql, RabitMQ, Redis, Sentinel, Mongo, Nginx, Logstash, Elasticsearch,
NodeJS, Npm, React, LoopBack, Express, Jenkins, Docker, Harbor, Nexus, SonarQ, Kubernetes,
OpenStack, OpenShift, Kibana, JIRA, Pivotal Tracker, Discourse, Confluence, RocketChat, Ripple.
Develop, designing and architect the new Santander UK mobile banking application, designed to be
a cloud native application that could be up to the edge of technology for delivering the best in class
experience for our 4M customers.
Responsible as Senior Engineer to develop the main backend components and helping the team to archive it potential. We worked as a product team using agile methodologies,
mainly scrum based but with some bit of XP.
Stablish a backend guild for learn together with other teams.
Creating internal meetups and katas to further spread the knowledge.
Using Spring, Spring Boot, Spring MVC,
Spring Cloud, Spring Cloud Netflix (Eureka, Zuul, Hystrix, Turbine, Feign), Spring Cloud Config Service, Spring
Data JPA, Zipkin, Sleuth, Maven, JUnit, JMeter, Postgresql, RabitMQ, Redis, Sentinel, Nginx, Logstash, Elasticsearch,
Docker, Harbor, Nexus, Kubernetes, OpenStack, OpenShift, Kibana, JIRA, Confluence, Slack, InVision, Zeplin,
Draw.io, Adobe Analytics, Crashlytics.
Working as Solutions Engineer for the newly create department of Solutioning in Santander UK, created for helping in the digital transformation to adopt new technologies and agile ways of working, designing and developing PoC that could be reuse to deliver new solutions, using Python, Pandas, scikit-learn, NumPy, nltk, Java, Spark, Hadoop, Hbase, Shell Scripting, perl, tck, RHEL, OpenStack.
Manage the complete Online Banking channel in Santander UK, responsible to delivery the digital plan for improve the digital service offering to our customers. Working with 20+ teams between the different applications teams and software labs.
Manage the IT programme for deliver the PayM, mobile to mobile payments, into Santander UK online channels, coordinating off-shore development teams with the local delivery teams, assisting the architects to design the correct solution and managing the project budget.
Design and deliver the software solution for migrating 2M Santander UK existing business banking customer from MBB, My Business Banking, into the new Santander UK Business Online Banking with an online migration journey helping them into the transition, using Rational Rose, IBM WAS, IBM RAD, Clearcase, DB2, Oracle, Control-M, Trusteer, RSA, RHEL, LDAP, IBM MQ, MS Project.
Design and deliver several Santander UK online banking applications, managing the software lifecycle from requirements and off-shore development into the deployment and support of the applications including CSA, using Rational |Rose, IBM WAS, IBM RAD, Clearcase, DB2, Oracle, Control-M, Trusteer, RSA, RHEL, MS Project.
Manage and design Several application for ISBAN, Santander software company, in the recently acquired Abbey National, integrating the mortgage sale offering from into Santander, migrating the legacy system into new sales process that are handle by global back offices. Coordinating the development teams in Spain and the Local team in UK that design and deliver the solution, using Rational Rose, WSAD, BankSphere, in-house Santander J2EE solution based on EJB and JSP with IBM connectors to mainframe transactions, additional usage of DB2 and Oracle.
Develop, architect, design various software solutions for Telefonica Mobile using UML, Borland Together, J2EE, EJB, WebLogic, Visual Age, JBuilder, TOAD, Test Director JSPs, Struts, HTML, JavaScript, jQuery, Service Builder, Tuxedo, Oracle 8, ASP.NET, Unix (Aix), MicroStrategy, MS Project.
Develop, architect, design a new software solution for Vodafone, one the biggest mobile network providers in spain, that help manage and design their mobile network. Coordinating the development team and managing the business requirements using UML, C++, Tuxedo, PSQL, Visual Basic, WebLogic, J2EE, Sybase, Embarcadero, XML Spy, Unix (Sun & Digital), MS Project.
Develop, architect, design and support an C/S application that type concurrently hundred of transactions into a set of IBM 3270 terminals for Telefonica, using UML, Visual C++, COM/DCOM, IBM 3270 simulation, sockets, MFC, OLE DB, MS SQL Server, UML, datagrams, DES, gzip, SNA.
Develop, architect and design eCommerce solutions for IECISA as the Store front for El Corte Ingles, one of the biggest department stores in Spain, using Rational Rose, UML, HTML, JavaScript, XML, ASP, ADO, MS SQL Server, DB2, CICS, IMS, MTS, SNA, J2EE, EJB, JSP, JDBC, CORBA, RMI, JNI, Visual Age, Clearcase.
Develop and deployment of software solutions create by Global Teleworking Spain Labs into the various finish clients, becoming a bridge between the Spanish and Finish teams.
Developing applications and third party components in Helsinki, Finland, for different clients, using C++ Builder, Sysbase PowerBuilder, PCVS, Test Director, IIS, Visual C++, ISAPI, COM, ASP, Visual Basic, Web, WAP.
Game Frameworks design and development for the Gaming Software company True Balance, with Watcom C/C++ & Visual C++ using Win32 API, Direct X, OpenGL, and 3dfx Glide.
Marketing and Publisher Engagement for the Gaming Software company True Balance during the 1997 & 1998 ECTS, European Computer Trade Show,
Design, develop & support custom solutions for SMEs using Cobol, dBase, Clipper & Delphi.
Design and optimization of applications using Microstrategy, generation of fact tables, views, prompts, and reports. Administration of Intelligence Server, creation of ETLs and design of cubes with OLAP services. 40h
Programming of business applications in java using Sun and IBM tools. 65h
Advance development on Java using CORBA, RMI, JNI, etc. 55 h
Develop Java application that uses XML, focus on internet. 45h
Design of applications and software using UML. 25h
Design applications, components and services using J2EE. Patterns for EJBs and deployment on application servers. Using IBCM CICS connector. 50h
Develop distributed application using COM / DCOM & Microsoft Transaction Server. 45h
Game ML is an experiment to apply machine learning to create a different recommendations algorithm,
instead to be based on what people like it uses natural language processing to find similar item that people
speak in similar manner, regardless of how they like that item.
The algorithm is quite effective and is able to find items categories without training them.
The example use a game reviews database but has not been update in years.
Examples:
https://dev.juan-medina.com/game/network/203
https://youtu.be/N5yxbBx-sz4
Example for learning new technologies and tools, includes several repositories with more than 200 stars on github together
An under development Open Source Game with a Physics engine than run on Windows, Mac, Linux, Android and iOS
Open Source Components for handling security on reactive applications, currently includes only a reactive certificate pinning implementation done fully in Kotlin
Simple Docker for creating FaaS in apache OpenWhisk using Kotlin native
I've developed with several languages during my career, but the ones I've used more are
This are the tools that I use more often
I've deliver and created continuous integration and continuos delivery solution during my career, including creating reusable pipelines, libraries and meta pipelines for others teams to use.
I'm an Agile practitioner and have done mostly scrum and XP and focus on lean principles, but this vary depending on the maturity of the team that I've work with.
I prefer to use TDD to deliver the best quality software and I've done many types of test during my career
I'm a capable coach and mentor and I try to help the teams that I work with to improve and grow, even when not formal mentoring or coaching is required, but trying not interference with the mechanics or ways of working of the team.