Our Marine Software Engineering Team is seeking a full-time Low-Level Embedded Software Engineer at our worldwide headquarters in Olathe, Kansas. This team engineers solutions in collaboration with Electrical Engineers and Application Developers on various Garmin Marine products. We work with several cutting edge technologies in Marine: sonar, radar, chartplotters, GIS, sensors, cameras, transducers and much more. This is an opportunity for inquisitive engineers who have the creativity and skills to both build and debug functions that most people do not know exist, but are crucial to making our industry-leading products that increase safety and fun on the water.
Other essential functions include:
- Assist with schematic reviews for new products
- Use vendor datasheets to implement drivers for various peripheral ICs in C
- Bring up software on bare boards and validate platform performance
- Develops moderately complex software in C, C++, or other selected languages for Garmin or OEM products and/or applications consistently following Garmin’s coding standards and in accordance with applicable software development methodology and release processes
- Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
- Creates and executes designs for small sets of new functionality as part of a software project
- May perform as a technical leader or Lead Software Engineer for derivative software project
- 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
- Serve as a mentor to less experienced software engineers (Software Engineer 1)
- Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes, and provide comments on some electrical design aspects
Qualified candidates will possess a Bachelor of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, Aerospace Engineering, Math or Physics or a technical field (such as CIS or IT) from a four-year college or university AND a minimum of one year relevant experience OR an equivalent combination of education and relevant experience.
Other qualifications include:
- Must possess a minimum 1 year of work experience
- Outstanding academics (cumulative GPA greater than or equal to 3.0 as a general rule)
- Demonstrates proficient knowledge and utilization of engineering tools necessary for successful performance of the essential functions of this job description
- Must demonstrate proficiency and possess experience necessary to develop complex software in C or C++
- Demonstrates mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
- Must demonstrate proficient ability to capture and document software requirements
Desired qualifications:
- Superior academics (cumulative GPA greater than or equal to 3.5 as a general rule)
- Experienced in both developing and debugging Linux kernels
- Ability to develop drivers
- Embedded Linux and/or Yocto experience is preferred