Sr. Software Engineer - BISSELL Homecare
Grand Rapids, MI 49544
About the Job
The Sr. Software Engineer is responsible for leading the development critical technical aspects of multiple projects and/or specific product systems and components. As a part of their project responsibilities, the Sr. Engineer works with and provides direction to other engineers and designers in order to meet key project and development milestones. In this role he/she will develop embedded software features in engineering activities carried out by BISSELL and other suppliers’ technical staff to ensure that BISSELL requirements are met for his/her assigned projects. This person will also be a critical link in technical communications both within BISSELL (PD&E and cross functional groups) and with outside suppliers to execute the technical aspects of BISSELL projects.
The Sr. Software Engineer is expected to have experience in the design, analysis and evaluation of hardware, firmware, and software to provide guidance and recommendations related to operating systems, sensor development, robust software techniques, system performance, interface implementations, and licensing. Analysis and evaluation of hardware, firmware, and software will be required to provide recommendations to inform strategic decisions related to products implementing BISSELL electronics architectures. 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.
Responsibilities:- With some oversight, create new product concepts and designs that can be realized through software technologies and prove out feasibility of innovative functions and features that contribute to key product performance requirements.
- Lead the resolution of and maintain responsibility for technical design and issues found on all assigned projects by providing solid engineering analysis, problem solving, communication, and directing technical activities as necessary to ensure project success.
- Establish and maintain clear lines of communication with technical teams located at or near manufacturing sites throughout the project. This includes both BISSELL and supplier-based associates depending on location.
- Prepare and present technical information as required to functions outside of PD&E, including management, on projects or issues that may affect business decisions.
- Recommend and participate in the creation and improvement of test plans, methods and equipment as needed for assigned projects.
- Contribute to the analysis of test data and test results, especially for critical to quality functions to ensure product integrity and performance through close collaboration with the test engineer and the test lab.
- Coordinate agency product approval with the project Compliance Engineer by providing timely and complete design and specification information, adherence to BISSELL agency design standards, and supply of proper samples for testing.
- Provide accurate and complete Technical Deliverables during product development and review Technical Deliverables from other technical functions as required for GPD project execution.
- Communicate and coordinate with core project team members (Project Management, Marketing, Operations/Purchasing, and Consumer Design) to ensure technical milestones and deliverables are aligned with commercial goals and deliverables of the project.
- Coordinate with the Quality Engineer to ensure the execution of product Quality Plans on full devices and the most critical components or assemblies to ensure specifications are maintained during production.
- Coach and mentor less experienced engineers, designers, and supervise co-ops (as assigned).
- Provide information to prepare and verify technical content of patents and associated legal documentation as requested for new inventions.
- May be required to perform other duties as assigned.
REQUIRED EXPERIENCE/EDUCATION:
- Degree minimum: Bachelor’s degree in EE, 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+ or more years in Embedded Software Development of similar products
- Embedded Software and Controls design
- Strength in engineering fundamentals and technical problem solving
- Work on multiple new product development projects simultaneously
- Experience in test development and analysis of test results
- Technical project management
PREFERRED EXPERIENCE/EDUCATION:
- 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.