Hello talented techie!
To solve the biggest challenges of our time, we need bright minds with the ambition to make the impossible possible. Siemens is your place to thrive, challenge the status quo, make a difference, and grow in a team of innovators who share your passion for tech. Are you in?
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.
You'll create impact by:
·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.
You'd describe yourself as:
·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.
Ready to unlock the full potential of technology? Join us!
We value your unique identity and perspective and are fully committed to providing equitable opportunities and building a workplace that reflects the diversity of society. Come bring your authentic self and create a better tomorrow with us.
Protecting the environment, conserving our natural resources, fostering the health and performance of our people as well as safeguarding their working conditions are core to our social and business commitment at Siemens.