Senior Embedded Software Engineer
Sr. Embedded Software Engineer
Company Overview
Founded in 1969, KitchenBrains®, continually leads the industry in the design, development, manufacturing and deployment of controls, monitors, sensors and IoT connectivity for foodservice outlets and original equipment manufacturers (OEMs) that reduce costs, drive productivity, and increase guest satisfaction. Kitchen Brains brands, including (FAST.)®, Modularm® and KitchenEssentials, feature a growing number of products that incorporate KitchenKorrect™ IoT/cloud connectivity, and can be found in leading QSRs, casual and fine dining restaurants, convenience and grocery stores, schools, hospitals, stadiums and more globally.
Position Summary
The Senior Embedded Software Engineer is a key member of the Embedded Development team and will collaborate in the design, development, and maintenance of new products and features for existing products within the Kitchen Brains ecosystem. In all these tasks, they will work closely with other development team members as well as our support, operations, and quality assurance teams. As a senior member of the team, you may be asked to mentor and direct junior members of the development team from time to time.
The Senior Embedded Software Engineer will report to the Vice President of Embedded Engineering.
Essential Duties and Responsibilities
- Design, program, and test enhancements and new features for the Kitchen Brains embedded products including timers and touch screen controllers.
- Maintain the existing Kitchen Brains embedded product set by investigating, designing, and implementing new features and to solve customer reported defects.
- Work on a team helping to define and develop requested software development deliverables.
- Participate in the development of new product and technology road maps.
- Architect and design software for Linux and/or Real Time OS touch screen computers that have multiple boards, SOMs, video, sound, Wi-Fi, Bluetooth, and security capabilities.
- Configure and customize OS Kernels and Device Drivers for video, Wi-Fi and SD Memory for SOM computer chips. (LINUX and RTOS preferred)
- Remain current on core technologies and best practices.
- Provide solid security coding practices.
- Maintain/update documentation related to software features and functionality.
Required Education and Experience
- Minimum of a Bachelor’s degree in Computer Science (knowledge and experience in Electrical Engineering and embedded systems preferred)
- 5+ years of professional software development using C/C++.
- Experience with software debuggers and emulators, compilers, linkers, and build environment.
- Experience reading electrical schematics and hardware troubleshooting.
- Experience developing software for hardware based control solutions.
- Knowledge of and experience using Lab equipment (oscilloscopes, meters, logic analyzers etc.)
- Experience using formal Software behavior specification approaches such as UML, OO, State Machines, Data Flow Diagrams, and Flow-Charts.
- Experience with Software Quality Control, issues tracking, gate reviews, and review checklists.
- Formal Software Test Methods, tools, and procedures.
- Development of software under IEC, ISO, UL, DO-178C, or other formal software Quality Management Systems and Software life cycle processes.
- Excellent communication and collaboration skills and an ability to interface with business stakeholders and other engineers.
- Ability to prioritize, meet deadlines, and to work well under pressure.
- Must enjoy working in a fast-paced teamwork environment with shifting priorities.
- Proficient written and oral communication skills that provide effective interaction with all levels of the business organization.
- Experience working with tools like Git and Jenkins a plus.
- Experience working in an Agile/Scrum environment using tools like Atlassian JIRA/Confluence a plus.
Kitchen Brains is an Equal Opportunity Employer