Brendan James Gray

About

South African astronaut in space

I'm a South African born engineer and software developer. I always knew that I would one day go to space — I just didn't know how. In the year 2000, I was distracted from this ambition by a book with a few example games in BASIC (I will find this book one day). Although still harbouring dreams of being an astronaut, I took a short detour into the world of software development.

After two and a half decades down that rabbit hole, and more than twenty languages later, I now makes a living consulting in the software industry building software systems to drive automated workflows. I spend my little free time being distracted by various side quests, blissfully ignoring the primary objective of becoming an astronaut.

Experience

I have experience in most software development roles, with 4 years teaching software development, 4 years working as a software engineer, 4 years in team lead and management roles, and 2 years as a systems architect.

The majority of my career has been in consulting, giving me exposure to a range of industries, from banking and finance, to telecommunications, to mining, to logistics, to aerospace and defence.

I've worked in TypeScript, Python, MATLAB, C#, Rust, C++, and a few others. Most of my professional experience has involved designing and developing solutions for operational monitoring, algorithm optimization, credit rating models, automated reporting frameworks, and more.

Although the software I create at work has to meet the needs of others and earn its keep, the software I create in my free time is coded for the thrill of personal curiosity alone. I have written web apps (but please don't call me a full-stack developer), pointless games (like one where you have to rip pages out of a book), those little toys that every programmer writes at some point (like a fractal generator, or an artificial life simulation), and lots of silly scripts that do things that only I care about (like sort last layer cases for Rubik's cubes, or generate wing designs for MineCraft).

Learn more about some of my side projects here.

Education

I have a BSc in Aeronautical Engineering and a PhD in unsteady shock wave physics. I've published a couple of papers, one describing the design of novel experimental apparatus for reliably generating shock waves of various shapes, and another describing previously undescribed shock wave reflection behaviour. I also presented my research at one local and three international conferences.

Learn more about my research here.

Hobbies

I like to think of myself as an proud father, avid reader, casual gamer, and part cyborg, but most of my free time is actually spent solving Rubik's cubes and related puzzles, and writing software to analyse these puzzles.

It took me 5 years to learn to solve my first Rubik's cube, but I have been hooked ever since. I began competitive speedsolving in 2014, and broke the African continental records for Skewb average in 2015, and 3x3x3 fewest moves single and average in 2016. I became a delegate for the World Cube Association in 2016, and have been involved in organising and running competitions in South Africa ever since.

Explore my cubing improvement here.

When not cubing or programming, I enjoy computer gaming (puzzle, simulation, base-building, and management games especially), playing Dungeons & Dragons, writing, and spending time with my family.

© 2025 Brendan James Gray. All rights reserved.