Job Overview
Role: Software Engineer Location: Pune Experience: 2+ Years Qualification: B.E/B.Tech Key Skills: C++, Communication Protocols (Fieldbus, Wi-Fi, Zigbee, Bluetooth, MQTT), Connectivity Software, Visual Studio, Google Test, Git, Agile Scrum, HLD/LLD, Static Code Analysis, Unit Testing, Debugging
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, allowing drive products to communicate with other devices, systems, and networks. You will work with Product Owners and Technical Product Owners to understand and refine requirements before translating them into software designs and implementation. The role covers the complete development lifecycle, including requirements analysis, high-level design, low-level design, coding, static analysis, code reviews, unit testing, engineering testing, debugging, and verification at Danfoss's Pune facility.
Roles and Responsibilities
- Requirements Elaboration: Work with Product Owners and Technical Product Owners to understand and elaborate software requirements.
- Protocol Driver Development: Develop communication protocol drivers for Danfoss Variable Frequency Drive products.
- Connectivity Software: Develop connectivity software using C++.
- Protocol & Technology Expertise: Work with Fieldbus communication protocols; develop software supporting connectivity technologies such as Wi-Fi, Zigbee, Bluetooth, and MQTT.
- Design Documentation: Prepare High-Level Design (HLD) documents; prepare Low-Level Design (LLD) documents; create detailed software designs before implementation.
- Implementation & Analysis: Implement software using C++; perform static code analysis; investigate and fix errors and warnings identified by analysis tools.
- Code Quality: Participate in code reviews.
- Testing: Write unit test cases; develop and execute unit test scripts; prepare and execute engineering test cases.
- Debugging: Debug software and resolve defects.
- Agile Development: 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:
- Programming: Strong hands-on experience with C++.
- Software Development: Experience developing production software and solving practical engineering problems.
- Debugging: Strong debugging and troubleshooting skills.
- Testing: Experience with unit testing and engineering test cases.
- Tools: Experience with Visual Studio, Google Test, and Git.
- Protocols: Knowledge of communication protocols is highly relevant.
- Connectivity: Exposure to Wi-Fi, Zigbee, Bluetooth, MQTT, or similar technologies is beneficial.
- Design: Ability to work with HLD, LLD, and detailed software design.
- Code Quality: Familiarity with static code analysis and code reviews.
- Methodology: Experience working with Agile Scrum teams.
Competencies:
- Communication: Strong written and verbal communication skills.
- Teamwork: Ability to collaborate effectively with cross-functional teams.