Essential Functions
- Creates and executes designs for small sets of new functionalities as part of a software project using C and C++ at the middle to high (GUI) layer of the embedded stack
- Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
- Collaborates effectively with UX, Quality and other engineering teams
- Collaborates and adds value through participation in peer code reviews, providing comments and suggestions
- Provides reliable solutions to a variety of problems using sound problem solving techniques
- Performs technical root cause analysis and outlines corrective action for given problems
- Contributes to technical research on new technologies
- Estimates level of effort, evaluates new options of similar technology, offers suggestions to improve processes, and provides feedback on some electrical design aspects
- Serves as a mentor to less experienced software engineers (Software Engineer 1)
Basic Qualifications
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering or related field AND a minimum of 1 year relevant experience OR an equivalent combination of education and experience
- Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
- Demonstrated proficiency and experience necessary to develop moderately complex software in C and C++ for embedded systems
- Proficient knowledge, utilization and mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
Desired Qualifications
- Outstanding academics (cumulative GPA greater than or equal to 3.5)
- Linux development experience
- RTOS experience
- Passion for boating or other on-the-water activities
- Familiarity with design, development and testing of high-level application code, including user interface
- Familiarity and/or proficiency with mid-level protocol development and debugging, as needed for device-to-device communication
- Experience with git, Gerrit, JIRA and Microsoft Azure ADO
- Familiarity with marine communications technologies such as VHF, AIS or satellite communications is a plus
- Familiarity with UX design is a plus
- Experience with multi-channel messaging applications is a plus
- Familiarity with networking protocols and standards, including TCP/IP, Wi−Fi, Controller Area Network (CAN)/NMEA, Bluetooth/BLE and ANT, and experience implementing and debugging network applications, are a plus