Sapienza Consulting has been retained by a NewSpace communications venture headquartered in the US, who are currently seeking an experienced Software Engineer. The incumbent will help design and test telecommunications software.
The Software Engineer will be developing a variety of telecommunications applications. The software will initially be tested in our client’s development laboratory and then on the satellite prototype that simulates orbit operations. The software engineer will also be responsible for implementing methods of data acquisition to ensure successful testing, verification, and validation.
The perfect candidate for this role will have significant previous experience designing, developing, and testing telecommunications software on rapid timelines. We are looking for engineers that enjoy a challenge and have a track record of creative thinking to solve unconventional problems.
Responsibilities of the Software Engineer
The Software Engineer will be responsible for design, development, modification, and testing of software that implements the GSM and LTE protocol stacks for our client’s cell tower in orbit. This includes:
- Developing and modifying Linux applications that implement the telecommunications functions required for our cell tower in orbit protocol stacks
- Integrating telecommunications hardware and software systems, particularly software defined radios and Linux servers/computers
- Implementing inter-application coordination and communications using standard Inter-process communication (IPC) mechanisms available in Linux
- Developing test software and drivers to support unit, integration, and system testing of all telecommunications software functions
- Writing this software in C, C++, or other languages in a Linux or Windows environment
Profile of the Software Engineer
- A Bachelor’s degree (or better) in Telecommunications Engineering, Electrical/Computer Engineering, Software Engineering, Computer Science, or related field.
- At least five years of recent experience with telecommunications software implementing GSM and/or LTE protocols.
- Strong knowledge of telecommunications protocols, RF communications, and multiple access methods: LTE, EDGE, GPRS, HSPA, GSM, CDMA, TDMA, FDMA etc.
- Strong knowledge of all layers (user and control plane) of cellular network infrastructure elements, including RAN and Core network signaling (e.g. HSS, HLR, VLR, AuC, MME, EPC, eNB, S-GW, P-GW, etc.)
- 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
- Understanding of software defined radio systems including Receiver architectures, Software channelization, Modulation/demodulation techniques, Spectral analysis, Error correcting codes
- Experience using wireless communication test equipment (spectrum analyzer, network analyzer, signal generator, etc.), analyzing test logs and isolating test failures
- Demonstrated experience working with multiple programming languages (C, C++, Python), operating systems, and development environments
- Experience with standard Inter-process communication (IPC) mechanisms available in Linux
- Experience performing reverse engineering, analysis of software, and low-level programming desired
- US citizen
For information on how we process the personal data in your application, please see the Sapienza Privacy Statement here.