C/C++ Software Engineer 2 - Communication protocols

Garmin Ltd
Cary, NC, United States
3 days ago
Apply on www.jofdav.com
Prepare application

Role details

Contract type
Internship / Graduate position
Employment type
Full-time (> 32 hours)
Compensation
$71,130.0 - $97,801.0
Working hours
Regular working hours
Job source

Tech stack

C++ (Programming Language) Cloud Storage Configuration Management Communications Protocols Computer Engineering Software Debugging Linux Embedded C Linux on Embedded Systems Emulators Real-Time Operating Systems Software Engineering
+11 more
Software Project Management Data Streaming Wi-Fi Technology Multithreading Scripting Computer Network Technologies Garmin Information Technology Free and Open-Source Software Wireless Technologies Build Process

Job description

As a member of the Networking Technology team, you will deliver software features for a diverse set of innovative products such as next-gen dashcams, fishfinders, chartplotters, bike computers, handheld 2-way radios, and other personal navigation devices tailored for off-roading, racing, trucking, and recreation. We push the limits of wireless connectivity to deliver advanced features such as remote device monitoring, media streaming, automated cloud storage uploads, automatic software and map updates, and many more unique capabilities., * Design and deliver high-quality embedded C and C++ software on embedded Linux and real time operating systems (RTOS)

  • Prototype and productize software features in a fast-paced environment
  • Analyze, debug, and resolve Wi-Fi performance and interoperability issues using wireless protocol analyzers as well as tenacity and ingenuity
  • Collaborate with stakeholders across Garmin to implement innovative connectivity use-cases and to enhance existing designs to meet new requirements
  • Integrate, maintain, and contribute to third-party and open-source software projects
  • Utilize software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
  • May perform as a technical leader or Lead Software Engineer for derivative software project
  • Collaborate and add value through participation in peer code reviews, providing comments and suggestions
  • Provide reliable solutions to a variety of problems using sound problem solving techniques
  • Perform technical root cause analysis and outline corrective action for given problems
  • Contribute to technical research on new technologies
  • Estimate level of effort, evaluate new options of similar technology, offer suggestions to improve processes, and provide feedback on some electrical design aspects
  • Serve as a mentor to less experienced software engineers (Software Engineer 1)

Requirements

  • Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Math, Physics or related fieldANDa minimum of 1 year relevant experience (notincluding internships or co-ops)ORan equivalent combination of education and experience
  • Excellent academics (cumulative GPA greater than or equal to 3.0 as a general rule)
  • Demonstrated proficiency and experience necessary to develop moderately complex software in embedded C/C++, preferably on Linux
  • Proficient knowledge, utilization and mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
  • Collaborative and flexible, eager to learn, * Outstanding academics (cumulative GPA greater than or equal to 3.5)
  • Experience with networking or communications across the internet including streaming audio or video
  • Experience with wireless technologies such as Wi-Fi
  • Experience developing multi-threaded programs in Linux
  • Knowledge of modern C++ standards
  • Python scripting experience

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

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:04 min

Introduction to Bitcoin script parsing tools

Steve Shadders · LIVE

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

1:53 min

Evaluating traditional scripting languages for modern development tasks

Jens Knipper Jens Knipper · Europe 2026 Virtual

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · World Congress 2021

Videos

See all

Related articles

See all