Sr. Embedded Software Engineer
Job Locations
US-VA-McLean
Job ID
2025-4376
Category |
Engineering
|
Worker Category |
Regular Full-Time[F]
|
Company Overview
Iridium is an award-winning and innovative satellite communications company with bragging rights to the only network that offers voice and data connectivity anywhere in the world. For over 20 years, Iridium's unique network and services have supported critical communications needs for individuals, businesses, and the evolving Internet of Things. At Iridium, we understand the importance of staying connected and the limitations of traditional communications networks. People across the globe, including first responders, humanitarians, global militaries, scientific researchers, and lone workers, as well as ships, aircraft and remote operations all rely on Iridium to stay connected. We take our responsibility for providing these essential communications very seriously and pride ourselves on offering a reliable lifeline when needed. Likewise, Iridium is committed to providing an exciting and innovative workplace, where employees are challenged to think outside the box and collaborate on new, bold ideas and solutions. Our talented teams are passionate about their work and the impact our company makes around the world. Iridium fosters an empowering and inclusive culture that allows employees to genuinely be their best selves. We are looking for others who want to join this truly unique company that celebrates our employees and provides the opportunity to truly make a difference in the world.
Position Summary, Job Requirements & Responsibilities
What We're Looking For: Iridium is seeking an 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
Experience & Education Requirements / EEO
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.
|