Senior Software Engineer (UI)
Job Description
Garmin International, Inc. is hiring a Senior Software Engineer (UI) to join its Marine Software Engineering team at the company’s U.S. headquarters in the Greater Kansas City area (Olathe, KS, onsite). In this full-stack role, you will help deliver high-performance, resilient software for mission-critical marine experiences, with a strong emphasis on UI and user experience.
You will collaborate across navigation, sonar, networking, mobile, and connected services, contributing from early concept work through launch. The position supports building and improving software systems and modules that enable new technology and strengthen capability and performance.
Role overview
- Work on Marine Multifunction Displays used by anglers and boaters worldwide
- Develop UI-focused, full-stack software while building multithreaded architectures and system-level components
- Collaborate using internal Marine platform APIs across teams spanning navigation, sonar, networking, mobile, and connected services
- Contribute across the full software stack from concept through launch, with an emphasis on UI and user experience
Responsibilities
- Act as an individual contributor in leading software development using C, C++, and/or Python
- May serve as a Lead Software Engineer for complex project designs and/or review architected modules and software systems that support new technology or improve capability and performance
- Decompose functional requirements into well-defined tasks
- Research fundamental problems and implement algorithm solutions that are appropriate
- Provide peer technical assessments within areas of expertise, including new technologies and software designs
- Support design engineering as needed, including component datasheet review and schematic design review
- Contribute to project leadership and/or program planning with technical input to product development plans and concept documents
- Make substantial contributions toward assessing project goal and objective feasibility, applying sound judgment in setting schedules and managing risk
- Mentor and provide guidance to less experienced Software Engineers (Levels 1 & 2)
- Conduct advanced technical research on new technologies
- Suggest process improvements and author new procedures as appropriate
- Deliver reliable solutions to a wide range of difficult problems using sound problem-solving techniques
Requirements
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, or related fields AND a minimum of 5 years relevant experience, or an equivalent combination of education and experience
- Excellent academics: cumulative GPA >= 3.0 (general rule)
- Demonstrated proficiency designing well-architectured software systems and modules that support new technology or improve capability and performance
- Demonstrated competence researching fundamental problems and implementing appropriate algorithmic solutions
- 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
- Demonstrated ability to offer peer technical assessments in areas of expertise, new technologies, and software designs
- Mastered proficiency writing software in C, C++, and relevant experience and/or training in data structures or object-oriented design methodology
- Strong and effective verbal, written, and interpersonal communication skills
- Must be positive, detail oriented, organized, team oriented, and a driven problem solver; able to multi-task, self-start, and prioritize in a fast-paced, deadline-driven environment
- Experience with high-level UI development
- Outstanding academics: cumulative GPA >= 3.5
Technologies
- C
- C++
- Python