Bachelor's Degree in relevant technical field or equivalent experience
Minimum 5 years of relevant experience
Proficient in C/C++ and familiar with data structures or OOP methodologies
Experienced in developing well-architected software systems
Ability to lead complex software projects
Strong verbal, written, and interpersonal communication skills
Proficient with software engineering tools and debugging techniques
Responsibilities
Develop low-level embedded software for Garmin outdoor products
Lead software development and project planning as an individual contributor
Decompose functional requirements into actionable tasks
Research and implement algorithmic solutions for complex problems
Mentor and guide less experienced engineers
Participate in project planning and provide technical input on development plans
Evaluate designs and suggest process improvements
Benefits
Comprehensive health and wellness plans
Retirement savings plans with company contributions
Flexible work hours and remote work options
Employee discounts on Garmin products
Professional development and continued educational opportunities
Paid time off and holidays
Full Job Description
Overview
We are seeking a full-time Senior Software Engineer for our Outdoor segment at Garmin's U.S. headquarters in the Greater Kansas City area. 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.
In this role, you will be responsible for providing technical leadership and project planning for software development for products, applications, or systems new to Garmin as an individual contributor.
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.
Experience with board bring up/driver development in RTOS, Linux and/or Android platforms
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
Basic Qualifications
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)
Desired Qualifications
Outstanding academics (cumulative GPA greater than or equal to 3.5)
Previous work or internship experience in design, particularly for consumer products
Linux and/or Android programming experience
Multi-threaded software development
Wireless communication experience (Bluetooth/BLE, WI-FI) and experience with Wireshark and Bluetooth sniffer tools
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
About Garmin
Garmin Ltd. is an American multinational technology company founded in 1989 by Gary Burrell and Min Kao in Lenexa, Kansas. The company specializes in GPS technology for automotive, aviation, marine, outdoor, and sport activities. Garmin's products serve aviation, marine, automotive, wireless, outdoor recreation, and fitness markets. The company's goal is to create navigation and communication devices that can enrich customers' lives. Garmin has offices in the United States, Europe, and Asia. The company's products are sold in over 100 countries.