Software Engineer

Bengaluru, Karnataka, India
Jun 07, 2024
Jun 05, 2025
Onsite
Full-Time
3 Years
Job Description

As a Software Engineer specializing in embedded systems, you will be integral to our development process.

Responsibilities

  • Designing, developing, and debugging software for embedded systems, encompassing device drivers, firmware, and real-time applications.
  • Crafting high-quality code in languages such as C++ (and optionally C), optimizing performance and memory usage to meet stringent resource constraints.
  • Creating automation scripts using Python to streamline processes and enhance efficiency.
  • Implementing rigorous testing methodologies, including unit tests, module tests, and integration tests, to ensure robust software performance.
  • Collaborating closely with electronics engineers and product managers to seamlessly integrate software components into overall system designs.
  • Participating actively in code reviews to maintain high standards of quality and provide valuable feedback to team members.
  • Engaging in end-to-end product design and development meetings, fostering collaboration across disciplines for optimal design outcomes.

Requirements

  • A Bachelor's or Master's degree in Electrical Engineering or a related field.
  • Minimum 3 years of experience in C/C++ programming, with a strong foundation in software design patterns.
  • Experience in cross-platform software development targeting embedded systems, with proficiency in C++17 and optionally C.
  • Familiarity with scripting languages like Python or Bash, as well as build tools such as Make and CMake.
  • Proficiency with version control tools like Git and experience with DevOps practices, including CI/CD pipelines.
  • Knowledge of GNU coreutils and Linux, along with familiarity with testing frameworks like gtest.
  • Understanding of real-time operating systems (RTOS) and hardware-software interactions, including device drivers and communication protocols (e.g., UART, SPI, I2C).
  • Exposure to full-stack development, encompassing modern web, smartphone, and cloud technologies, is advantageous.

Join Our Team

At our company, we value collaboration, innovation, and continuous learning. Join us in shaping the future of embedded systems development and contribute to groundbreaking projects that make a difference. If you're ready to unleash your potential and be part of a team of super minds, apply today!

Application Instructions

To apply, please submit your resume and a cover letter detailing your relevant experience and why you are passionate about joining our team. We look forward to hearing from you!

Related Jobs