Job Overview
Role: Software Engineer Location: Pune, Maharashtra Experience: 2+ Years Qualification: B.E/B.Tech Key Skills: C++, Communication Protocols (Fieldbus, Wi-Fi, Zigbee, Bluetooth, MQTT), Software Design (HLD, LLD), Static Code Analysis, Code Reviews, Unit Testing, Engineering Testing, Agile Scrum, Debugging, Visual Studio, Git, Google Test
Job Description
As a Software Engineer at Danfoss Drives, you will contribute to the development of software for Variable Frequency Drive products. A major responsibility will be developing Communication Protocol Driver software using C++, enabling drive products to communicate with other devices and systems. The role covers the complete development lifecycle, including requirements analysis, high-level and low-level design, coding, static analysis, code reviews, unit testing, engineering testing, debugging, and verification within an Agile Scrum environment.
Roles and Responsibilities
- Requirements Elaboration: Work with Product Owners and Technical Product Owners to understand and elaborate software requirements.
- Driver Development: Develop communication protocol drivers for Danfoss Variable Frequency Drive products.
- Connectivity Software: Develop connectivity software using C++.
- Protocol Support: Work with Fieldbus communication protocols.
- Technology Support: Develop software supporting connectivity technologies such as Wi-Fi, Zigbee, Bluetooth, and MQTT.
- Design Documentation: Prepare High-Level Design (HLD) and Low-Level Design (LLD) documents.
- Software Design: Create detailed software designs before implementation.
- Implementation: Implement software using C++.
- Code Quality: Perform static code analysis and investigate and fix errors and warnings identified by analysis tools.
- Code Review: Participate in code reviews.
- Unit Testing: Write unit test cases and develop and execute unit test scripts.
- Engineering Testing: Prepare and execute engineering test cases.
- Debugging: Debug software and resolve defects.
- Agile Environment: Work within an Agile Scrum development environment.
- Collaboration: Collaborate with other engineers and product stakeholders throughout development.
Skills and Eligibility Criteria
Educational Background: B.E/B.Tech qualification.
Experience: Minimum 2+ years of experience in software development.
Mandatory Technical Skills:
- Strong hands-on experience with C++
- Experience developing production software and solving practical engineering problems
- Strong debugging and troubleshooting skills
- Experience with unit testing and engineering test cases
- Experience with Visual Studio, Google Test, and Git
- Knowledge of communication protocols (highly relevant)
- Exposure to Wi-Fi, Zigbee, Bluetooth, MQTT, or similar technologies (beneficial)
- Ability to work with HLD, LLD, and detailed software design
- Familiarity with static code analysis and code reviews
Competencies:
- Experience working with Agile Scrum teams
- Strong written and verbal communication skills
- Ability to collaborate effectively with cross-functional teams