[Remote] Embedded Software Engineer
Note: The job is a remote job and is open to candidates in USA. Avery Weigh-Tronix is seeking an Embedded Software Engineer responsible for the design, development, testing, and support of embedded software solutions for various products. The role involves hands-on engineering, cross-functional collaboration, and technical problem-solving to enhance product reliability and performance.
Responsibilities
- Develop, code, test, and debug new embedded software or enhancements to existing software for third-party customers and internal product lines
- Work from specifications with limited guidance to design and modify moderately complex software applications, tools, and utilities
- Apply software design theories, engineering principles, and scientific methods to create robust, maintainable embedded solutions
- Modify existing software packages to meet unique customer configurations and requirements
- Validate successive software versions to ensure proper integration with system hardware
- Bring up embedded software on new hardware platforms, including initialization and verification of microcontrollers, memory, clocks, interrupts, communication interfaces and peripheral devices
- Develop, integrate and debug low-level drivers and board support software for interfaces such as UART, SPI, I2C, ADC, USB, Ethernet, GPIO, etc
- Provide technical input to project schedules, development estimates, software-related planning activities and team training needs
- Coordinate technical activities with cross-functional project teams and communicate software scope, status, risks, and technical issues clearly
- Document designs, changes, and engineering analyses thoroughly and professionally
- Determine test and analysis requirements to validate product reliability, performance, and parameter control
- Conduct or coordinate tests to evaluate failure limits, environmental susceptibility, component reliability, and overall product safety
- Participate in the design of product test equipment or production test systems when needed
- Interpret test results and translate findings into actionable engineering decisions
- Develop and execute bring-up, integration, and regression test plans for new hardware and firmware
- Diagnose issues related to startup behavior, communication failures, timing issues, memory, and interaction between firmware and hardware
- Resolve software-related user complaints and respond to suggestions for improvements or enhancements
- Assist in the development of software user manuals and technical documentation
- Collaborate with technical staff to diagnose and resolve software issues
- Drive the electrical/software design process from concept through manufacturing release, including: Creative concept development, Detailed design, Mathematical and scientific verification, Prototype build and evaluation, Engineering documentation, Production transition
- Work closely with electrical engineering during schematic review, component selection and prototype bring-up to ensure software readiness and efficient debug
Skills
- Bachelor's degree in engineering (Software, Electrical, Computer Engineering, or related discipline required)
- Minimum of 4 years of relevant experience in embedded software development or related engineering roles
- Proficiency in embedded programming languages (e.g., C/C++), version control (Git/Github) and real-time operating environments (FreeRTOS, MQX)
- Strong understanding of hardware/software integration and system level design
- Ability to work independently across design, coding, testing, debugging, implementation, and documentation phases
- Excellent analytical, problem-solving, and communication skills
- Demonstrated experience with new board bring-up, including debug of low-level hardware/software issues on prototype hardware
- Ability to read and work from schematics, datasheets, reference manuals and interface documentation
- Experience with embedded debug tools such as JTAG debuggers, oscilloscopes, logic analyzers and serial/protocol analysis tools
- Experience integrating communication and connectivity technologies such as Bluetooth/BLE, UART, SPI, I2C, USB, or Ethernet
- This role requires quarterly travel to our Fairmont, MN facility, with the possibility of additional onsite visits depending on project-specific needs
- Experience supporting manufacturing, field teams, or customer applications is a plus
Company Overview