Siemens Jobs

Siemens corporate career site

Job Information

Siemens Software Engineer in Bangalore, India

Job Family: Research & Development

Req ID: 382194

Software Engineer

We are looking for a skilled Software Engineer with a background in embedded systems to join.the Integrated Circuits and Electronics team in Bangalore. You will be responsible for developing, automating, and testing software solutions for embedded systems across a range of projects. You will also collaborate with multi-functional teams to deliver efficient, robust, and modern software. that meets project requirements. This role requires expertise in software development, embedded systems, and CI/CD.

This is your role. What part will you play?

  • Design, develop, and debug software for embedded systems, including device drivers, firmware, and real-time applications.

  • Write high-quality code in programming languages such as C++, and optionally C

  • Optimize software performance and memory usage to meet exacting resource constraints of embedded systems.

  • Build automation scripts using scripting languages such as python.

  • Write unit tests, module tests, and integration tests and boost coverage.

  • Collaborate with electronics engineers and product managers, to ensure successful integration of software components into the overall system.

  • Participate in code reviews to maintain code quality, identify potential issues, and provide constructive feedback to team members.

  • Participate in end-to-end product design and development meetings. Collaborate with electronics, mechanical, software, and project management teams for optimum design cycles.

We don’t need superheroes, just super minds.

  • Bachelor’s or master’s degree in electrical engineering, or a related field.

  • Minimum 3-years of experience in C/C++ programming.

  • Experience in cross-platform software development, preferable also targeting embedded systems.

  • Strong programming skills in at least C++17 and optionally C, with a good understanding of software design patterns.

  • Experience in platform-agnostic software development deployable to multiple architectures, like arm-noneeabi, and x86_64 targets like windows, Linux

  • Experience with a scripting language like python or bash.

  • Experience with build tools like Make, CMake.

  • Experience with version control tools like git

  • Experience with dev-ops, CI/CD through GitLab, Github, etc.

  • Experience with GNU coreutils and Linux.

  • Familiarity with testing framework like gtest.

  • Familiarity with real-time operating systems (RTOS).

  • Familiarity with hardware-software interactions, device drivers, and communication protocols (e.g., UART, SPI, I2C).

  • Familiarity with full-stack development, including modern web, smartphone and cloud technologies.

DirectEmployers