Weekly Space Buzz vol 3

Why AI Copilots Might Leave Engineers Lost in Space

Hello friend,

This one's going to be slightly different, more of an afterthought from the previous text.

Last week, when I wrote about THOR and ADAM software, my inner nerd got really excited, and I spent an undisclosed amount of time going through the codebases of both. I did this because, at the end of the day, my background is in software engineering, and I've spent countless hours writing code myself. I still do.

While going through those codebases, I started to ponder how much complexity is concealed nowadays by tools like GitHub Copilot or JetBrains AI Assistant (just to name a few). While not inherently bad, those tools can deprive you of a great opportunity to learn and improve by essentially "writing" the code for you, often generating solutions that are correct but that you may not fully understand.

The thing I am interested in, other than space, is programming languages. I enjoy coding parsers, analysing existing languages, and learning about tools and techniques to enhance them. I don’t want to compare what’s more complex in terms of pure engineering; both space-oriented software and programming languages are often extremely complex projects requiring a deep understanding of the problem at hand.

What’s the concern?

This is where the problem with AI assistants lies, in my view. They're being overused more and more for tasks I don’t think they should be handling. Developers rely on their AI friends to write entire solutions without engaging in deeper thought. I get it, it’s easy. After all, you only have to tell the AI what it needs to write and approve the code. I use AI in my workflow as well; I understand the temptation to just let it fly and get the job done in a matter of minutes.

JavaScript developer 2024

But it takes away something very important from you: real experience. You can have a PhD, you can be the most senior in your team, but if you overrely on those tools, you’ll get rusty before you know it. I know that from experience. I’ve noticed that the more I used AI, the less I was able to come up with solutions myself. Not because I hadn’t solved similar problems before, but because the muscle that's not being used is getting weaker. One day, I simply caught myself staring at the computer, waiting for the AI to write the code, and not even knowing what code exactly I was expecting. I turned it off for a while.

I realised I was no longer in charge, and I didn’t like that feeling.

I was afraid that if I kept going like that, I’d lose all the knowledge I’d gained over the years. The type of knowledge that you acquire through books but first and foremost through trial and error. By building stuff, failing, learning from it, and trying again. AI assistants, while likely capable of fairly accurately writing required code, deprive you of the experience gained from attempting to solve those nasty issues yourself. The more you rely on them, the more compliant you become with what the AI model suggests, to the extent that (I'm certain there are people at that extreme) the entire development process becomes waiting for the computer to dictate your actions. You're no longer in control. Just like I was.

Should you stop using AI?

Absolutely not. AI Copilots are remarkable tools that, when used correctly, can save a lot of time. They excel at swiftly handling tedious, repetitive tasks, and they're continually improving at recognising patterns, thus enhancing their ability to write unit tests, a process often overlooked and deemed time-consuming. Use that to your advantage. Focus on what’s worth solving, leave the rest to the AI.

If it truly functions as a copilot in your process, managing tasks that don't demand much thought on your part, then that's excellent. However, it's worth switching it off occasionally just to appreciate the craft more.

How’s that relevant to space?

The space industry, as acknowledged by many insiders and confirmed by my conversations with some industry recruiters, is one of the most challenging fields to enter. Compliance and security concerns aside, if you aspire to work in this industry, becoming exceptionally proficient in your field is an absolute necessity. Even with a surplus of candidates in the current job market, securing a position is exceedingly difficult.

Utilising tools that diminish the necessary experience doesn't work in your favour. Even obtaining a graduate degree or a PhD might not suffice. Theory without practical application will only take you so far.

So, if you're an engineer, with your unique set of skills and expertise, then by all means, embrace your passion for building things, breaking them down, and learning from the process. Engage in the exciting cycle of creation, destruction, and reconstruction, for it is through this iterative approach that true mastery is achieved. Allow your curiosity to guide you as you delve into the intricate details of your craft, constantly seeking to push the boundaries of what is possible.

However, for those with different occupational profiles, it is important to recognise that sometimes taking shortcuts can only serve to prolong the journey towards success. While it may be tempting to seek quick fixes or easy solutions, it is often through the arduous path that true growth and development occur. Embrace the challenges that come your way, for they are the stepping stones that lead to personal and professional advancement.

Instead of seeking shortcuts, focus on honing your skills, expanding your knowledge, and cultivating a deep understanding of your chosen field. Embrace the process of gradual improvement, knowing that each small step forward brings you closer to your goals. Take the time to truly immerse yourself in your work, for it is through dedication and perseverance that greatness is achieved. Then go full throttle on any tools that make you even more productive.

If you liked that text, let me know. Share it with someone you think might be interested.

Until the next one,

Kuba