Software Projects
                        Tech Lead
                        Currently, I am a tech lead at the following project:
                        
                            
                                
                                     
                                    Selenium
                                    
                                    Browser automation library and ecosystem.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        Creator
                        I am the creator and maintainer of the following projects:
                        
                            
                                
                                     
                                    WebDriverManager
                                    
                                    Automated driver management and other helper features for Selenium WebDriver in Java.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    Selenium-Jupiter
                                    
                                    JUnit 5 extension for Selenium WebDriver.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    BrowserWatcher
                                    
                                    Browser extension aimed to monitor web browsers such as Chrome, Firefox, or Edge.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        Books code examples
                        I created (and continue maintaining) the following repositories for books related to Selenium and JUnit 5:
                        
                            
                                
                                     
                                    Hands-On Selenium
                                    
                                    
                                       Selenium WebDriver test examples for the book Hands-On Selenium WebDriver with Java.                                    
                                    
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    Mastering JUnit 5
                                    
                                    
                                        Comprehensive collection of JUnit 5 test examples for the book Mastering
                                            Software Testing with JUnit 5.
                                    
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    Rate my cat!
                                    
                                    Complete sample web application and JUnit 5 test (unit,
                                        integration, end-to-end).
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        Teaching code examples
                        When I give a course about software engineering or programming, I provide working examples released as open source projects:
                        
                            
                                
                                     
                                    Android
                                    
                                    Basic Android apps using Java and Kotlin.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                            
                                
                                     
                                    Flutter
                                    
                                    Basic Dart examples and Flutter apps.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        
                            
                                
                                     
                                    Natural Lang. Proc.
                                    
                                    Natural Language Processing (NLP) examples with Python.
                                    
                                        Learn more
                                    
                                 
                             
                            
                                
                                     
                                    Data Processing
                                    
                                    Collection of data processing (Spark, Kafka, Flume) examples using Python.
                                    
                                        Learn more
                                    
                                 
                             
                            
                                
                                     
                                    Node.js
                                    
                                    Basic examples for Node.js and DialogFlow.
                                    
                                        Learn more
                                    
                                 
                             
                         
                        
                            
                                
                                     
                                    C
                                    
                                    Collection of basic examples using C language.
                                    
                                        Learn more
                                    
                                 
                             
                            
                                
                                     
                                    WebGL
                                    
                                    Examples for graphics generated using WebGL.
                                    
                                        Learn more
                                    
                                 
                             
                            
                                
                                     
                                    Web Programming
                                    
                                    Examples for web applications using Java and Spring in the server-side.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        Other examples
                        I maintain several open source repositories containing examples for different technologies:
                        
                            
                                
                                     
                                    Rust Examples
                                    
                                    Small sample programs written in Rust. Warm up for the upcoming Selenium Manager.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    WDM Examples
                                    
                                    JUnit tests with Selenium WebDriver and WebDriverManager.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    Sel-Jup Examples
                                    
                                    Test examples using Selenium-Jupiter, Selenium WebDriver, and JUnit 5.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        Creator (legacy)
                        In the past, I created the following software projects:
                        
                            
                                
                                     
                                    DualSub
                                    
                                    DualSub is a tool which allows you to merge two SRT
                                        subtitles in a single file. The idea of using merged subtitles
                                        is to watch movies/series in original version with two sets of
                                        subtitles.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    CDA
                                    
                                    CDA (Accessible Digital Certificate) is a cryptographic
                                        token that allows secure and comfortable access to electronic
                                        services of public e-Administration.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    ATP
                                    
                                    ATP (Automatic Testing Platform) is a scalable testing
                                        Java tool for web applications in the client-side. ATP automates
                                        functional, performance, security, compatibility, usability
                                        and accessibility analysis.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    piPlayer
                                    
                                    piPlayer (Personal Interactive Player) is a multimedia
                                        player out of the box for Java OSGi gateways. It allows to play
                                        local and remote personalised media.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        Contributor (legacy)
                        In the past, I contributed to the following software projects:
                        
                            
                                
                                     
                                    Sauce Labs
                                    
                                    Cloud-hosted, web and mobile application automated testing platform company.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    ElasTest
                                    
                                    An elastic platform to ease end to end testing. It aims
                                        at significantly improving the efficiency and effectiveness of
                                        the testing process and, with it, the overall quality of large
                                        software systems.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    OpenVidu
                                    
                                    OpenVidu is a platform to facilitate the addition of
                                        video calls in your web or mobile application, either group or
                                        one-to-one calls.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                         
                        
                            
                                
                                     
                                    CodeURJC
                                    
                                    Research, consulting, and training within Universidad
                                        Rey Juan Carlos.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    Kurento
                                    
                                    Kurento is a an open source framework for the
                                        development of multimedia enabled aplications. It provides
                                        WebRTC server infrastructure and a set of APIs (Java,
                                        JavaScript, Node.js).
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    NUBOMEDIA
                                    
                                    NUBOMEDIA is the first open source elastic cloud PaaS
                                        (Platform as a Service) specifically designed for real-time
                                        interactive multimedia services, exposeing its capabilities
                                        through simple APIs.
                                    
                                        Learn
                                            more
                                    
                                 
                             
                            
                                
                                     
                                    ICT Romulus
                                    
                                    
                                        ICT Romulus was an framework for Java Web development based on
                                        a combination of Domain Driven Design (DDD) and Model Driven
                                        Architecture (MDA) techniques (abandonware).
                                    
                                    
                                        Learn
                                            more