Telecommunications Software Engineer
The Telecommunications Software Engineer at Lynk will be developing a variety of telecommunications applications. The software will initially be tested in our development laboratory and then on the satellite prototype that simulates orbit operations and the software engineer will also be responsible for implementing methods of data acquisition to ensure successful testing, verification, and validation.
We build systems fast so the perfect candidate for this role will have significant previous experience designing, developing, and testing telecommunications software on rapid time lines. We are looking for engineers that enjoy a challenge and have a track record of creative thinking to solve unconventional problems.
The Telecommunications Software Engineer will be responsible for design, development, modification, and testing of software that implements the GSM and LTE protocol stacks for our 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
- 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