At Danfoss Power Electronics & Drives, we are excited to invite a talented Senior Software Engineer to join our forward-thinking Product Development team.
Responsibilities
Work with the Product Owners/Technical Product Owners to create and elaborate the requirements for the implementation of the Communication Protocol drivers for the Danfoss Variable Frequency Drive product.
Build the Fieldbus Communication Protocol Driver software and other Connectivity Protocol software (Wi-Fi, Zigbee, Bluetooth, MQTT) for the Danfoss Variable Frequency Drive product, using C++ programming language.
Prepare the high-level design (HLD), low-level design (LLD), detailed design (DD) for the Communication Protocol Driver software.
Perform static code analysis (using tools) and fix the identified errors and warnings.
Perform code reviews.
Write the Unit Test cases, Engineering Test Cases and develop, execute the Unit Test scripts.
Continuous improvement of the processes, work procedures and tools used in the execution of the work, through innovative/creative thoughts.
Fix the identified defects to improve the quality of the deliverables.
Follow the processes, work procedures, quality standards for achieving high quality of the deliverables.
Ensure that the software delivered is compliant with the external certification standards.
Collaborate with the Test Engineers in the same project activity, engineers from the other teams/departments (local/abroad) for the successful completion of the project activities.
Collaborate with the stakeholders (local/abroad) for the successful completion of the project activities.
Contribute to the technology roadmap and innovation to improve the processes and products.
Mentor and coach the other engineers and trainees in the team on the technical aspects.
Requirements
5-10 years of experience in software development using C++ programming language.
Experience in preparing software architecture, design for the development of software products.
Ability to create and/or read and interpret, the architecture and design diagrams.
Experience in Software Development using Agile Scrum methodology.
Excellent debugging skills.
Excellent analytical skills and ability to apply the knowledge to solve practical problems.
Excellent problem-solving skills.
Ability to mentor and coach the others on the technical aspects.
Experience in the tools - Visual Studio, Google Test, Git.
Good communication skill - Ability to express technical concepts and procedures clearly, precisely, and in easy-to-understand information, verbally and in writing to achieve successful outcome for the assigned responsibility.
Nice-to-haves
Experience in communication protocol software development - PROFINET, EtherNET/IP, EtherCAT, BACnet/IP, MODBUS TCP, POWERLINK, PROFIBUS DP, DeviceNet, CANopen, BACnet MS/TP, Modbus RTU, Metasys N2, LonWorks, AK-LonWorks, ASi Bus, Interbus, PROFISAFE, OPC DA, OPC UA, IEC101, IEC103, IEC104, IEC61850, DNP3.
Experience in using the Lauterbach debuggers.
Experience in using the protocol testing/analyzer tools for testing protocols (Wireshark, Modscan, Modbus Conformance Tool, Profibus Analyzer).
Experience in developing embedded software for various micro controllers.
Experience in various Real Time Operating Systems (RTOS).