What You'll Need to Succeed:
- Bachelor's degree in electrical engineering, computer engineering, or a related technical field with 5+ year of relative software experience, including:
- 2+ years experience developing embedded software, preferably for microcontrollers
- 3+ years' experience developing software in C; solid understanding of ANSI C, common data structures and memory management techniques
- Familiarity with asynchronous event driven paradigms
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems
- Excellent knowledge of OSI model, networking protocols, interfaces, and hardware subsystems
- Solid understanding of communication protocols such as UART, SPI, and I2C
- Adequate knowledge of reading schematics and data sheets for components
- Experience with benchmarking algorithm performance on embedded systems using software and hardware techniques
- Strong communication skills, with the ability to confidently present products, deliverables, analyses, and/or issues
- Possess an analytical mindset, with the ability to understand a situation or problem and think critically to make decisions or come up with solutions
- Being a proactive communicator and asking for help when needed
- Have confidence and be able to establish valuable relationships with others
- Must be able to prioritize key tasks and have a strong sense of ownership over your work
- Be 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 Python
- Experience developing software for ARM M series microcontrollers
- Experience using Linux command-line interfaces
- Familiarity with multi-threading/multi-tasking
- Familiarity with signal analysis tools such as Wireshark.
- Demonstrated embedded systems troubleshooting experience
- 1+ years' of experience working with agile methods & environment using the Atlassian suite.
- Demonstrated understanding of software production via continuous integration
- Demonstrated understanding of best practices for software version control (Git, SVN etc)
- Knowledge of RF communication systems and protocols
- Working knowledge of bash, make and similar programming languages
We'll also need you to:
- Be able to travel to meetings with geographically remote teams
- U.S. 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 Opportunity/Affirmative 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 Minorities/Females/Vets/Disability and other protected categories.