Software Engineer II – Embedded Linux/Python
At a glance
Mid-level Embedded & Firmware role at Iadugs. Minnetonka · full-time · $90,000–$95,000 base.
techroles summary, based on the employer's posting.
What you'll do
- Build Python applications, services and diagnostic tools for Linux-based audiovisual and unified communications products
- Create automation scripts and hardware integrations for product features, manufacturing, testing and field support
- Turn product requirements into embedded software, then implement, debug and optimize it for reliability and security
- Write and run automated tests, trace root causes and fix complex software defects and system issues
- Work with engineering and product teams through development, manufacturing readiness, field fixes and software releases
What you bring
- A computer science, computer engineering or related degree, plus at least two years in embedded software development, or equivalent preparation
- Strong Python skills and experience building software on Linux systems
- Experience debugging embedded software and applying object-oriented design principles
- Working knowledge of software testing and automated test frameworks, plus experience with network protocols
- Ability to deliver software with limited direction and use AI development tools with sound validation and engineering judgment
Who this fits
This mid-level role suits an engineer who can develop and debug embedded Linux software and work across hardware and software teams. You’ll work onsite three days each week, with further onsite time as business needs require. The role also involves sitting and keyboard work for most of the day and lifting up to forty pounds.
From the employer
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.
Salary Range: The expected salary range for this position is $90,000 - $95,000 annually.