Are you a passionate tech enthusiast eager to push the boundaries of innovation? Join Siemens and work with a team that thrives on solving the world's most complex challenges. We are looking for a talented Software Engineer to join our Integrated Circuits and Electronics team in Bangalore, where you will help design, develop, and test software for embedded systems across cutting-edge projects.
In this role, you’ll work on developing robust, efficient, and high-performing software solutions for embedded systems. You will have the opportunity to collaborate with cross-functional teams to create impactful software that meets the highest industry standards.
Key Responsibilities
- Design & Development. Develop and debug software for embedded systems, including device drivers, firmware, and real-time applications.
- Optimization. Optimize software performance and memory usage for embedded systems, working within exacting resource constraints.
- Automation & Scripting. Write automation scripts using Python to streamline processes and ensure software quality.
- Testing. Write comprehensive unit, module, and integration tests to ensure code quality and reliability. Boost test coverage.
- Collaboration. Work closely with electronics engineers, product managers, and multi-functional teams to integrate software components into the overall system.
- Code Reviews. Actively participate in code reviews to uphold code quality, identify issues, and provide constructive feedback to peers.
- Cross-functional Teamwork. Engage in product design and development meetings, collaborating with mechanical, software, electronics, and project management teams for optimized design cycles.
Your Profile
- Education. Bachelor’s or Master’s degree in Electrical Engineering, Computer Science, or a related field.
- Experience. Minimum of 3 years of experience in C/C++ programming for embedded systems.
Technical Skills
- Strong proficiency in C++17, with additional knowledge of C a plus.
- Experience in cross-platform software development, particularly targeting embedded systems (ARM, x86_64, Windows, Linux).
- Proficiency in Python or Bash scripting.
- Familiarity with Make, CMake, and version control tools like Git.
- Experience with CI/CD, particularly with tools like GitLab or GitHub.
- Familiarity with GNU coreutils and Linux.
- Understanding of real-time operating systems (RTOS).
- Experience with device drivers, hardware-software interactions, and communication protocols like UART, SPI, and I2C.
- Exposure to full-stack development, including web, smartphone, and cloud technologies.
- Familiarity with gtest and testing frameworks.
Why Siemens?
At Siemens, we are committed to creating a work environment that values diversity and fosters growth. We encourage you to bring your authentic self to work, offering equitable opportunities for every individual. With our focus on sustainability and improving people’s lives, we prioritize environmental conservation, employee health, and well-being.