A Principal Software Engineer at Epic Games / 25 Year Vet, talks about why AI is just a "giant switchboard" and why code is a delicate crystal.
Posted by deohvii@reddit | learnprogramming | View on Reddit | 30 comments
I’ve been thinking a lot about how people actually get comfortable with complex topics like programming, not by tutorials, but by just being passively around the conversations.
So I recorded one of those conversations.
I sat down with Dietmar Hauser (25+ years in the industry, Principal Software Engineer at Epic), and we went from Commodore 64 days, literally typing code out of magazines. All the way to modern C++ and where we find ourselves at the moment with another layer of abstraction = LLMs.
What stuck with me wasn’t just the history, but how he talks about coding as this fragile, interconnected system (“a delicate crystal”), that shatters if you touch the wrong thing, which i found very interesting.
It’s a long, unfiltered discussion, more like something you overhear between two people deep in the field than a structured interview.
If you’re trying to get a feel for how experienced engineers actually think about code, or if you wanna warm up to the idea, this convo might be useful:
https://youtu.be/PE3aCgSHvTQ
Grand_War3619@reddit
the crystal metaphor is so accurate, especially when you're working with legacy systems that nobody wants to touch because one small change breaks everything in production
been in IT for while and i've seen codebases where even senior devs are scared to refactor anything because the whole thing is held together by some mysterious logic from 10 years ago. makes you appreciate good documentation and clean architecture when you actually find it
HasFiveVowels@reddit
For poorly designed systems, the metaphor might be accurate. But this feels a bit like saying "code is a delicious plate of spaghetti". In both cases, my response is "it really shouldn’t be"
mattindustries@reddit
Games are pretty complicated, built fast, and require heavy amounts of performance optimization. Sure, for building some CRUD software it should be that way, but games often have a lot of cooks, and decisions that require performance over maintainability, especially if they are doing processor specific optimizations, and CUDA vs non-CUDA operations.
HasFiveVowels@reddit
The idea that you can’t write performance robust code isn’t true. But even if it was, that would just turn the headline into "game developer says something about dev work in general but it only really applies to game dev and other niche environments". I don’t think any experienced dev would agree that good code is a "delicate crystal". If your code is that fragile, PEBKAC.
mattindustries@reddit
Pretty lame take, but you do you.
HasFiveVowels@reddit
How is this lame? "Good software isn’t fragile" isn’t exactly a hot take
Svorky@reddit
The classic "go to definition" -> "go to definition" -> "go to definition" -> "deprecated: 2014" spelunking in the middle of the 2000 line billing procedure the entire business runs on.
backfire10z@reddit
Deprecation is only a warning if you never update your libraries
deohvii@reddit (OP)
Ah yeah it feels like that moment in a video game where you discover an older civilization existed haha. But that is the danger of "common sense" right? Leaves me thinking about commentating my work even more.
ffrkAnonymous@reddit
Obligatory xkcd https://xkcd.com/2347/
Heffree@reddit
Props to you for powering through this, your guest was very gracious as well. Your lack of knowledge in the field is very loud just to let you know. Presenting this as "something you overhear between two people deep in the field" feels egotistical. I feel it would've been much more digestible if you were more upfront with your knowledge level instead of playing at understanding. Looking at your channel you're presumably a very experienced VFX/Technical Artist, it feels disrespectful to the experience you have to pretend at having this understanding.
I think it would've been pretty interesting for you to have met him from your perspective rather than trying to mirror his perspective.
deohvii@reddit (OP)
Yeah i can see where reading that can communicate the wrong idea. That line was meant as an example not as framer of the podcast.
You’re reading it as a peer-level discussion, which is a fair interpretation if that is the framing you got from my post. I can say it isn’t what i want to communicate so thanks for the feedback there. I can see how it can be disappointing.
The podcast format is literally me coming in from the outside barely touching the surface to have a conversation where the average joe can warm up to. All in the effort to understand how someone with 25+ years thinks about code. I’m not a software engineer and I’m not presenting myself as one. I even said i just learned coding 2 days from recording the episode so i am not hiding that fact. I reject that framing but will still take the feedback.
I’m also not going to keep interrupting the conversation to restate that every few minutes just to say "oh i am not an expert". That would be unauthentic as i do not categorize people based on their skills.
If that’s not a format you enjoy, that’s completely fair. But it’s not me “pretending,” it’s just not what you expected.
Glad you still got something out of Dietmar.
Heffree@reddit
Mmm, it felt inauthentic when you would laugh at things you had no understanding of. It also doesn’t make for good content when the content is essentially him teaching you some basic programming concepts.
I think the best way I can put it is: you know when filmmakers and artists get upset when they’re being interviewed by someone who clearly isn’t familiar with their work and asks very generic questions often with clearly incorrect understanding of what that artist stands for? It’s like that. I feel it’s very close to rude you don’t have a stronger foundation to be interviewing him.
I think just remember that you asked if LLMs are OOP (just one example of a few comments you made, so no need to argue it was a misunderstanding or anything) and I hope some day you’ll understand how baffling that question was.
I hope you enjoy your journey learning programming, I wish you plenty of aha moments!
deohvii@reddit (OP)
I think we just disagree on what this format is supposed to be.
You’re expecting a strong programming interviewer meeting him at his level. That’s a valid format, but it’s not what I’m doing here.
This is intentionally a raw conversation where I’m early in learning and trying to understand how someone with 25+ years thinks. That includes asking naive questions. I’m not embarrassed by that, those are the moments where I actually learn.
On the “inauthentic” point, I’m reacting in the moment. Laughing doesn’t mean I fully understand something, it just means I’m engaged in the conversation.
If that doesn’t make for good content for you, that’s completely fair.
Where I disagree is calling it rude to have that conversation without a stronger foundation. That mindset would shut a lot of people out from ever engaging with experienced people in the first place.
Either way, appreciate you taking the time to watch it through.
HasFiveVowels@reddit
This just in: person who spent life developing skill downplays the degree to which their skill can be automated. I’m absolutely stunned by this late breaking news
deohvii@reddit (OP)
It’s as if experts actually recognize a poor product when they see one. Someone trying to 'automate' a craft without any experience usually has no idea what they’re missing. Shocking, I know.
In these conversations, I always imagine that AI-animated 'zombie' being presented to Hayao Miyazaki.
I don’t see plumbers being automated anytime soon, so what makes you think an expert like him is replaceable? Unless you’re just trying to sell your own AI products, you’re essentially throwing rocks from a glass house.
HasFiveVowels@reddit
Every single field that AI is encroaching upon has the same exact response. Referring to AI as "a giant switchboard" demonstrates that they either have no clue what they’re talking about or they’re trying to downplay the nature of what it is and what it can do. Have you ever seen what assembly experts had to say about compilers when they first came out? Shockingly, they weren’t fans. It’s all just little bits of history repeating.
CyberDumb@reddit
It took decades for C/C++ compilers to be better than humans (more for C++). They are deterministic and the problem they solve is very constrained, a finite well defined programming language and a finite hardware. Also compilers are further down the abstraction layer so the consequences of abstraction were not that big even when compilers did not work well. hardware-> assembly -> C/C++ -> scripting languages -> AI. The further you get from hardware the more you pay for something, be it flexibility, cryptic knowledge, inefficiency, hardware costs, vendor lockin, power costs etc.
Account all thee every time you compare AI with compilers. Which is like comparing a hammer with a hammering robot. Totally different even if they do the same job, yet for some reason I do not see many people with hammering robots for a reason.
HasFiveVowels@reddit
But you see a lot of people using AI. Which would seem to indicate that your metaphor isn’t the best. Personally, I’d say a compiler is a screwdriver and an AI is an electric drill. And yea, it will take some time until AI is better than human programmers. I’m not saying AI is all that great in its current state. I’m just saying that relegating it to "a switchboard" demonstrates either a lack of understanding or a desire to downplay its abilities.
SymbolicDom@reddit
If code is that brittle, it's worse than slop
deohvii@reddit (OP)
I would say its like a building or an engine, if you do thing recklessly it will either fall down or not work.
SymbolicDom@reddit
You can make more or less britle code. Making it unesessary britle is reckless and should not be encouraged.
goldenfrogs17@reddit
Thank you for the interesting post.
deohvii@reddit (OP)
Thank you for checking it. I imagine a lot of similar conversations end up without sharing, so why not share it!
yellowmonkeyzx93@reddit
Totally agree on this.
I once never understood why some programmers say.. "If it ain't broke, don't fix it".. I was told it was that "they're afraid of growth, of progress etc."..
Tell that to someone who has to handle large complex labyrinth-esque codebases with no to minimal documentation, and you have to stare at the barrel of angry managers and stakeholders when one new change suddenly breaks everything on production.
PaulCoddington@reddit
The irony being that the system is sometimes already broken badly enough to not actually be working, but manual intervention by staff paid to fix the faulty outcomes is doing much of the work (and years layer discovered to be also getting it wrong in more subtle and unaccounted for ways).
At which point, you have the appearance of a working system that is too important to touch, and you are preserving the equivalent of the adverse outcome that you feared might happen, setting it in stone, now and forever more, while shutting the door on having a working system in the future.
Not that solving this would be a trivial problem.
deohvii@reddit (OP)
Kinda like living in apartment building with a poor electric grid setup but you wanna run a local AI server or something. You will always blow the fuse...
yellowmonkeyzx93@reddit
Sympathies to the dev team handling such a lose lose situation.
deohvii@reddit (OP)
The high stakes of the job 100% explains the high pay.
jjopm@reddit
It's a what now?