Q&A with Russell Perry, Apex Software Engineer

Published on
March 28, 2023
Subscribe to our newsletter
By subscribing you agree to our Privacy Policy.
Check your email to confirm your subscription.
Oops! Something went wrong while submitting the form.
Share

Russell is a Flight Software Engineer at Apex Spacecraft Manufacturing. He has developed software and led teams for a variety of aerospace applications. Prior to Apex, he was at Relativity Space as the manager of embedded software. He personally developed and managed the software for a variety of sub-systems including engine controllers, thrust vector controllers and power distribution boards for both the Terran 1 and Terran R programs. Russell holds a BS in Electrical Engineering from the University of California, Riverside.

Q: Why does software matter on satellites?

The software on a satellite controls and manages every aspect of its operation, from its communication systems to its propulsion systems. Without software, satellites would just be an expensive brick floating through space.

Q: What’s your favorite story from your career?

As part of my previous role, I was responsible for developing software that would control the rocket's engine and ensure that it functioned correctly. Timelines were tight and I was under a lot of pressure to get everything right as one small mistake could have catastrophic consequences.

After months of planning, coordination, development and debugging we were on the cusp of deploying the engine controller to the test stand for initial testing. However, hours before shipping, we discovered a critical bug that prevented the checkout of key components on the engine. With input from the hardware team, I pushed a bugfix on the production floor that unblocked checkouts and allowed us to make the shipping deadline.

A few days later I waited anxiously as the engine chilled in for initial startup. A lot of systems, including the software I developed,  had to work together flawlessly for the first engine hotfire to be successful. Everyone involved in the development  was anxiously watching the camera feed for signs of fire. As the countdown hit zero, I was overjoyed as fire erupted from the engine proving the software had worked perfectly.  

Q: What do you value most in your work philosophy?

I can do anything, but not everything. This is particularly applicable to software, as you can work on any software project for an infinite amount of time. One can waste many hours tweaking user interfaces, improving error logging, and adding new telemetry. Because of this, it is extremely important to prioritize effectively, build for modularity and leverage existing tools, packages and ideas when appropriate. I often frame additional features requests or new requirements as “what am I giving up” to deliver the new feature. Often, it features on the other side of the stack.  


Q: You’ve seen all parts of aerospace– why work on satellite buses?

First, Iteration speed. In the launch industry, general aviation and other aerospace applications, it can take years before your code is executed in the real world. Even if you reach a successful deployment, changing that code is either out of the question, or will require extensive certification and testing. Satellite buses have a much faster timeline (just look at how many buses Apex plans to deliver in the next few years). This enables a tighter feedback loop so you can test out new software, ideas and approaches.

Second, the problem space. Satellite buses are the “backbones” of a lot of different applications in space. Not only do I get to develop software that will execute complex maneuvers, monitor critical systems and provide customers with easy interfaces, I also will get to assist in helping our customers execute some pretty awesome missions like refueling in space, various edge computing applications and a lot more things to come.  

Finally, for my own personal development. Each new software project that I have worked on has gone higher and higher. First it was software for underwater drones and boats, then I moved to airplanes and helicopters, then launch vehicles. Now the software I work on is reaching peak altitude with satellite buses. More seriously I think it's important to both bring ideas from different industries and expose oneself to how problems are solved in other industries.    

Q: What’s the biggest misconception around aerospace software engineering?

That it's boring and everything is an iteration on existing design. Aerospace is changing and incorporating a lot of lessons from tech, automotive and other industries that have approached similar problems with a different point of view. Some companies do still have long development timelines with archaic technologies. However, Companies like Apex are leading the charge to change this culture and are iterating and innovating at a rate that the industry has not seen for a long time.

© 2022 Apex. All rights reserved.
Privacy Policy