Senior Software Engineer, Software Defined Networking
Spire — Glasgow
Copy LinkLink Copied
Spire Global is a space-to-cloud analytics company that owns and operates the largest multi-purpose constellation of satellites. Its proprietary data and algorithms provide the most advanced maritime, aviation, and weather tracking in the world. In addition to its constellation, Spire’s data infrastructure includes a global ground station network and 24/7 operations that provide real-time global coverage of every point on Earth.
As part of the drive to better serve our customers and deliver higher volumes of lower-latency data, Spire is on the forefront of driving constellation automation. To further optimize its constellation operations, Spire is seeking a senior software engineer to help develop and productionize high fidelity models of the constellation, its payloads and its communication links as complexity is ever-increasing and product requirements are increasing.
As an engineer at Spire, you’ll move fast, iterate quickly, and solve global problems. You might be the right fit if you love exciting technical challenges, hate getting bored, and enjoy collaborating with engineers who are changing the way the world thinks about space, satellites, and data. You will join a team responsible for the design and maintenance of our constellation management system.
Responsibilities of your role:
Define and implement route optimization, networking and data protocols across the constellation.
Contribute to data products that have a strong social impact: weather monitoring, ship, and aircraft tracking, and more.
Join a team that is unusually deep and broad: backend web services, distributed and embedded systems, electrical and mechanical engineering, RF, DSP, AI/ML, etc.
It’s a space program. Write code that runs on the ground and in orbit.
You get to work on technical problems that are different from your average web app.
Qualifications / Experience:
Have a good taste: see the big patterns and instinctively know the right way to do things.
At least 4 years of software development experience.
Domain flexibility, good communication skills, and preference for simple, robust solutions.
Experience with interpreted languages (ideally but not necessarily Python).
Experience with distributed systems.
Strong working knowledge of networking theory and practice
Strong understanding of algorithms and data structures.
Strong candidates will also possess skills in one or more of the following areas:
In-depth understanding of traditional networking protocols like TCP/IP and UDP/IP
In-depth understanding of protocols for environments with intermittent connectivity, highly asymmetric data rates, high latency, and unreliable links such as Nasa/JPL’s Delay/Disruption Tolerant Networking (RFC 4838/RFC 5050/ ietf-dtn-bpbis) and implementations thereof such as JPL’s ION-DTN (Interplanetary Overlay Network DTN).
Knowledge of routing algorithms for data in spatio-temporal networks such as Low Earth Orbit satellite constellations.
Experience with system languages (such as C, C++, Go).
Product mentality: figure out how to maximize value.