Tired of ads? Enjoy an ad-free experience by signing up.
Abner Coimbre · · 6 min read

A look into NASA’s coding philosophy

(Having done work at Kennedy Space Center does not imply I’m NASA’s mouthpiece. This write-up was made in a personal capacity and came from a live talk I gave on Twitch.)

There’s a recurring theme in the programming community that’s tied to finding “better ways” to write modern software. Whether the term modern is actually useful or not—computer programming hasn’t been around for very long—I’m definitely left with the impression that people always have something new or better to say on the subject. And so, if we pay attention to the conversations surrounding software development today, we’ll quickly realize how important it is to separate the wheat from the chaff (what’s useful and what isn’t).

NASA has to cut through the bullshit

Stakes are high when writing safety-related software. Photo credit: David Mcnew.

Given all of this modern software talk, I’ve heard beginner programmers ask what I think is the most important question of their careers: Which things should we pay attention to? Honestly, it’s quite cruel to encourage them and follow that up with:

  • Should OOP be the future of programming?
  • Let’s join the Rust Evangelism Strikeforce LUL.
  • Is Go like totally better than?

At least, that’s not how NASA set out to answer this question.

The space program may suffer irreversible consequences if any of its software is incorrect—death among them. The shock of that reality has allowed them to develop a certain attitude toward programming. It could be instructive to take a look at what they value.

Having worked there for some years, I wanted to provide you a firsthand account of the philosophy that’s allowed the space agency to produce some of the world’s most reliable software. I’ll also frame their attitude toward programming with a set of four assumptions I think they make for programmers in the workforce (things I’ve experienced directly).

NASA’s four assumptions

Access to a mentor

“Who’s your mentor?” is a common icebreaker with any pair of sweaty NASA programmers, avoiding eye contact. We’re all assigned personal mentors from the very beginning. The idea that a junior programmer doesn’t have a capable and more senior mentor to overlook their individual progress is close to horrifying for the space program.

Trusting each other’s potential

There’s a reasonable degree of trust when someone enters the company due to the federal background investigations they’re subjected to. It is also assumed that everyone has something valuable to offer, and we trust the potential of the individual. Show that you’re good and the title becomes almost meaningless. It’s not uncommon for an intern to contribute to high-profile NASA software projects.

You’ll say, ‘I don’t understand’

This statement is thrown around left and right. You will have knowledgeable senior developers asking interns, “I don’t understand this part of the codebase. Is that a language feature I don’t know about yet?” or management asking engineers, “I’m not sure what the implications of your work today are. Could we go over it a few times until I have a good grasp of it?” These questions are at the core of their daily work routine.

Lessons learned

Recommendations

Stay ahead in Asia’s tech landscape

You've reached your 2 free content limit for the month. Sign up for free to read the full story.

🏄 For casual readers / 👶 Free

Basic

US$0

Free forever

Get instant access to this article and more every month

0 premium content

Unlimited news briefs

5

5 articles

Ad-free reading experience

Just US$0 per day

⌛Sign up in 20s. No payment details needed.

📖 For learners / 👍 Starter

Lite

US$4.92/month

Billed annually at US$59/year

Get instant access to this article and more every month

4

4 premium content

Unlimited news briefs & articles

Ad-free reading experience

Just US$0.17 per day

Cancel anytime

Our subscriber community includes professionals from these companies:

Stay updated on the go with our mobile app.

Get latest insights with smoother, more personalized experience through TIA mobile app.

Community Writer

Abner Coimbre

2017 marked three years of work at Kennedy Space Center, writing launch control software. I was awarded Kennedy’s Intern of the Year by 2015 which lead me to the NASA Pathways program up this year.