- Design and Development : Develop, test, and maintain Windows desktop applications using C++ and Python.
- Architecture and Problem Solving : Contribute to the design and architecture of new and existing software applications.
Code Quality :
- Write clean, maintainable, and efficient code. Adhere to best practices and development standards.
Testing and Debugging :
- Ensure applications are thoroughly tested and debugged for optimal performance and reliability.
Collaboration :
- Work closely with cross-functional teams including product managers, designers, and QA engineers to deliver high-quality software solutions.
Continuous Improvement :
- Proactively identify areas for improvement and contribute to the ongoing evolution of our development processes and tools.
Documentation :
- Document application designs, APIs, and processes to ensure clear communication within the team and across departments.
Major Responsibilities
- Strong problem-solving and debugging skills
- Experience with version control systems (like Git)
- Familiarity with build systems (e.g., CMake)
- Ability to work effectively in a team environment
Knowledge and Education
- Bachelors Degree in Computer Science / Electronics from a reputed university
Work Experience
- Minimum 10 years of experience in the development of Windows applications following SDLC
- Proven experience in applying design patterns.
- Minimum 3 years of experience working in agile sprint methodology.
- Experience in handling stakeholders of different regions.
- Preferable experience in the automotive domain.
- Preferable familiarity with the development of embedded projects
Skills and Competencies
Technical Skills :
- Proficiency in C++ with fair knowledge of C++ advanced concepts
- Strong analytical and problem-solving skills,
- Development experience on any of POSIX OS such as Linux or QNX,
- Strong, agile development experience
- Good verbal and written communication skills
Supported Skills
- Knowledge of the latest C++11 / C++14 standards,
- Familiarity with embedded systems design low-level hardware interactions,
- Experience with communication buses and protocols such as CAN ,Ethernet TCP / IP SOME / IP MQTT REST etc,
- Knowledge of distributed software development using technologies such as ROS and DDS Experience with test automation techniques
- Experience with version management tools such Git / Gitlab / Github,Experience with DevOps and CI / CD environment for embedded systems
- Experience with Python for building scripts or applications.
- Strong knowledge of object-oriented design principles and design patterns.
- Familiarity with version control systems such as Bitbucket / PTC / Github.
- Familiarity with Matlab development is an added advantage.
Development Tools : Experience with integrated development environments (IDEs) such as Visual Studio and PyCharm.
Debugging Performance Tuning : Experience in debugging, profiling, and optimizing application performance
Skills Required
C++, Linux, Debugging, Visual Studio, Windows, Python, Sdlc