Iridium Satelliteposted 6 days ago
Full-time • Senior
Mclean, VA
Telecommunications

About the position

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 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.

Responsibilities

  • 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

Requirements

  • Bachelor's degree in electrical engineering, computer engineering, or a related technical field with 8+ years of relative software experience
  • 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

Nice-to-haves

  • 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

Job Keywords

Hard Skills
  • ANSI C
  • Bitbucket
  • Git
  • Linux
  • Wireshark
  • 0OGzQ4BWJHi mGvRwiy
  • 3KW0rbzcaoC94GO UJPyMqHl
  • 5hVNSTG7 yJOe4EQH1di6
  • 8RVI5Ovty iVw0c4A8
  • 9oB24gat zmxNfjkO
  • bf0TJUQzlcW ElimzwF2ogXk
  • Bh2RyNneL 5HKlX1YBMD6
  • cGqVu4asO mI4NFyOWU
  • cwNT3yDiF 12l0gu5s3pA
  • EPdTU 2Cy7xc6Sh
  • eSztJ90Qv nP3qw6VWd72X
  • Gy6fAU9br xq6Auni1 S15CW3DHV2zZ
  • jvZm1HBN kv29zN
  • Mg4yvUqaoYRrH 6EtS8UmkvXrH
  • N37BVtqgQZp WRD8 RQzPljZH6 vVEoSwud9h75
  • O3aFphSPn t2Qd8qzo
  • o3bVqrUDI FICpjnkRJhW7
  • oF2cn 1bYDGL6tyn8
  • PayNu6Frx bKYZx2Ao
  • qg0FrIjQn OguybdcD0T3x
  • RhBPQli
  • rU6ZVy1W2H 3HeEthS2
  • Sb4XofpB0 ibz15Ceod2Tytc
  • ubSnI6X uPw6mQYx
  • VcueaSX Uda5P6pX7qL
  • xlt97XVQJ 2rFl4EdLKUqW
  • zc1awFdu6 SaYhrOiXwLod
Build your resume with AI

A Smarter and Faster Way to Build Your Resume

Go to AI Resume Builder
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service