Software Engineer - DevOps
OverviewWe are seeking a full-time Software Engineer - DevOps at Garmin's U.S. headquarters in the Greater Kansas City area. 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. You will partner with engineers and engineering leadership to manage the tools for the team’s software build generation. You will create and maintain the tools necessary to continuously integrate code changes, generate builds, and deploy build artifacts. Additionally, you will build automation and tools to make creating and testing embedded software releases more efficient.Essential FunctionsImproves the performance and reliability of Continuous Integration (CI) infrastructure for embedded softwareIntegrates new automated testing into the CI system and manages the reporting mechanisms for automated testsCreates and executes designs for new functionalities of the CI and build systems using Python, Java Script, or other selected languagesServes in a leadership capacity as an individual contributor for carrying out software development in C, C++, C#, Java, or other selected languages for new products and/or applicationsMay 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 functionalityDecomposes functional requirements into well-defined tasksResearches fundamental problems and implements algorithm solutions that are appropriateOffers peer technical assessments in areas of expertise, new technologies and software designsAssists design engineering as needed with component datasheet review and schematic design reviewParticipates in project leadership and/or program planning including providing technical input to product development plans and concept documentsMakes substantial contributions toward determination of project goal/objective feasibility and applies good judgment in setting schedules/risk takingMentors and provides guidance to less experienced Software Engineers (1 & 2)Contributes to advanced technical research on new technologiesOffers process improvement suggestions and authors new procedures as appropriateProvides reliable solutions to a wide range of difficult problems using sound problem solving techniquesBasic QualificationsBachelor’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 experienceExcellent 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 functionalityDemonstrated competence with researching fundamental problems and implementing appropriate algorithmic solutionsDemonstrated ability to serve as a lead software engineer for a complex software projectAbility to decompose functional requirements into well-defined tasks while balancing quality, quantity, and complexity in work outputDemonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designsMastered proficiency in writing software in C, C++, C# or Java and relevant experience and/or training in data structures or object-oriented design methodologyDemonstrated strong and effective verbal, written, and interpersonal communication skillsMust 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 environmentDesired QualificationsImproves the performance and reliability of Continuous Integration (CI) infrastructure for embedded softwareIntegrates new automated testing into the CI system and manages the reporting mechanisms for automated testsCreates and executes designs for new functionalities of the CI and build systems using Python, Java Script, or other selected languagesPrevious experience designing and implementing Object Oriented designs in C++, C# or JavaFamiliarity with testing, debugging and optimizing application software on embedded systemsExperience working with embedded build systems such as WAF or CMakeGarmin 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