Spire is a satellite powered data company that owns and operates one of the world’s largest satellite constellations and ground station networks collecting high-value data from space.
Spire’s AirSafe product captures aircraft transponder signals on a global basis from our orbiting payloads, enabling analysis of worldwide flight patterns and performance for better operational decision-making making and safety monitoring. As a software engineer in Spire’s Aaviation Bbusiness Uunit, you will be part of a small team that works closely with product and business development on rapid deployment and iteration of Spire’s customer-facing service.
As a software engineer at Spire on our Aviation team, 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, the global aviation ecosystem, and data.
Spire’s Aviation Business Unit is currently working on making real-time, truly global coverage of all aircraft a reality by leveraging the capabilities of our ADS-B-tracking satellites. Our goal is to help airlines and aircraft manufacturers gain complete visibility of global airways, as well as to provide value-added analytics to assist all actors of the aviation ecosystem in taking better, more informed decisions.
You will join a team responsible for the design and maintenance of our ground-side data processing pipeline, from ingesting satellite data all the way through designing and scaling the APIs that our customers depend on for global data insights.
We care a lot about the quality and expressiveness of our code. We think TDD is great, and we’re doing Continuous Deployment to our staging environments and working our way to make that true for production as well. We know that DevOps is a culture and it’s a big part of how we work. We recognize that professional growth comes from operating at the boundaries of our comfort zones, and we encourage and support each other through code reviews, pair programming, and lots of communication. If this sounds like your cup of tea, we’d love to hear from you!
Your responsibilities will include
Working as part of a small team to design and deploy web applications, services, and data streaming/processing systems
Designing and implementing robust and scalable APIs
Developing and deploying distributed applications on AWS
Working closely with Product Management to define and enhance customer-facing products and applications
Helping to lead the design, implementation, and deployment of new features
Have 2+ years of experience programming REST APIs and backend systems in Python
Are comfortable with full-stack web development tasks, from designing and implementing UIs all the way down through domain modeling, data processing, and database tuning
Know how to develop in and deploy to Linux environments
Enjoy working as part of a team, but can also take on and complete tasks on your own
As a bonus, you also have experience with some or all of the points below:
Writing automated unit and integration tests, ideally in a TDD fashion
Have worked within distributed teams & multicultural environments
In-depth knowledge of API design principles and best practices, caching strategies, and designing for resiliency and scalability
Building fault tolerant distributed systems in environments with intermittent and high-latency connectivity
Working with relational and non relational database theory and practice e.g. PostgresQL, Redis, ORMs, consistent hashing
Familiarity with tools and techniques in distributed systems and handling large volumes of streaming data: queues, RPCs, serialization, versioning, eventual consistency, exactly/at-most/at-least-once message semantics
Displays strong writing skills and the ability to communicate and present arguments and recommendations via the written word (i.e. writing)