
Software Engineer II – Embedded Linux/Python
Legrand Group
Job description
At a Glance
At a Glance:
Legrand has an exciting opportunity for a Software Engineer II – Embedded Linux/Python to join the Audio Video Division in Minnetonka, MN.
This role is responsible for the design, development, validation, and support of embedded software solutions across the Legrand IAV Connected Platforms and Ecosystems portfolio, including Vaddio, Middle Atlantic Products (MAP), C2G, On-Q, and Luxul. The Software Engineer develops Python-based applications, services, diagnostic tools, and hardware integrations for Linux-based audiovisual and unified communications products. In collaboration with software, FPGA, electrical, mechanical, quality, and product management teams, this role delivers reliable, secure, maintainable, and manufacturable software solutions through the application of sound software engineering principles, automated testing, and modern development practices throughout the product lifecycle.
What Will You Do?
• Design, develop, validate, and support embedded software solutions for Linux-based audiovisual and unified communications products across the Legrand IAV Connected Platforms and Ecosystems portfolio, including Vaddio, Middle Atlantic Products (MAP), C2G, On-Q, and Luxul.
• Develop Python-based applications, services, diagnostic tools, automation scripts, and hardware integrations that support product functionality, manufacturing, testing, field diagnostics, and ongoing product support.
• Translate product requirements and technical specifications into reliable, secure, maintainable, and scalable software designs; implement, debug, and optimize software components for embedded Linux environments.
• Create and execute unit, integration, automated, and regression tests; investigate and resolve complex software defects and system-level issues using disciplined debugging, root cause analysis, and corrective action practices.
• Collaborate with software, FPGA, electrical, mechanical, quality, manufacturing, technical support, and product management teams to deliver integrated, manufacturable, and supportable product solutions.
• Support product lifecycle activities, including new product development, sustaining engineering, manufacturing readiness, field issue resolution, security updates, documentation, continuous improvement, and release traceability while following established development processes, coding standards, version control practices, and release procedures.
• Understand workplace hazards and take steps to proactively prevent and report hazards or injuries in the workplace. Cooperate in safety programs, initiatives, and investigations.
• Demonstrate our core values of Customers, People, Integrity, Teamwork, Continuous Learning & Improvement, and Empowerment & Accountability.
Required Skills:
• Bachelor’s degree in Computer Science, Computer Engineering, or related field, and 2+ years of experience in embedded software design and development, or equivalent combination of education and experience.
• Proficient Python programming skills.
• Experience developing software on Linux-based systems.
• Understanding of object-oriented programming and software design principles.
• Experience debugging complex software issues in embedded environments.
• Familiarity with version control systems, preferably Git.
• Experience working with network protocols such as TCP/IP, HTTP, SSH, MQTT, WebSocket, or similar.
• Working knowledge of software testing methodologies and automated test frameworks.
• Ability to analyze requirements and deliver quality software solutions within deadlines with limited direction.
• Ability to effectively use AI-assisted development tools to improve productivity, software quality, problem solving, testing, and documentation while applying sound engineering judgment and validation practices.
• Clear written and verbal communication skills.
Preferred Skills:
• Experience with embedded Linux distributions (Yocto, Buildroot, Ubuntu Embedded, etc.).
• Experience with Docker or containerized deployments. • Knowledge of C/C++ for debugging or integration activities.
• Experience with audio/video technologies, AV-over-IP, conferencing, or unified communications products.
• Familiarity with serial communications, USB, GPIO, I2C, SPI, or other hardware interfaces.
• Experience with cloud-connected IoT or edge devices. Working Conditions/Physical Demands:
• This is a hybrid role requiring three days onsite per week, with additional onsite presence as needed based on business needs.
• While performing the duties of this job, the employee is regularly required (for the majority of the working day) to sit and make coordinated movements of the fingers for data entry on a keyboard.
• Ability to lift up to 40 pounds. • General office environment.