Search jobs > Cary, NC > Sr embedded software

Sr Embedded Software Engineer - Marine Media Applications

Garmin
Cary, North Carolina, US
Full-time

Overview We are seeking a full-time Senior C / C++ Embedded Software Engineer in our Cary, NC location on our Marine Media team.

We’re seeking someone who is passionate about creating great integrated media, entertainment and weather awareness experiences for boaters.

You will build applications that coordinate and control stereo, streaming audio, LED lighting and other entertainment devices;

integrate media content across the vessel network; and integrate broadcast services for media and weather into the marine ecosystem.

Your software will run on marine chartplotters and other devices. Essential Functions Serves in a leadership capacity as an individual contributor for carrying out embedded software development in C and C++ Designs and implements code that is efficient, maintainable and verifiably correct Works effectively across multiple software layers, focusing on application logic, data persistence and network communications Works collaboratively with UI and low-level engineering teams Builds relationships with product managers, quality teams and engineers across Garmin Reviews architected modules and software systems supporting new technology or improving capability / performance of existing functionality Decomposes functional requirements into well-defined tasks Researches fundamental problems and implements algorithm solutions that are appropriate Offers peer technical assessments in areas of expertise, new technologies and software designs May serve as a Lead Software Engineer for complex software development projects May coordinate work across teams, geographies and technical domains Assists design engineering as needed with component datasheet review and schematic design review 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 Basic Qualifications Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering 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 and C++ on an embedded platform 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 Linux development experience RTOS experience Passion for boating or other on-the-water activities Passion for audio, media or other entertainment technologies Familiarity with design, development and testing of reusable application code, including API-oriented design Experience with test automation design Familiarity and / or proficiency with mid-level protocol development and debugging, as needed for device-to-device communication Experience with git, Gerrit, JIRA and Microsoft Azure ADO Familiarity with embedded or mobile UI development is a plus Familiarity with networking protocols and standards, including TCP / IP, Wi Fi, Controller Area Network (CAN) / NMEA, Bluetooth / BLE and ANT, and experience implementing and debugging network applications, are a plus Garmin 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 BenefitsEssential Functions Serves in a leadership capacity as an individual contributor for carrying out embedded software development in C and C++ Designs and implements code that is efficient, maintainable and verifiably correct Works effectively across multiple software layers, focusing on application logic, data persistence and network communications Works collaboratively with UI and low-level engineering teams Builds relationships with product managers, quality teams and engineers across Garmin Reviews architected modules and software systems supporting new technology or improving capability / performance of existing functionality Decomposes functional requirements into well-defined tasks Researches fundamental problems and implements algorithm solutions that are appropriate Offers peer technical assessments in areas of expertise, new technologies and software designs May serve as a Lead Software Engineer for complex software development projects May coordinate work across teams, geographies and technical domains Assists design engineering as needed with component datasheet review and schematic design review 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 techniquesBasic Qualifications Bachelor’s Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering 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 and C++ on an embedded platform 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 Linux development experience RTOS experience Passion for boating or other on-the-water activities Passion for audio, media or other entertainment technologies Familiarity with design, development and testing of reusable application code, including API-oriented design Experience with test automation design Familiarity and / or proficiency with mid-level protocol development and debugging, as needed for device-to-device communication Experience with git, Gerrit, JIRA and Microsoft Azure ADO Familiarity with embedded or mobile UI development is a plus Familiarity with networking protocols and standards, including TCP / IP, Wi Fi, Controller Area Network (CAN) / NMEA, Bluetooth / BLE and ANT, and experience implementing and debugging network applications, are a plus Garmin 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

30+ days ago
Related jobs
Promoted
Disney Entertainment & ESPN Technology
Morrisville, North Carolina

The Media Processing & Distribution group is hiring a talented Senior Software Engineer to support the growing Content Distribution & Origin (CDO) Engineering team. The Media Distribution group within Disney’s Media Engineering organization is responsible for the development, support, and management...

Promoted
Northrop Grumman
Morrisville, North Carolina

As a Software Engineer, you will be on the Command-and-Control team where you will design, develop, document, refactor, test, and debug applications software for a Ground Segment. Come be a part of our mission! Northrop Grumman Space Systems (NGSP) seeks to find a Software Engineer in the Payload an...

Garmin
Cary, North Carolina

Essential Functions Serves in a leadership capacity as an individual contributor for carrying out software development in C and C++ on the mid-to-high level of the embedded stack May serve as a Lead Software Engineer for complex software development project designs and/or reviews architected modules...

Actalent
Raleigh, North Carolina

As an experienced Embedded Software Engineer, you will play a pivotal role in the development of our medical device software systems. This position involves driving software quality efforts and providing expertise in embedded software development, software configuration management, and continuous in...

Garmin
Cary, North Carolina

Essential Functions Creates and executes designs for small sets of new functionalities as part of a software project using C and C++ at the middle to high (GUI) layer of the embedded stack Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in...

BAE Systems
Durham, North Carolina

The BAE Systems GXP Software Team, based in Durham NC near Research Triangle Park, is seeking highly motivated and experienced software engineers to join our team. Degree in Computer Science, Computer Engineering, Software Engineering. Familiarity with software development/engineering, including req...

Canonical - Jobs
Raleigh, North Carolina

Our teams partner with specialist engineers from major silicon companies to integrate next-generation features and performance enhancements for upcoming hardware. Design and implement the best Ubuntu integration for the latest IoT and server-class hardware platforms and software stacks. Help our cus...

Extron
Raleigh, North Carolina

The Software Application Engineer for Control System Software works directly with a cross-functional software team, other product managers, and stakeholders. SOFTWARE APPLICATIONS ENGINEER- CONTROL SYSTEMS. Extron is a leading developer and manufacturer of professional AV hardware and software solut...

Northrop Grumman
Morrisville, North Carolina

Basic Qualifications: Staff Software Engineer:  Bachelor's + 9 years of experience; Master's + 7 years of experience: PhD + 4 years of experience or 13 years of software development experience in lieu of a degree. Principal Software Engineer based out of Morrisville NC, Fairfax VA, Linthicum or Auro...

Pierce Technology Corp
Raleigh, North Carolina

Work in dynamic self-organized agile teams to develop high-quality software applications using the best technology stack, design, and architecture. Interact with stakeholders to analyze, design, and develop new features and enhancements in various applications supporting the entire Victra business. ...