Point your AI agent at freehire and let it find you a job.

Get the CLI →

BMW Techworks India

NewBe an early applicant

C++ Software Developer

Posted Updated
Discussion

Summary

BMW TechWorks India is hiring a C++ Software Developer in Pune (hybrid) to develop, debug, test, and maintain applications using Modern C++ (C++11–C++23), OOP, STL, and multithreading, with embedded systems work on microcontrollers and protocols like I2C/SPI on Linux. Networking basics (OSI/TCP-IP) and optional Python round out the role.

Job Title: C++ Software Developer

Company: BMW TechWorks India

Experience: 5 to 8 Years.

Location: Pune (Hybrid)

Job Summary


BMW TechWorks India is seeking a motivated and detail-oriented C++ Software Developer to join our engineering team. The ideal candidate should possess a strong foundation in Object-Oriented Programming, Modern C++, Embedded Systems fundamentals, and Operating System concepts.


Key Responsibilities

  • Develop and maintain applications using Modern C++ while following industry-standard coding practices.
  • Apply Object-Oriented Programming principles including Abstraction, Encapsulation, Polymorphism, and Inheritance.
  • Work extensively with Modern C++ (C++11/C++14/C++17), including Smart Pointers, Lambda Expressions, STL, Multithreading, auto, constexpr, and Templates.
  • Demonstrate knowledge of Data Structures, Copy Constructors, Function Overloading, Inline Functions, Pointers, Vectors, and STL containers.
  • Work with microcontroller-based systems and communication protocols such as I2C and SPI.
  • Understand embedded system fundamentals and microcontroller architecture.
  • Participate in software design, development, debugging, testing, validation, and defect resolution.
  • Demonstrate basic knowledge of networking concepts, including the OSI Model and TCP/IP.

Required Skills & Qualifications

  • Strong hands-on experience or Knowledge in Modern C++ development.
  • Good debugging and problem-solving skills.
  • Good understanding of Embedded Systems.
  • Good knowledge of Linux Operating System.
  • Strong understanding of Object-Oriented Programming.
  • Experience with C++11/C++14/C++17/C++20,23 etc.
  • Basic knowledge of embedded communication protocols.
  • Python knowledge is an added advantage.
  • Understanding of software testing methodologies.
  • Familiarity with networking fundamentals (OSI/TCP-IP).

Behavioural Competencies

  • Strong teamwork and collaboration skills.
  • Ability to clearly explain your experience, projects, and technical decisions.
  • High accountability and ownership.
  • Self-organized with a proactive approach to problem-solving.
  • Good communication skills and a positive attitude.

Skills

Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.