Post Job Free
Sign in

Senior Embedded Software Engineer

Company:
Iridium
Location:
Tysons, VA, 22107
Posted:
May 01, 2025
Apply

Description:

What We’re Looking For:

Iridium is seeking a Senior Embedded Software Engineer to join our Mobile Product Software Engineering Team! As an Embedded Software Engineer, you will be responsible for enhancing and sustaining the source code used in our mobile products and associated engineering tools. In this role, you’ll be support the software for Iridium’s transceivers while contributing to the development of high-quality, long-lasting products for our customers. This role is perfect for someone who is passionate about creating reliable and robust products, takes pride in the long-term success of their work, and is highly self-reliant.

What You’ll Do:

Design and develop embedded software for microcontrollers, ensuring high-quality, performance, and reliability

Autonomously execute software development tasks while meeting project timelines

Implement and optimize real-time operating systems, device drivers, and communication protocols

Debug and troubleshoot firmware issues, ensuring timely resolution

Reproduce, isolate and debug complex low-level problems that may span hardware and software interfaces

Integrate, build, and manage embedded software configuration

Write and maintain unit, regression and pairwise test suites for mobile product software

Create and maintain documentation, such as software requirements, ICDs, test plans and procedures

Lead and mentor junior software engineers to improve their skills and increase team productivity

Review work products created by other team members

Collaborate with software, hardware, and system development engineers

Work cross functionally to instill a strong culture of product quality within the organization

Provide technical guidance to cross-functional teams and stakeholders

Confidently present complex information to groups outside of your team through briefings, documentation, implementation plans, or issue resolutions

What You’ll Need to Succeed:

Bachelor’s degree in electrical engineering, computer engineering, or a related technical field with 8+ years of relative software experience, including:

5+ years (post-college) developing embedded software for microcontrollers

6+ years(post-college) developing software in C, with a solid understanding of ANSI C, common data structures and memory management techniques

4+ years using Linux command-line interfaces

Demonstrated expertise in asynchronous, event-driven programming paradigms,

Extensive experience designing embedded systems using preemptive, multitasking, real-time operating systems

Strong knowledge of OSI model, networking protocols, interfaces, and hardware subsystems.

Comprehensive knowledge of communication protocols such as UART, SPI, and I2C

Hands-on experience in reading schematics and data sheets for components

Experience benchmarking algorithm performance for embedded systems using a combination of software and hardware techniques

Ability to proactively seek assistance when needed

Strong focus on continuously improving skills and acquiring new knowledge

Excellent communication skills, with the ability to clearly convey products, deliverables, analyses, and issues to diverse audiences

Confidence and ability to build and sustain relationships with leadership and colleagues across teams

Analytical mindset, with the ability to assess situations or problems, think critically, and devise out-of-the-box solutions

Proactive in providing feedback and enthusiastic in sharing your knowledge

Capable of prioritizing your own tasks and potentially the tasks of others while making sure deadlines are met

Things That Would be Great if You Brought to the Table:

3+ years of experience in developing ancillary tools in Python

2+ Years of experience developing software for ARM M-series microcontrollers

2+ Years of expertise in multi-threading/multi-tasking

3+ years of experience working with agile methods (including Scrum or Kanban) & environment using the Atlassian suite

Hands-on experience with signal analysis tools such as Wireshark

Embedded systems troubleshooting experience

Understanding of software production workflow using continuous integration

Knowledge of best practices for software version control (e.g., Git, Bitbucket)

Familiarity with RF communication systems and protocols

Working knowledge of bash, make and similar programming languages

We’ll also need you to:

Ability to travel to meetings with geographically remote teams as needed (typically once per quarter)

Willingness to work a hybrid schedule, with at least one week per month in the office (located in McLean, VA) and additional in-office days as needed

US Citizenship required

Work Environment:

This position primarily works in an office setting and is largely sedentary with the majority of the position working with a computer. The role typically requires the use of basic office equipment such as a phone, video, computer, keyboard, mouse, and printer.

Iridium is an Equal Opportunity Employer, including individuals with disabilities and protected veterans.

Apply