> Markdown version of [/jobs/ext/4597912-embedded-software-engineer](https://www.wearedevelopers.com/jobs/ext/4597912-embedded-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Embedded / Software Engineer - **Company:** Merlin Digital Partner - **Location:** Barcelona, Spain - **Contract:** Permanent contract - **Skills:** Application Programming Interfaces (APIs), Artificial Intelligence, Bash Shell, C++ (Programming Language), Cloud Computing, Code Review, Communications Protocols, Database Applications, Software Debugging, Linux, Distributed Systems, Django Web Framework, Embedded Software, Firmware, Hardware Design, Monitoring of Systems, Hypertext Transfer Protocols (HTTP), Python (Programming Language), PostgreSQL, Message Queuing Telemetry Transport (MQTT), Software Maintenance, Qt (Software), RabbitMQ, Software Tools, Cloud Services, AI-enabled Products, Software Construction, Software Engineering, SQL Databases, TCP/IP, Universal Asynchronous Receiver/Transmitter, Serial Peripheral Interface, Delivery Pipeline, Firebase, Backend, Git, Fastapi, Linux Development, Yocto, Sentry, Apache Kafka, Celery, Restful APIs, Docker - **Published:** November 6, 2026 - **Apply:** https://www.adzuna.es/details/5954980468 ## About the Role * 5+ years of professional software engineering experience, with solid experience in embedded systems. A very senior technical level and hands-on profile will be highly valued. * Strong experience developing embedded software in C/C++. * Solid experience with Linux-based embedded systems, Linux development environments and Bash scripting. * Strong development skills in Python, including backend development and REST APIs. * Experience with cloud platforms such as GCP, Hetzner or similar. * Knowledge of communication protocols such as BLE, UART, SPI, I2C, MQTT, TCP/IP and HTTP/REST. * Familiarity with Qt5 and with Yocto or similar embedded Linux build systems. * Hands-on experience with Docker, containers, Git and CI/CD pipelines. * Experience with modern Python backend frameworks such as FastAPI, Django or similar, and with SQL / PostgreSQL. * Strong understanding of software engineering best practices, including testing, code reviews and maintainable software design. * Excellent debugging, analytical and problem-solving skills, able to trace issues across hardware, software and integration layers. * Ownership, autonomy and the ability to work across different layers of the stack, from embedded to backend and cloud. * Professional English level. * Disponibilidad para acudir a oficinas 3 días a la semana. Nice to Have * Experience with Firebase. * Experience with monitoring, observability and background processing tools, such as Sentry, Celery or similar. * Previous experience working on IoT or connected-device products. * Experience with AI-enabled products or data-driven applications. * Experience designing APIs and distributed systems, including event-driven technologies such as MQTT, Kafka or RabbitMQ. * Previous experience in startups, scale-ups or fast-growing technology companies. * A product-oriented mindset and the ability to move comfortably between different engineering disciplines. ## Description As a Senior Embedded / Software Engineer, your mission will be to develop and evolve the embedded software and connected-device technologies at the core of the company's products, while contributing to the Python backend and cloud services that connect them. Your day-to-day will be approximately 60% embedded and 40% software. This is a versatile, hands-on role. You will move between firmware, Linux-based platforms, backend and cloud depending on what the product needs, and when something fails across devices, screens or services, you will be the person who finds where the problem comes from: software, hardware or the integration between both. You will be a senior technical reference for the team from the execution side: taking ownership of projects, solving complex problems, supporting more junior engineers and staying close to the code. You will work alongside the Head of Engineering, who leads the technical and architectural direction. This is not a Tech Lead or people management role. The Role: You will be responsible for: * Developing embedded software for connected devices using C/C++ on Linux-based platforms, ensuring reliability, performance and scalability. * Designing and implementing communication between hardware, embedded systems, cloud services and applications. * Building backend services, REST APIs and internal engineering tools, primarily using Python. * Contributing to cloud infrastructure, deployment pipelines and system monitoring. * Investigating and troubleshooting complex issues across firmware, software, connectivity, cloud and hardware integration, across the different platforms of the product. * Taking end-to-end ownership of projects and features, from design and implementation through deployment and production. * Driving continuous improvements in the software once the hardware is stable and robust. * Working closely with Product, Hardware, Backend, AI and Data teams to turn product ideas into scalable technical solutions. * Writing clean, maintainable and well-tested code following strong engineering practices. * Supporting and guiding more junior engineers through code reviews and knowledge sharing.