What are the responsibilities and job description for the Senior Software Engineer Outdoor position at Garmin?
Overview
We are seeking a full-time Senior Software Engineer for our Outdoor segment in our Olathe, KS or Cary, NC location. In this role, you will be responsible for developing low-level embedded software for various Garmin Consumer Outdoor products. You will be developing C/C software that interacts with hardware including initial board bring-up, boot strapping the operating system, developing and integrating device drivers and power/thermal management.
Essential Functions
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits
We are seeking a full-time Senior Software Engineer for our Outdoor segment in our Olathe, KS or Cary, NC location. In this role, you will be responsible for developing low-level embedded software for various Garmin Consumer Outdoor products. You will be developing C/C software that interacts with hardware including initial board bring-up, boot strapping the operating system, developing and integrating device drivers and power/thermal management.
Essential Functions
- Serves in a leadership capacity as an individual contributor for carrying out software development in C, C , Assembly language or other selected languages for new products and/or applications
- Works with wireless networking technologies, including ANT, Bluetooth/BLE and Wi−Fi, to allow communication with other outdoor products
- 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
- Makes substantial contributions toward determination of project goal/objective feasibility and applies good judgment in setting schedules/risk taking
- 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
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math, Physics or related field AND a minimum of 5 years 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 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
- Demonstrated strong and effective verbal, written, and interpersonal communication skills
- 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
- Proficient knowledge, utilization and mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
- Outstanding academics (cumulative GPA greater than or equal to 3.5)
- Previous work or internship experience in design, particularly for consumer products
- Linux programming experience
- Multi-threaded software development
- Wireless communication experience (Bluetooth/BLE, WI-FI)
- Familiar with hardware communication interfaces (I2C, SPI, UART, USB)
- Experience using laboratory equipment (e.g., logic analyzer, digital oscilloscope, In-circuit debuggers)
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits