Olathe, Kansas, USA
65 days ago
Senior DevOps (Embedded) Software Engineer
Overview We are seeking a full-time Senior DevOps Software Engineer in our Olathe, KS location. This Senior DevOps Software Engineer will help build and maintain the next generation of Garmin’s Continuous Integration / Continuous Delivery (CI/CD) system used to build embedded software for Garmin’s award-winning products. Essential Functions Serves in a leadership capacity as an individual contributor for carrying out software development in C, C++ or other selected languages for new applications, tools, or infrastructure 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 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 Supports working hours as part of a rotating schedule to provide on-call support of Garmin’s 24/7 operations Automates routine tasks whenever possible Supports software engineering applications installations and upgrades Collaborates and adds value through participation in peer code reviews, providing comments and suggestions Evaluates, integrates, administers, and supports new applications Supports monitoring and testing of software engineering applications Supports application server capacity planning, backups, and other server-based activities Performs technical root cause analysis and outlines corrective actions for given problems Estimates level of effort, evaluates new options of similar technology, offers suggestions to improve processes, and responds to infrastructure outages 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 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 Must possess proficiency in writing software in Python, Bash, C, C++ or other selected languages, 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 Desired Qualifications Administrative experience with Jenkins automation server or Zuul Continuous Integration Experience with automation using Ansible infrastructure-as-code (IaC) User-level experience with container/orchestrator technology like Docker or Kubernetes User-level experience with static code analysis tools like SonarQube, CppCheck, or Clang Working knowledge of Git-based source code management Ability to work and collaborate across geographical and organizational barriers Experience with embedded software test or development Experience administering in Windows, Linux, and Mac OS Experience working with the entire SDLC Experience with cloud technology like OpenStack Experience with Kibana, Grafana, or other analytic technology 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
Confirm your E-mail: Send Email