
Software Engineer 2
Required skills
- C++
- assembly language
- debuggers
- oscilloscopes
- logic analyzers
- configuration management systems
- emulators
- simulators
- I2C
- SPI
Nice to have
- BLE
- technical leadership
- mentorship
- consumer products
Role summary
Garmin is seeking a full-time Software Engineer 2 for its U.S. headquarters in Olathe, Kansas. This role involves developing moderately complex software and creating/executing designs for new functionalities using languages like C, C++, or assembly. Responsibilities include utilizing software engineering tools, assisting with hardware design reviews, performing root cause analysis, and contributing to technical research. The position requires a Bachelor's degree in a relevant field and at least 1 year of experience, or an equivalent combination. Familiarity with communication protocols like I2C, SPI, and UART is necessary. Experience with BLE is preferred.
Overview
We are seeking a full-time Software Engineer 2 at Garmin's U.S. headquarters in the Greater Kansas City area. In this role, you will be responsible for developing moderately complex software and creating and executing designs for small sets of new functionalities for Garmin products and/or applications.
Essential Functions
- Creates and executes designs for small sets of new functionalities as part of a software project using C, C++, assembly language, or other selected languages
- Familarity with communications protocols such as: I2C, SPI, UART, etc
- Experience with BLE would be preferred but not required
- Utilizes software engineering tools such as debuggers, oscilloscopes, and logic analyzers
- Assists design engineering as needed with component datasheet review and schematic design review
- 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
- 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, Math, Physics 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, C++, assembly language, or other selected languages
- 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
Garmin International is an equal opportunity employer. Qualified applicants will receive consideration for employment without regard to race, religion, color, national origin, citizenship, sex, sexual orientation, gender identity, veteran’s status, age or disability.
This position is eligible for Garmin's benefit program. Details can be found here: Garmin Benefits
Sample Garmin interview questions
- 1
Minimum Path Sum Find the minimum path sum from top-left to bottom-right in a grid. Input: grid = [[1,2,3],[4,5,6]] Output: 12 Explanation: The optimal path moves along 1 -> 2 -> 3 -> 6, resulting in a minimum accumulated sum of 12.
codingmedium - 2
Rotate a linked list to the right by k places. Given the head of a linked list, rotate the list to the right by k places. Input: head = [0,1,2], k = 4 Output: [2,0,1] Explanation: The list has a length of 3. Rotating by 4 is mathematically equivalent to rotating by 1 (4 mod 3 = 1).
codingmedium - 3
Find the maximum depth of an N-ary tree.
codingmedium - 4
Find the total number of continuous subarrays whose sum equals K.
codingmedium - 5
Find all buildings that have an ocean view.
codingmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
Senior Software Engineer - GNSS / INSGarmin · Boulder, CO · Onsite
Senior Software Engineer - GNSS / INSGarmin · Olathe, KS · Onsite- Research Software EngineerConvergent Research · Boulder, CO · Onsite
Software Engineer IIPariveda · Dallas, TX · Hybrid- Senior Software Engineer, DatabaseInfluxData · Remote · Remote
- Software Engineering Intern, Frontend (Summer 2027)Notion · New York, NY · Hybrid
