À propos
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, and production transition. Work closely with electrical engineering during schematic review, component selection and prototype bring-up to ensure software readiness and efficient debug. Requirements:
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. Experience supporting manufacturing, field teams, or customer applications is a plus. 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. Benefits:
Health insurance 401(k) matching Paid time off Professional development opportunities Remote work options
Compétences linguistiques
- English
Avis aux utilisateurs
Cette offre provient d’une plateforme partenaire de TieTalent. Cliquez sur « Postuler maintenant » pour soumettre votre candidature directement sur leur site.