Posted in Engineering 30+ days ago.
This job brought to you by eQuest
As a leading worldwide provider of navigation devices and wearable technology, our focus is on developing, designing and supporting superior products. Our advanced technology promotes performance, safety and ease of use in every market we serve. That makes us an engineering and technology company with a keen focus on recruiting talent in those fields. But the same vertical integration business model that keeps all design and manufacturing processes in-house also gives us the incentive to hire top performers from different backgrounds, including operations, finance and accounting, information technology, sales, marketing and communications.
If you are interested in working on Automotive Infotainment, Automotive Entertainment Systems, In-Vehicle Infotainment systems, Cameras, Clusters and/or other vehicle systems, this is the position for you.
We are looking for a full-time Linux Kernel Developer on the Automotive Platforms team at our headquarters in Olathe, Kansas. In this role, you will develop software in C and C++ on Linux and/or Android (AOSP) platforms. You will also test software using debuggers, emulators and simulators; perform software releases and software quality assurance activities; write unit and integration tests and work collaboratively and professionally with other Garmin associates. Other essential functions include:
Creates and executes designs for small sets of new functionality as part of a software project
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
Works in both an agile and waterfall software development environments
Expertise and passion in trunk based development and good understanding of (SDLC) Software Development Lifecycle
Serve as a mentor to less experienced software engineers
Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes, and provide comments on some electrical design aspects
Apply Garmin’s Mission Statement and Quality Policy and enthusiastically exhibit a desire to see Garmin succeed
Qualified candidates will possess a Bachelor of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, Math or Physics or a technical field (such as CIS or IT) from a four-year college or university AND a minimum of five (5) years relevant experience OR an equivalent combination of education and relevant experience with a 3.0 cumulative GPA or higher. Other requirements include:
Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
Must possess knowledge and understanding about Linux kernel internals and tools
Must possess experience with embedded Linux kernel driver development
Demonstrates proficiency with designing well-architected software systems and modules that support new technology or improve capability/performance of existing functionality
Must demonstrate proficiency and possess experience necessary to develop moderately complex software in C and C++
Must demonstrate competence with researching problems and implementing appropriate algorithmic solutions
Demonstrated ability to serve as a lead software engineer for a complex software project
Must possess the 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
Must possess relevant experience and/or training in data structures or object oriented design methodology relevant to Garmin’s business needs
Must possess relevant education and/or experience in software design, development and maintenance, as required for the successful performance of the essential functions of the position
Demonstrates proficient knowledge and utilization of engineering tools necessary for successful performance of the essential functions of this job description
Demonstrates mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
Experience modifying and building Linux system images with Yocto
Experience programming on ARM multi-core processors
Experience with Linux/Android, AOSP, Android HAL, Hypervisors, and BSP Development
Experience with IoT, Ethernet, Ethernet AVB connectivity
Experience with video / audio codecs, video acceleration/compositing/streaming and optimization
Experience developing for consumer products
Our benefits, designed to lead an evolving marketplace, support innovation and encourage a healthy balance between work and life, keep us competitive and allow our associates to make their own decisions about their well-being and future. We offer a choice of healthcare plans—with low or no premiums—which consistently rank in the 90th percentile when compared to other high-tech employers, plus dental and vision plans for you and your family. In addition, our financial benefits rate 82% above the median for technology companies comparable in size. Our 401K retirement plan provides 5% of pay base contribution plus a match of 75 cents for every dollar you contribute to a maximum of 10% of your compensation. The employee stock purchase plan allows for shares to be bought at a 15% discount.
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.