Senior Software Engineer - C++/C
Garmin Ltd
Cary, United States of America
2 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Cary, United States of America
Tech stack
C++
Configuration Management
Computer Engineering
Data Structures
Software Debugging
Embedded Software
Object-Oriented Software Development
Software Engineering
Project Management
Software Systems
Garmin
Information Technology
Build Process
Job description
We are seeking a full-time Senior Software Engineer - C++/C at Garmin's U.S. headquarters in the Greater Kansas City area or in our Cary, NC location. In this role, you will provide technical leadership and contribute to the embedded software development and project planning of products in our Outdoor segment, with a focus on automotive products., * Serves in a leadership capacity as an individual contributor for carrying out software development in C, C++, or other selected languages for new products and/or applications
- Serves as a Lead Software Engineer for complex or derivative software projects.
- Decomposes functional requirements into well-defined tasks and creates designs for new functionality with software projects
- Researches technical problems and implements algorithmic and software solutions
- Performs technical root cause analysis and defines corrective actions for identified issues
- Offers peer technical assessments in areas of expertise, new technologies and software designs
- Participates in project and program planning, including estimating level of effort, evaluating technical feasibility, and providing input to product development plans and concept documents.
- Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the development process.
- Collaborates through peer code reviews and provides technical assessments of software designs and new technologies.
- 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 technical research on new technologies and evaluates options for future development
- Identifies opportunities for process improvement and contributes to development of new procedures and best practices.
- Provides reliable solutions to a wide range of technical problems using sound engineering and problem-solving techniques
Requirements
- 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
- Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
- Demonstrated proficiency in 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
- Mastered proficiency in writing software in C, C++, 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