Embedded Software Developer
Sapienza is recruiting a embedded software developer to support a critical RF/communications project. The team will be developing a variety of embedded applications for commanding and controlling ground and space payloads. The immediate role of this software developer will be to supporting programming of our clients’ spacecraft payload command, and data handling system, in addition to both it’s primary (payload) and secondary (TT&C) radio functions using a proprietary protocol. The software will initially be tested on the payload prototype in a lab environment that simulates orbit operations and the software developer will also be responsible for implementing methods of data acquisition to ensure successful testing, verification, and validation.
We are looking for engineers that enjoy a challenge and have a track record of creative thinking to solve unconventional problems.
Responsibilities of the Embedded Software Developer
Developing embedded software systems in assembly, C, C++, or other languages
- Write software to interact with devices/electronics using I2C, SPI, RS-422, RS-485, Ethernet, etc.
- Write Linux device drivers and system applications for our payload flight code
- Integrating hardware and software systems, particularly SDRs and Linux servers/computers
- Reverse engineering and analysis of software
- Low-level programming of device drivers in a Unix, Linux, or Windows environment
- Bit-level data analysis
- Knowledge of various Operating Systems (OS) including Linux
- Must be able to work independently and in a team environment
Profile of the Embedded Software Developer
- A Bachelor’s in EE, CE, or CS preferred
- Experience developing embedded software systems in assembly, C, C++ required
- Experience performing reverse engineering, analysis of software or low-level programming strongly preferred
- Hands-on experience with integrating hardware and software systems required
- Hands-on experience with programming microcontrollers and single-board computers required
- Hands-experience with programming SDRs and signal processing techniques is a big plus.
- Strong knowledge of telecommunications protocols, RF communications, and multiple access methods.
- Developing embedded software systems in one or more of the following operating system environments is required: Unix, Linux
- Working knowledge of one or more of the following common protocols/standards: TCP/IP, SNMP, SDH/SONET, ATM, MPLS/GMPLS, Ethernet, Carrier Grade Ethernet, DSL, SS7, ISDN, Q2931, B-ISDN,X.25, 802.11, 802.16, SIP, MEGACO, or MGCP
- Experience with Agile Methodologies desired.
- You must be eligible to work in the US.
For information on how we process the personal data in your application, please see the Sapienza Privacy Statement here.