Position Summary
The Firmware Engineer III designs, develops, and modifies firmware and similar embedded software, including encoding, testing, and debugging. Works with collaborative engineering teams to integrate technology into working solutions for Sensors, IR/RF remote controls, and HVAC controls/Thermostats using both analog and digital hardware.
Essential Duties and Responsibilities
The duties listed below are intended only as examples of the various types of work that may be performed. The omission of specific statements of duties does not exclude them from the position if the work is similar, related or a logical assignment to this class.
Primary responsibilities include:
- Conduct R&D on new high-tech devices/products – INNOVATE!
- Work as a member of the Agile cross-functional development team; release and iteration planning; development of user stories, unit test and feature implementation.
- Participate in dialog with other developers in discussing current and proposed architecture(s), defects, enhancements, and other issues.
- Collect input from stakeholders, build architecture requirements and specification and develop them into production quality code.
- Track software development issues and work with the team to determine resolutions for these problems.
- Share knowledge with more junior team members via a formal mentoring relationship, reviewing code, reviewing design docs, or giving technical talks.
- Architect, design, develop and validate embedded firmware on various micro controllers.
- Create Software Design Specifications from the requirement specification.
- Identification and implementation of engineering projects to reduce costs, improve production yields /efficiencies, while ensuring world-class quality.
- Support ongoing production, partner with multiple departments within the company to help develop new processes and help transfer products and processes to other locations.
- Collaborate with cross-functional teams to resolve product issues in different phases.
- Ability to multitask and handle multiple projects at various phases.
- Perform other duties and responsibilities as assigned.
Supervisory Responsibilities – List Teams/Groups
- None
Qualifications - Knowledge & Experience
- 7+ years of embedded real-time firmware development (requirements analysis, design, testing documentation) using C and/or other middle to high-level languages.
- 3+ year experience in system design and architecture
- Multiple years of extensive experience with all phases of embedded firmware development in platform independent environments
- Strong knowledge or hands on experience in various RF technologies and profiles such as Bluetooth classic, BLE, Zigbee, RF4CE, Wi-Fi, Z-Wave
- Experience with various communication protocols such as SPI, I2C, UART, I2S, etc.
- Experience with typical embedded control peripherals (i.e., RAM, Flash, UART, PWM, A/D, CAN, I2C, I2S, and SPI)
- Software development methodologies and quality control processes
- Hands on experience with various MCU cores (16 to 32-bits, common ARM Cortex) and peripherals
- Scripting languages and for test automation (Perl, Python or similar) big plus
- Debug skills with tools such as JTAG/serial debugger, protocol analyzer and oscilloscopes
- Experience in consumer electronics product development, especially IR/RF remote control, HVAC controls, Thermostats and Sensors a Plus
- Experience developing on a bare metal and using an RTOS. FreeRTOS is a plus.
- Experience using debuggers, logic analyzers and oscilloscopes.
- Experience designing device drivers for peripherals like external memories and sensors.
- Familiarity with embedded firmware development tools, including the capability to debug, step through code and perform traces if needed.
- Demonstrated skills in the firmware development process (version control, use case, requirements, design, coding, and unit test)
- Proven ability to develop embedded firmware that optimizes run-time performance, memory requirements, and code re-use
- Experience with writing and executing firmware test specifications
- Experience with power-management
- Proven ability to analyze and solve complex problems which involve both firmware and hardware
- Quick-learning self-starter who works well with a dynamic team
- Energy and passion for the industry & products
- Excellent verbal and written communication skills
- Capable of working on multiple projects in a deadline driven environment
Education, Licenses & Certification
- Bachelor’s degree in Electrical Engineering, Computer Engineering, or related field is required
Work Conditions
- 40 hours on-site work week.
- Some travel maybe required
- Physically able to participate in training sessions, presentations, and meetings
- Sitting for extended periods of time; Dexterity of hands and fingers to operate a computer keyboard, mouse, power tools, and other computer components.
Skills Required
- 7+ years of embedded real-time firmware development experience
- 3+ years of system design and architecture experience
- Experience across all phases of embedded firmware development in platform-independent environments
- Proficiency in C or other mid-level to high-level programming languages
- Knowledge or hands-on experience with Bluetooth Classic, BLE, Zigbee, RF4CE, Wi-Fi, and Z-Wave
- Experience with SPI, I2C, UART, I2S, and related communication protocols
- Experience with embedded control peripherals including RAM, Flash, UART, PWM, A/D, CAN, I2C, I2S, and SPI
- Experience with software development methodologies and quality-control processes
- Hands-on experience with 16- to 32-bit MCU cores, including ARM Cortex
- Experience with JTAG or serial debuggers, protocol analyzers, logic analyzers, and oscilloscopes
- Experience developing on bare metal and using an RTOS
- Experience designing device drivers for external memories and sensors
- Familiarity with embedded firmware development tools, code tracing, and debugging
- Experience with version control, requirements, design, coding, and unit testing
- Ability to optimize runtime performance, memory requirements, power management, and code reuse
- Experience writing and executing firmware test specifications
- Ability to analyze and solve problems involving firmware and hardware
- Bachelor’s degree in Electrical Engineering, Computer Engineering, or a related field
- Perl, Python, or similar scripting experience for test automation
- FreeRTOS experience
- Consumer electronics experience, especially with IR/RF remote controls, HVAC controls, thermostats, or sensors
- Strong verbal and written communication skills
- Ability to manage multiple projects in a deadline-driven environment
What We Do
Universal Electronics Inc. (NASDAQ: UEIC) is the worldwide leader in universal control and sensing technologies for the smart home. Its broad portfolio of over 300 pending and current patents includes the world’s most complete database to connect and control thousands of entertainment viewing devices. The company designs, develops, manufactures and ships over 500 innovative products that are used by the world’s leading brands in the audio video, subscription broadcasting, connected home, tablet and smart phone markets. With a global network of design and development services, UEI’s many first-to-market innovations have helped transform the home entertainment control industry over the past 25 years. In 2015, it expanded its product and technology platform to include home automation, intelligent sensing and security.








