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.