C++ Software Developer
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.