Sr C/C++/ RTOS Software Engineer - Core Tech Team
Garmin Ltd
Cary, NC, United States
2 days ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Apply on www.jofdav.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Working hours
Regular working hours
Job source
Tech stack
Testing (Software)
Java (Programming Language)
Algorithm Design
Data Analysis
C++ (Programming Language)
Computer Engineering
Software Debugging
Embedded Software
Hardware-In-The-Loop Simulation
Python (Programming Language)
Real-Time Operating Systems
Regression Testing
+10 more
Sensor Fusion
Software Engineering
Software Project Management
Software Systems
Diagnostic Tools
Garmin
Backend
Information Technology
Data Pipelines
Jenkins
Job description
- Serves in a leadership capacity as an individual contributor for carrying out software development in C and C++
- 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
- Designs and deploys embedded software solutions, primarily in C++ and C, to be used throughout Garmin’s extensive ecosystem of consumer electronics products, including smartwatches, cycling computers, and more.
- Researches fundamental problems and implements algorithm solutions that are appropriate
- Builds hardware-in-the-loop test infrastructure, integration pipelines, and diagnostic tools that reproduce field issues and verify fixes before deployment.
- Offers peer technical assessments in areas of expertise, new technologies and software designs
- Evaluates and understands various design tradeoffs including power consumption, cost, system constraints, reliability, and time to market.
- 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
Requirements
- Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related field AND a minimum of 5 years relevant experience OR an equivalent combination of education and experience
- Mastered proficiency in writing software in C, C++ on RTOS
- Experience with Python for visualization and statistical analysis.
- 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
- 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
- Strong quantitative, math, and statistics skills
- Experience in defining, characterizing, and baselining performance metrics for systems and/or algorithms.
- Experience with automation and testing software and systems, including hardware-in-the-loop (HIL), regression testing, GoogleTest, unittest. Experience working with CI/CD pipelines, such as Jenkins or Zuul.
- Experience with data analysis and statistical methods for investigating system behavior and root cause analysis.
- Experience debugging complex problems on embedded systems.
- Experience working on multiple simultaneous development projects.
- Familiarity with sensor fusion, time series analysis, Kalman filtering, or digital signal processing (DSP).
- Familiarity with inertial sensors, magnetic, and/or barometric pressure sensors.
- Proficiency or experience with Java for backend/server-side systems.
- Interest and ability to learn new tools, technologies, and methodologies across embedded systems, testing frameworks, and algorithm development as needed.
- Excitement to create and deliver algorithms for runners, cyclists, hikers, golfers, athletes, fitness buffs, and any person seeking to beat yesterday.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on www.jofdav.com
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…