.Senior Embedded Software Developer (M/F/D) LisboaJob Description:Create a better #Tomorrow with Us at Siemens. We believe that technology with purpose has the potential to solve the greatest challenges of our time. With over 300 thousand of the world's most brilliant minds and the power of a presence in more than 190 countries, we make a truly global impact. At the Portugal Tech Hub, we drive change in our businesses and services, from Portugal to the world, in areas such as Cybersecurity, Software Development and Testing, Big Data, Artificial Intelligence, Cloud, and many more. Join us!About Siemens Technology DepartmentSiemens Technology is the central research unit at Siemens, supporting Siemens' business units with R&D services and collaborating with top universities worldwide. Your mission will be:Drive (pre-)development in the area of advanced field devices.Design and implement software for embedded systems, especially for factory automation.Optimize performance and enhance stability of system resources.Design software architectures in compliance with common design patterns and develop new concepts.Drive the entire development process from concept to delivery, autonomously or in a team.Evaluate and integrate third-party software components (open-source, commercial).Engage in requirement engineering, evaluate feasibility and derive specifications.Collaborate with international groups to work closely with our internal customers and other developers.Guide junior developers by sharing best practices.Plan, commission, test, and debug IoT devices in laboratory or productive environments.Drive high quality and technical excellence of our deliveries.Learn continuously and share with others.We are looking for someone with:A master's degree and/or PhD in computer science, electrical engineering, mathematics, physics, or engineering sciences.At least 5+ years of experience in professional software development.Experience in real-time operating systems (freeRTOS, Zephyr) on microprocessors (Arm Cortex, RISC-V, ESP).Excellent knowledge of coding techniques, low-level interfaces (SPI, I2C, UART, RS-232, RS-485), protocols, and hardware peripherals.Familiarity with compilers (GCC), build systems (Make, CMake), and version control systems (GIT, SVN).Strong communication skills and readiness to work in a team as well as autonomously.Excellent knowledge of system programming languages such as C, C++, or Rust.Knowledge in a high-level programming language is beneficial (Python, Golang, JavaScript).Familiarity with agile software development methodologies and continuous integration and deployment.Ability to read and understand electronic and mechanical schematics.Very good English skills.What you can expect from us:A hybrid and flexible working model to promote a better work-life balance, along with a budget for home office support and the opportunity to do 16 hours a year of volunteer work