Senior Firmware Engineer — Embedded Linux (Cary)
Overview
Garmin is seeking a Senior Firmware Engineer to develop low-level embedded C/C++ software including board bring-up, OS bootstrapping, device drivers, and power and thermal management for Garmin Consumer Outdoor products.
Responsibilities
- Serve in a leadership capacity as an individual contributor for software development in C, C++, and Assembly for new products and applications
- Work with wireless networking technologies including ANT, Bluetooth BLE, and Wi-Fi for outdoor product communication
- May serve as a Lead Software Engineer for complex software development project designs and architecture reviews
- Decompose functional requirements into well-defined tasks
- Research fundamental problems and implement appropriate algorithm solutions
- Offer peer technical assessments in areas of expertise, new technologies, and software designs
- Assist design engineering with component datasheet review and schematic design review
- Participate in project leadership and program planning including technical input to product development plans
- Make substantial contributions to project goal feasibility and apply good judgment in setting schedules and risk taking
- Mentor and provide guidance to less experienced Software Engineers
- Contribute to advanced technical research on new technologies
- Offer process improvement suggestions and author new procedures as appropriate
- Provide 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 equivalent combination of education and experience
- Excellent academics with cumulative GPA greater than or equal to 3.0 as a general rule
- Demonstrated proficiency designing well-architected software systems and modules supporting new technology
- Demonstrated competence 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
- Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies, and software designs
- Mastered proficiency in writing software in C, C++ with experience in data structures or object-oriented design methodology
- Strong and effective verbal, written, and interpersonal communication skills
- Positive, detail-oriented, team-oriented problem solver with ability to prioritize and lead in a fast-paced environment
- Proficient knowledge of software engineering tools including configuration management systems, build processes, debuggers, emulators, simulators, and logic analyzers
Preferred
- Previous work or internship experience in design, particularly for consumer products
- Linux programming experience
- Multi-threaded software development
- Wireless communication experience (Bluetooth BLE, Wi-Fi)
- Familiarity with hardware communication interfaces (I2C, SPI, UART, USB)
- Experience using laboratory equipment such as logic analyzers, digital oscilloscopes, and in-circuit debuggers
Sourced from the employer’s career site. Verify before applying.
Variables & Compensation
- Health insurance
- Dental insurance
- Vision insurance
- 401(k) matching
- Employee stock purchase plan
- Paid time off
- Parental leave
- Tuition reimbursement
- Professional development
- Product discounts
Trademark Disclaimer: Unless explicitly designated as a direct or sponsored listing, EmbeddedDOESHire is not affiliated with, endorsed by, or associated with Garmin. All company logos, trademarks, and brand parameters are the property of their respective owners and are utilized here solely for indexical and identification purposes.
Compensation Disclaimer: Unless this specification was directly verified and posted by the employer, we cannot guarantee the accuracy of the listed salary parameters. These figures are compiled from public market records and may deviate from actual offered compensation. Final salaries are determined dynamically by the hiring entity based on candidate evaluation, location, and final contract execution.
Content Disclaimer: This listing is sourced from the employer's public career site. Job details — including responsibilities, qualifications, and compensation — may change. Verify with the employer before applying.