This job posting has expired
Senior Embedded Software Engineer
Location : Grand Rapids, Michigan, United States
Headquarters : Grand Rapids, Michigan, United States
Hiring Mode : Full Time
Hiring Role : Embedded Software Engineer
Experience : Senior Level
- The Senior Embedded Software Engineer is responsible for the architecture and integration of embedded software systems into floor care products, including robotic vacuum products. This person will have Embedded Software Engineering experience for a variety of microcontrollers and interfaces to architect, implement, integrate, and test on and off-board between both hardware and software to support new product development. The candidate is expected to have experience in the design, analysis and evaluation of hardware, firmware, and software to provide guidance and recommendations to strategic decisions related to operating systems, network connectivity, performance, in field update, interface limitations, and licensing. Analysis and evaluation of hardware, firmware, and software will be required to provide guidance and recommendations to strategic decisions related to products implementing the BISSELL electronics architecture. In addition to being an individual contributor, the candidate will be expected to work with internal and external contributors, both foreign and domestic in origin.
- Candidate will have a key role in new and existing product development projects as architect and systems integrator of software into new floor care products.
- With some oversight, define and approve overall electronics architecture and technology choices with foresight to future products and creating and/or staying within the overall BISSELL electronics strategy.
- Choices should be derived using engineering analysis methods based on project constraints in cost, schedule, and resources.
- Collaborate with internal electronics and product development teams as well as partner with external design resources to achieve and deliver a complete electronic system.
- Collaborate with external suppliers to ensure software design robustness and ready for manufacturing.
- Utilize and demonstrate proficiency in software and electronic design and development tools to architect and build specifications for software systems that can be integrated into BISSELL products as well as with the connected home.
- Utilize design resources to create and evaluate firmware architecture, firmware code, interconnecting software, application protocols, and communication protocols.
- Work closely with BISSELL product development engineers to integrate the mechanical aspects of the product into the overall floor care product design.
- Work closely with BISSELL compliance engineers to obtain product approvals for embedded software sub-systems, if applicable, and approvals of the overall product that are dependent on electronics.
- Recommend and specify relevant equipment, processes, and fixtures needed for simulation, continuous integration measurement, testing, and qualification at software and product levels.
- Provide knowledge and guidance for quality improvement and cost reduction projects involving software in products within floor care products.
- Candidate is expected to have a solid foundation in engineering fundamentals, proven verbal and written communication capabilities, organizational, and project management skills. Failure mode effect analysis and/or risk analysis is desired
- Degree minimum: Bachelor’s degree in CS or CE (Master’s preferred)
- Specific concentration: Computer Science, Computer Engineering, Electrical Engineering, Electronics Engineering, or similar.
- A broad understanding of microprocessors, microcontrollers, detection systems, embedded software architecture, circuit design, controls theory, simulation and modelling, and/or connected devices software is needed to be successful.
- Experience level: 5-7+ years minimum in software, electrical, or systems engineering
- Embedded System Experience: Embedded microcontroller/microprocessor familiarity including ARM Cortex-M series; experience with Cortex-A series is a plus.
- Embedded software design concepts for bare metal or lightweight real-time operating systems. Device programming and debugging using JTAG and/or SWD.
- Experience in evaluation and debugging of peripheral interfaces including: I2C, SPI, UART.
- Software Languages, Protocols, and Libraries: C/C++, Python, FreeRTOS, serial protocols, SPI, SDIO, I2C, TCP/IP, UDP/IP, UPnP, Network Discovery, MQTT, RESTful API, iOS and Android SDKs.
- Connectivity: Experience working with wired and/or wireless communication protocols and connectivity to cloud service providers like AWS.
- Machine Control Technologies: Experience in developing embedded systems to drive loads such as motors, pumps and fans. Experience in developing sensor-based product features with infrared, ultrasonic, capacitive, or RF sensing technologies.
- User Interface Technologies: Experience in developing embedded user interfaces including technologies such as LCD display, LED lighting, capacitive touch, and audio.
- Robotics: Understanding of automation and navigation technologies. Experience in developing feedback control systems and related algorithms. Vision systems a plus.