(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 updated on the go with our mobile app.
Get latest insights with smoother, more personalized experience through TIA mobile app.




