Software Engineering
Bengaluru,karnataka, India
Posted 2 years ago

Siemens

Siemens AG is a German multinational technology conglomerate. Its operations encompass automation and digitalization in the process and manufacturing industries, intelligent infrastructure for buildings.

Job Title:

Software Engineer

Last Date To Apply:

Not Specified
(Apply Link at the end)
ASAP, will end as soon as a certain number is reached

Experience Level:

Not Specified

Job Location:

Bangalore, Karnataka, India

Salary:

Not Specified

Eligible Batches:

Not Specified

Requirements:

  • Bachelor’s or master’s degree in electrical engineering, or a related field.
  • 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.

Job Description:

  • 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.

Apply Online