Provide technical leadership and project planning for embedded Linux software development for Marine products, applications, or systems new to Garmin as an individual contributor.
Requirements
- Demonstrated proficiency with designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality
- Demonstrated competence with researching fundamental problems and implementing appropriate algorithmic solutions
- Demonstrated ability to serve as a lead software engineer for a complex software project
- Ability to decompose functional requirements into well-defined tasks while balancing quality, quantity, and complexity in work output
- Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
- Mastered proficiency in writing software in C, C++ and relevant experience and/or training in data structures or object-oriented design methodology
- Experience developing Linux drivers
Responsibilities
- Serves in a leadership capacity as an individual contributor for carrying out software development in C, and C++ Assembly language or other selected languages for new products and/or applications
- May serve as a Lead Software Engineer for complex software development project designs and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality
- Decomposes functional requirements into well-defined tasks
- Researches fundamental problems and implements algorithm solutions that are appropriate
- Offers peer technical assessments in areas of expertise, new technologies and software designs
- Assists design engineering as needed with component datasheet review and schematic design review
- Participates in project leadership and/or program planning including providing technical input to product development plans and concept documents
Other
- Mentors and provides guidance to less experienced Software Engineers (1 & 2)
- Contributes to advanced technical research on new technologies
- Offers process improvement suggestions and authors new procedures as appropriate
- Provides reliable solutions to a wide range of difficult problems using sound problem solving techniques
- Must be positive, detail oriented, organized, team oriented and a driven problem solver, multi-tasker, and self-starter with the ability to prioritize and lead in a fast paced, deadline-driven environment