Embedded Software Engineer
Iridium - newark, NJ
Apply NowJob Description
What We're Looking For:Iridium is seeking an Embedded Software Engineer III 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 gain valuable experience working on software for Iridium's transceivers while contributing to the development of high-quality products for our customers. If you are passionate about creating reliable and robust products, committed to the long-term success of your work, and highly self reliant, you'll thrive in this position. What You'll Do:Design and develop embedded software for microcontrollers ensuring high-quality, performance, and reliabilityImplement and optimize real-time operating systems, device drivers, and communication protocolsDebug and troubleshoot reported firmware issues, ensuring timely resolutionReproduce, isolate and debug complex low-level problems that may span between hardware and software interfacesIntegrate, build, and manage embedded software configurationWrite and maintain unit, regression and pairwise test suites for mobile product softwareCreate and maintain documentation, including software requirements, ICDs, test plans and proceduresReview work products created by other team membersCollaborate with software, hardware, and system development engineersWork cross functionally to instill a strong culture of product quality within the organizationWhat You'll Need to Succeed:Bachelor's degree in electrical engineering, computer engineering, or a related technical field with 5+ years of relative software experience, including:3+ years' experience developing embedded software, preferably for microcontrollers4+ years' experience developing software in C; solid understanding of ANSI C, common data structures and memory management techniquesFamiliarity with asynchronous event driven paradigmsProven experience in embedded systems design with preemptive, multitasking, real-time operating systemsExcellent knowledge of OSI model, networking protocols, interfaces, and hardware subsystemsSolid understanding of communication protocols such as UART, SPI, and I2CAdequate knowledge of reading schematics and data sheets for componentsExperience with benchmarking algorithm performance on embedded systems using software and hardware techniquesStrong communication skills, with the ability to confidently present products, deliverables, analyses, andor issuesPossess an analytical mindset, with the ability to understand a situation or problem and think critically to make decisions or come up with solutionsBe comfortable managing upward, including being a proactive communicator and asking for help when neededHave confidence and be able to establish valuable relationships with othersMust be able to prioritize key tasks and have a strong sense of ownership over your workBe active in seeking out ways to continuously improve yourself and gain new knowledge Things That Would be Great if You Brought to the Table:1+ years of experience in developing ancillary tools in PythonExperience developing software for ARM M series microcontrollersExperience using Linux command-line interfacesFamiliarity with multi-threadingmulti-taskingFamiliarity with signal analysis tools such as WiresharkDemonstrated embedded systems troubleshooting experience1+ years of experience working with agile methods & environment using the Atlassian suite.Demonstrated understanding of software production via continuous integrationDemonstrated understanding of best practices for software version control (Git, SVN etc)Knowledge of RF communication systems and protocolsWorking knowledge of bash, make and similar programming languages We'll also need you to:Be able to travel to meetings with geographically remote teams, as needed (typically once per quarter).Be able to work a hybrid schedule that includes at least one week in office (located in McLean, VA) and as needed.US Citizenship required Work Environment:This position primarily works in the company office or in a home office. The position is largely sedentary with the majority of the position sitting in a chair and working with a computer. The role uses basic office equipment including a phone, video, computer, keyboard, mouse, and printer. Iridium is an Equal OpportunityAffirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability, sexual orientation, gender identity or status as a protected veteran. EOE of MinoritiesFemalesVetsDisability and other protected categories.
Created: 2025-02-21