.Job description:The OpportunityWe are looking for engineers for our Technology team, to work as Senior Product Developer.In this role, you will be part of the department in charge of developing the Denodo Platform. You will join one of the teams that develop and maintain some of the Denodo Platform modules and its associated tooling and extensions, with the possibility of moving to another team in the future based on your interests and skills, and even being able to become a team leader. As part of the product development, you could work in many different areas, such as connectors to integrate sources, execution engine, query optimization, cache engine, monitoring and resource management, management of the environments where the servers and tools of the platform are installed, automatic deployments (including cloud environments), task scheduling and parallel execution, self-service data discovery, client tools, etc.The technologies and external tools with which you will work or interact are also very diverse. For example, different types of databases (relational, multidimensional, parallel, document-oriented, etc.), Big Data sources, SaaS sources, Web Services, message queues, technologies related to authentication and authorization (Identity Providers, SAML, OAuth, Kerberos, Vaults, etc.), cloud technologies (AWS, Azure, Google Cloud), container technologies (Docker, Kubernetes), web technologies (both backend and frontend), indexing and search engines (Lucene, Elasticsearch), business intelligence tools, workflow management tools, version control systems, and many others.Duties & Responsibilities Initially, you will receive training on the Denodo Platform at the user level to understand the product that Denodo develops. You will also receive training on the development process used in Denodo and the tools involved in it (Redmine, Git, Jenkins, Sonar, automated test frameworks, etc.). After the initial training, you will join a team in charge of developing and maintaining one of the modules of the Denodo Platform and its ecosystem. You will receive training specific to the development of that module. Your main task will be the development of new features and the maintenance of existing ones. An important part of our development process is the design and implementation of automated tests. Creation and maintenance of the product documentation. Desired Skills & ExperienceWe need people meeting the following requirements: BS or higher degree in Computer Science. At least 5years of experience in Software Development. Experience leading technical teams; or strong experience indesigning and developing complex features affecting the architecture of software products. Programming experience with Java SE and Java/Jakarta EE. Knowledge of Design Patterns. Knowledge and experience in development Lifecycle and Version Control (pref. Maven and git). Knowledge of SQL and relational database design. Good written communication skills in English