Robotics Software Engineer
If you are passionate about technology and want to take on new challenges to help improve the society we live in, this is your opportunity!
ARQUIMEA, we are a technology company operating globally and providing innovate solutions and products in highly demanding sectors.
Our areas of activity are Aerospace, Defense & Security, Big Science, Biotechnology and Fintech.
Main function and scope:
We are looking for Robotics Software Engineer with strong hands-on experience in software development for robotic systems, complex mechatronic platforms or cyber-physical systems. The successful candidate will join the Robotics Platform Team, working in multidisciplinary R&D and product-oriented projects involving highly dynamic robotic platforms, advanced actuation technologies, simulation, control, sensing and software tooling operating in technically demanding environments.
This role is focused on developing, integrating, testing and maintaining the software ecosystem foundations that allow robotic platforms to be designed, simulated, built, controlled, validated and used effectively. The candidate will work across platform software, system integration, simulation, high-level control, testing, developer tooling and user-facing software interfaces, contributing both to internal R&D platforms and to the software ecosystem used by internal teams, partners and customers.
The Robotics Platform Team acts as an internal user and validation partner for ARQUIMEA's actuator, motor, embedded software and control technologies. The role therefore involves a tight feedback loop between real robotic platform development and the evolution of the underlying actuation ecosystem, with the goal of making these technologies robust, usable and valuable for roboticists working on real systems.
The candidate is not expected to be a deep expert in every robotics area. We are looking for a broad robotics software profile with strong engineering fundamentals, practical systems intuition and one or more stronger technical axes, such as platform software, high-level control, simulation, testing, perception integration, tooling or release-oriented software development.
Depending on project needs, the role may involve work on high-level robot control or behaviour generation, including classical control, model-based control, MPC, reinforcement learning, locomotion or manipulation, as well as integration of perception, localization, mapping, navigation, sensing or autonomy capabilities developed by specialized research teams.
Core Functions:
Develop and maintain software for robotic platforms, including control interfaces, platform bring-up, hardware abstraction, system integration, testing tools and validation workflows.
Contribute to reusable software components for highly dynamic robotic systems and physical human-robot interaction applications.
Support the development, integration and validation of high-level robot control or behaviour-generation modules, including locomotion, manipulation, model-based control, MPC, reinforcement learning or classical control approaches when relevant.
Integrate robotic subsystems across actuators, embedded devices, sensors, communications, simulation tools, control software and higher-level applications.
Work with real and virtual robotic systems, using simulation and digital-twin-based workflows to accelerate development, debugging, testing and validation.
Contribute to platform-level testing, experimental validation, data logging, diagnostics, troubleshooting and performance evaluation on real hardware.
Develop and maintain ROS 2 packages, launch files, configuration files, interfaces and integration layers where applicable.
Support software interfaces, APIs, examples, tutorials and tools that make the robotics ecosystem easier to use by internal teams, research collaborators, partners and customers.
Collaborate with perception, localization, mapping, navigation or autonomy teams when bringing research outputs into robotic platform software stacks.
Apply strong software engineering practices, including clean Git workflows, code reviews, modular design, automated testing, documentation and reproducible development environments.
Support CI/CD workflows, automated validation, packaging, release preparation and maintenance of software tools and interfaces.
Identify integration risks, diagnose complex system-level failures and propose practical corrective actions across software, electronics, control, mechanical and testing domains.
Provide feedback to actuator, motor, embedded software and control teams based on real platform usage, customer-facing needs and robotic system constraints.
Collaborate in multidisciplinary technical planning with software, control, electronics, mechanical, systems, testing and product teams.
Candidate requirements:
Degree in Computer Science, Software Engineering, Robotics, Telecommunications Engineering, Computer Engineering, Industrial Engineering or similar.
Hands-on experience developing software for robotic systems, mechatronic platforms, embedded systems, automation systems or other complex cyber-physical systems.
Solid programming skills in C++ and Python, with the ability to write maintainable, testable and production-quality software.
Experience with ROS/ROS 2 or similar robotic middleware frameworks.
Strong day-to-day experience with Git-based development workflows, including branching, pull requests, code reviews, issue tracking and traceable changes.
Broad understanding of robotic systems across actuation, control, sensing, simulation and software integration, with practical depth in at least one relevant technical area.
Ability to work close to robot control or behaviour-generation problems, translating platform needs into usable software interfaces, tests and validation workflows.
Strong understanding of software engineering principles, modular design, interfaces, testing, documentation and maintainability.
Experience integrating software with real hardware, including debugging communication, timing, configuration, deployment or system-level issues.
Experience working in Linux-based development environments and with common robotics development tools.
Practical experience with automated testing, CI/CD workflows, software packaging or release-oriented development practices.
Ability to work with evolving requirements, incomplete information and high levels of technical uncertainty while keeping software usable and maintainable.
Ability to collaborate effectively across software, control, electronics, mechanical, systems and testing disciplines.
Fluent English, both written and spoken.
Willingness to relocate to the Canary Islands or Madrid (Torrejón).
Eagerness to learn new technologies and contribute beyond a narrowly defined role.
Any relevant experience related to the following is a plus:
Experience with high-level robot control, behaviour generation or planning, such as classical control, MPC, reinforcement learning, whole-body control, locomotion or manipulation.
Experience with legged robots, walking platforms, humanoid robots, exoskeletons or other highly dynamic robotic systems.
Experience with robotics applications involving physical human-robot interaction, force control, impedance control or safe interaction with humans.
Knowledge of localization, mapping, SLAM, visual-inertial odometry, navigation, perception or sensor fusion in robotic systems.
Experience integrating cameras, RGB-D sensors, event cameras, IMUs or other sensing systems into robotic platforms.
Experience with ros2_control, robotic hardware interfaces, actuator control, telemetry, diagnostics or low-level communication protocols.
Familiarity with simulation, digital twins, model-based development, sim-to-real validation or robotic system identification.
Experience with real-time or near-real-time software constraints.
Familiarity with Pixi or Docker, containerised deployments, reproducible development environments or DevOps practices.
Experience creating technical documentation, tutorials, examples, notebooks or developer-facing tools for robotics users.
Background in applied research, early-stage product development, industrial robotics, aerospace, defence or other technically demanding environments.
This position can be based either at Avenida Premios Nobel 51, Torrejón de Ardoz (Madrid), or at the Nanotec Building, San Cristóbal de La Laguna (Tenerife).
We're looking for curious, creative, tenacious and collaborative people, eager to do things and unafraid to tackle challenges in order to contribute to improving the society in wich we live.
Think Big, Do the Job & Enjoy Life
At ARQUIMEA, we value diversity and inclusion. We do not discriminate on the basis of race, color, religion, gender, sexual orientation, gender identity, national origin, age, disability, or other protected factors by law. All candidates will be considered equally based on their skills and experience
- Departamento
- Ingeniería
- Ubicaciones
- Madrid - Premios Nobel (Torrejón de Ardoz), Tenerife - Nanotec
- Estado remoto
- Híbrido
- Tipo de empleo
- Tiempo completo
Acerca de ARQUIMEA
Somos una empresa tecnológica que opera a nivel global. Si te apasiona la tecnología y crees en su capacidad para transformar el mundo, ARQUIMEA es tu sitio. ¡Únete!