Embedded Software Engineer
4 days ago
Barcelona
At Quside, we design and manufacture innovative quantum technology for all connected devices. Using our proprietary quantum random number generator, we provide the security and performance that is required to build the next generation of encryption technologies. A new class of products and infrastructure with unprecedented future-proven security guarantees. Our mission is to make sure that secure communications keep being a commodity in the years to come. We’re seeking a motivated Embedded Software Engineer to join our team and help ensure successful project delivery while contributing to the continuous improvement of our products. About the role: As an Embedded Software Engineer, you will be responsible for developing the control and management systems of the Quantum Random Number Generator (QRNG) in critical environments such as the aerospace sector. You will also work on the development of products focused on hardware monitoring and control, the implementation of complex algorithms, and the integration of various communication and control interfaces What you will do: • Develop embedded software for various types of microprocessors., • Develop embedded software for different embedded operating systems., • Design and implement embedded systems with a focus on aerospace applications., • Develop low-level drivers to control a variety of microprocessor interfaces., • Collaborate closely with firmware, hardware, systems, and QA teams to ensure seamless integration and validation of embedded solutions., • Optimize embedded software for performance, memory usage, and power consumption., • Participate in the definition and documentation of system and software architecture., • Write and maintain technical documentation, including design specifications, user manuals, and test procedures., • Investigate and debug complex issues at both software and hardware levels., • Ensure compliance with industry standards and safety-critical development practices (e.g., MISRA C, ECSS, DO-178C)., • Contribute to continuous improvement initiatives by proposing enhancements in tools, processes, or architecture., • Follow development methodologies that ensure continuous integration and verification at each stage of the software lifecycle., • Work in alignment with the team's planning using tools such as Azure DevOps (or similar)., • Perform testing and verification of embedded software to ensure functionality and reliability., • Act in compliance with, and promote awareness of, the company's Quality Management System., • Plan and organize tasks in accordance with the established project timeline., • Maintain, manage, and organize software repositories and version control systems., • Identify and raise potential risks and opportunities in the development process, and contribute to the definition of mitigation strategies for company-wide improvements., • Actively participate in project meetings such as AHM (All Hands Meetings), QRM (Quality Review Meetings), and other internal coordination activities. What you need: Work experience: At least 3 years’ experience in a similar position. Education: • University Degree on Computer Science Engineering, Telecommunications Engineering or similar., • Master’s Degree on Computer Science Engineering or Telecommunications Engineering (non-excluding) Languages: • English B2+, • Spanish Advanced Technical skills: • Microsoft Office Intermediate Level, • Proficiency in C/C++ for embedded systems, • Experience with RTOS (e.g., FreeRTOS, Zephyr, VxWorks, etc.), • Familiarity with embedded Linux (Yocto, Buildroot, PetaLinux), • Knowledge of ARM Cortex-M/A, RISC-V, or similar microprocessor architectures, • Development of device drivers and low-level peripherals (SPI, I2C, UART, GPIO, PWM, ADC, etc.), • Use of debugging tools (JTAG, oscilloscopes, logic analyzers, GDB, etc.), • Experience with version control systems (e.g., Git), • Experience with CI/CD tools and pipelines (e.g., GitLab CI, Azure DevOps), • Familiarity with communication protocols (e.g., CAN, Modbus, Ethernet, USB), • Knowledge of software development standards (e.g., MISRA C, ECSS-Q-ST-80), • Writing and executing unit tests, integration tests, and system validation, • Experience with software architecture design and documentation, • Familiarity with software lifecycle tools (e.g., Jira, Azure Boards), • Experience with static code analysis tools (e.g., CodeSonar) Soft skills: • Strong problem-solving and analytical thinking, • Ability to work independently and as part of a multidisciplinary team, • Excellent communication skills, both verbal and written, • Strong sense of ownership and accountability, • High attention to detail and commitment to quality, • Ability to prioritize tasks and work under pressure in critical environments, • Willingness to learn continuously and adapt to new technologies, • Proactive and capable of identifying risks and proposing solutions, • Positive attitude and collaborative mindset, • Effective time management and organizational skills What we offer: • Comprehensive private health insurance, • Cobee (flexible retribution for restaurants, transportation, etc.), • Flexible leave policy., • Flexible working hours., • Cool perks such as fresh fruit, coffee and snacks every day, team building activities every quarter, etc., • Learning and development opportunities., • Enhanced sick leave., • Wellbeing program. At Quside we are committed to creating equality of opportunity for all employees and applicants alike. We welcome diverse perspectives and aim to attract diverse talent to nurture our workplace culture. We will help you bring out your best self in a top talented team and support you to see your career grow with us.