Free YouTube Transcribe

Video transcript

What's the EXACT Technical Gap That Separates AI SUCCESS From AI FAILURE?

Modern Software Engineering · 3,880 words · 18 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:00Hello and welcome to the modern software

0:02engineering channel. Today I am joined

0:05by the one and only Dave Farley whose

0:07channel this really is, but I've had to

0:09do the intros cuz he forgot the intro.

0:11So, I'm Steve Smith, I'm Cornish and I'm

0:14the global head of modernization

0:16platforms at EqualExperts. Dave, who are

0:18you? I'm Dave Farley. I'm not Cornish

0:21and I'm not the modern head of platforms

0:24at EqualExperts. Nice to meet you.

0:26That's exactly the role title. Thanks,

0:28Dave.

0:28>> [laughter]

0:29>> So, the one big question we've been

0:30compelled to answer today by Dave

0:33Farley's many-membered company is can

0:37you win with artificial intelligence

0:39without strong tech fundamentals? Dave,

0:41can you do great things with AI without

0:44being good at technology? No. No, I

0:46don't think so either. So, that was

0:47fast. We should stop recording. So as

0:50usual we've got the answer quite

0:51quickly. Now we should probably try and

0:54justify it. Should we though? Yeah. Yes,

0:57so

0:58first of all, if you are a citizen

1:00developer, if like me you have genAI

1:02generating bash scripts to manage your

1:04NAS, then AI is going to achieve great

1:07things with really poor tech

1:09fundamentals because shock horror I am

1:12not test driving bash scripts on my NAS.

1:15But if you are an enterprise

1:17organization, the kind of companies that

1:18you and I both familiar with Dave, then

1:20without tech fundamentals I don't think

1:22letting genAI loose would be a very good

1:24idea. Yeah, so so so I I think what we

1:27see a lot of people doing

1:31on online and and in real life as well

1:34is building small simple things with

1:37vibe coding very quickly

1:39and essentially

1:41verifying them by just running the

1:42application and seeing if it seems to

1:44work. And that's fine if you're building

1:47if you're trying to organize your your

1:49photo library on your NAS like Steve was

1:52talking about. If you're doing something

1:54one-off, engaging with a computer to

1:57fulfill a personal problem that you have

1:59in that moment, that's probably fine.

2:02That's That's a useful facility, but

2:04that's not what professional software

2:06development is about. We're building

2:08systems that are a lot more complicated

2:11than that, and we're going to keep

2:13changing them over their lifetimes, and

2:16that takes an awful lot more

2:19problem-solving and an awful lot more

2:22disciplined skills to manage that

2:24process.

2:25>> to me. Yeah, I'd agree. I also do think

2:27that if we were working in a startup,

2:31we'd be very tempted to use it in

2:32prototyping. I can imagine GenAI killing

2:34prototyping tools pretty quickly. If we

2:37want to rush something out very quickly,

2:39build a fast website with a database

2:41behind it just to start storing data, I

2:44guess this is what the Lean Startup book

2:45was talking about back in a a few years

2:47ago now. But, I can totally imagine us

2:48doing that just to collect fast

2:49feedback. I know that a quite a few

2:52companies now that are quite worried

2:53about their sales people being GenAI and

2:55low code, building stuff quickly, and

2:57then saying, "Hey, you should totally

2:58buy this." And then say to the

2:59developers, "This won't take too long to

3:00build for real, will it?" I mean, those

3:03kind of conversations I've certainly

3:04seen played out in companies before, and

3:05now I think they'll be hugely

3:07accelerated. I do think that there's a

3:11huge gulf between individuals saying, "I

3:13have achieved amazing things with this."

3:15And enterprise organizations saying, "We

3:17have achieved amazing things with this."

3:20I I have seen those examples, but

3:22they're few and far between so far.

3:24Yeah, and there are certainly examples

3:27of people using these tools at scale. A

3:30lot of the leading AI research labs are

3:34saying that they are not writing

3:38handwriting code anymore. In In essence,

3:41they are working using AI assistants to

3:44write the actual code, but that doesn't

3:47prevent the need for technical insight

3:51and technical skills in decomposing

3:54problems and specifying them to the AI

3:57assistance in a way that you can get a

4:01the result that you're aiming for. Yeah,

4:03I totally agree with that. I think that

4:05the need to think is greater than ever

4:08before. I think that the pressure on

4:10engineers to come up with a effective

4:13solution to a problem is going to be

4:14greater than ever before. Where I have

4:16seen Gen AI create really powerful

4:21solutions so far, powerful in the sense

4:23of the accelerated outcomes look good

4:26and user satisfaction is good. There was

4:28a really strong technical foundation in

4:30place. So, if I think about LMAX for

4:34example, where Dave and I worked

4:35together between 2000 and 2010 on the

4:37trading exchange, there are some parts

4:40of that trading exchange, uh the trade

4:42reporting gateway for example, or the um

4:45account service, that are fundamentally

4:48about retrieving people's information

4:49from a database, or about translating

4:52messages from one format into another.

4:54In the case of a trade reporting

4:55gateway, you're turning a trade into a

4:58trade report and then sending on to a

4:59clearing house as a massive

5:01simplification. I can totally imagine in

5:032026 me going to Dave, where if we still

5:07work at LMAX at the end saying, "Let's

5:09regenerate the trade reporting gateway

5:11now using Gen AI. Let's stop putting

5:13people on this because we want to

5:15concentrate their efforts instead on the

5:16execution venue, which has to have

5:18sub-millisecond matching, transparent

5:21order execution, and you should

5:23absolutely want all of your brains on

5:25that, not AI on that. But, the reason I

5:27would have confidence in Gen AI building

5:30that trade reporting gateway to a high

5:32standard is the incredible technical

5:33foundation that we had at LMAX. And if

5:36you think about technical alignment as

5:38um standards and working practices, we

5:41had all of that tightly encapsulated in

5:43the build pipeline, in coding patterns,

5:46and it would be pretty easy to train the

5:48GenAI, Claude, Curd, Cursor, Copilot,

5:51whatever, on all of those pieces of that

5:55Elmax technical foundation. I've

5:57absolutely seen companies that have that

5:59foundation create marvels, and I've also

6:02seen companies that don't have that

6:03foundation just run into a brick wall

6:06faster than before. Yeah, yeah. And the

6:08thing that we that we had, I think that

6:11was, you know, really enabled this, as

6:14well as the problem-solving fit focus of

6:16the team, but the we had this body of

6:20automated acceptance tests that were

6:22executable specifications

6:25that we could just run at any solution

6:27that was generated and say, "Does it do

6:29all of these things?" Cuz if it does all

6:31of these things, then it's it's doing

6:33the job that we need it to do. I I think

6:35one way of thinking about the change

6:37that AI is bringing to programming is

6:40it's the constraint was never really in

6:43typing code. I think it was it was

6:45always in terms of thinking. I think

6:48that constraint is still there, but the

6:51other constraint that becomes even more

6:54important, that was al- already still

6:56there, is verification. It's

6:57understanding, "Did we get what we

6:59wanted? Does it do what we want? Does it

7:02continue to do what we want when we ask

7:04for changes in future?" I've certainly

7:07in my my coding with AIs, I've certainly

7:10had it, you know, at points where I've

7:12got a body of tests that were that were

7:14running and passing, it make a change,

7:17and then some of those tests are

7:18failing. So, it's not keeping the system

7:20the same. It's not keeping it working.

7:22So, those things matter, and they matter

7:25profoundly in professional software

7:28development for more complicated

7:30systems. Yes, much more so than my photo

7:33management solution or the calendar

7:35syncing glue code I've written. Now, it

7:36is a GenAI is fantastic for glue code

7:39between two non-differentiating things

7:41that aren't business critical

7:43and just need doing. Like, if I was a

7:45SaaS provider of I don't know, like a

7:47time sheet vendor, I'd be a little

7:49worried about the future cuz companies

7:50now could build their own time sheet

7:52solutions like really quickly. And if

7:54it's not a critical part of their

7:56business, I can totally imagine someone

7:58saying, "Do you know what? This is a way

7:59that we can actually save a chunk of

8:01money and make thing that actually is a

8:03bit less annoying for our employees."

8:05Yeah. The other aspect of this is I

8:07think this it's important to look

8:09carefully at some of the claims that are

8:12made by people that are doing things.

8:13So, so recently Anthropic have been

8:16advertising the fact that they had a

8:19team of AI agents working without human

8:24supervision to implement a C compiler.

8:27Well, fine. That's that's great. So,

8:31that these things worked in isolation on

8:33their own for 2 weeks to generate a C

8:37compiler that was capable of compiling

8:38Linux. But, one of the things about a

8:42language like C is that it's got a body

8:45of standards that define what it is.

8:47Claude was trained on, you know, the

8:50source code for GCC, I would imagine.

8:53And so, it's got a memory of how these

8:56things work. So, so there's a lot to

8:58this. When we're talking about building,

9:01what for most of us, if we're

9:02professional developers, the problem is

9:04to build things that people haven't seen

9:06before or that at least this

9:08organization haven't had before. And so,

9:10you don't have that body of training.

9:12We've got to invent that body of

9:14training to teach the AI what it is that

9:17we want to build. And that in its own

9:20right is a tricky skill that we found it

9:22hard enough to do with human

9:24programmers, let alone with AI

9:26programmers. But, that's what it takes.

9:28Yes, I definitely see a correlation

9:30between AI effectiveness and the amount

9:32of stuff that it can steal from the

9:34past. So, what I'll see is that Claude

9:37code, cursor, copilot are really good at

9:40Java code, but they're really not so

9:42good at Terraform, which is of course a

9:44very popular platform engineering tool.

9:47And I did a previous video with Trisha

9:49Gee on this channel around one big

9:50question around will AI create a lot of

9:52legacy code. And one example Trisha

9:54remember talking about was I've given

9:56her background working with Groovy, she

9:58hasn't seen a lot of really great Gradle

10:01scripting done by GenAI. And our shared

10:03theory was that there's not a lot of

10:06enterprise grade Gradle scripts that are

10:08out in the wild because of course, if

10:10you've done something really effective

10:12with Terraform or with Gradle within

10:13your company, you're probably not open

10:16sourcing that if only for time reasons.

10:18Yeah. A lot of the great stuff done at

10:19LMAX acceptance testing framework,

10:21that's not open source. It could be in

10:23theory. The company doesn't make a

10:25priority like so many other companies,

10:27which is totally understandable. So, if

10:29you ask GenAI build me an amazing

10:31acceptance testing framework, it's it's

10:33not going to be super amazing, which of

10:35course that means you need to invest a

10:36lot more time yourself in that technical

10:39foundation. So, the ability for GenAI to

10:44give you something you don't currently

10:45have in terms of productivity, but the

10:48tech stack is going to really matter

10:51because the more that your desired tech

10:52stack lines up with a commodity tech

10:55stack that's well understood in the

10:56world with lots of examples on the

10:58internet, the more easily GenAI is going

11:00to produce a solution that you like.

11:02Yeah, yeah. There's an interesting new

11:04generation of tools that can help with

11:07some of that stuff. I I came across a

11:10brand new open source project. I think

11:13it was launched this week that will help

11:17you through the process of making

11:19technical and architectural decisions

11:21like choosing your tech stack and you

11:23can kind of and as part of that it will

11:25show the reasoning it will do

11:27do architecture decision records to to

11:30the reasoning behind the choices that it

11:32makes and why it would rule out some

11:34choices versus others and so on. So,

11:36there's lots of that stuff where these

11:38tools can help us, but there's still

11:40things that we need to think about, we

11:42need to be involved in in order to make

11:44this stuff work. I still struggle also

11:46with the idea of a gen AI tool of four a

11:50team. YC is gen AI tools for individuals

11:54and yet we know that the most effective

11:56unit of delivery is a team. Yeah. And

11:59there is such variability in how

12:02different people use the tools. So, an

12:04easy example here is in my company, on

12:06my team, we have a shared chat GPT

12:09workspace where we have um a single chat

12:13or multiple chats with chat GPT. And

12:16even in that, it's astonishing how you

12:18can see how differently different

12:20members of my team interact with chat

12:23GPT. And when different people share

12:25example reports from chat GPT or from

12:28Claude or from Gemini with one another,

12:30just from the questioning, you can see

12:31that everyone has such an individual

12:33preference. For example, I've had

12:35feedback that that my AI, he's always

12:37trying to make friends with me and I'm

12:39always pushing away saying, "Stop making

12:41guesses and ask more questions of me."

12:43Which is probably reflects how I want to

12:46work with humans.

12:47>> [laughter]

12:48>> But until there's a shared space that

12:51people can come together in and really

12:53push things forward, I'm just a little

12:56dubious. It's not like everyone having

12:57their own individual IntelliJ where it's

13:00entirely deterministic and it's probably

13:02the same version of IntelliJ that

13:03absolutely everyone's using. We're

13:04talking about something inherently

13:06non-deterministic where it's really

13:08unclear what version of what you're

13:09using any given time. Yeah. And people

13:12do work with it in fundamentally

13:14different ways. Continue on that line of

13:16thinking about the need for teams to

13:19have a shared way of using AI to build

13:23and run services. What kind of technical

13:25foundations have you seen, Dave, in

13:28startups, scale-ups, or enterprises that

13:29have proven to be effective so far. So,

13:31in all human teams, you know, I was I

13:34was a big proponent of things like pair

13:36programming and mob programming, small

13:39autonomous teams that would work closely

13:42together and collaborate promiscuously

13:44with each other in terms of, you know,

13:47batting ideas around and and

13:49understanding things. I don't think that

13:50changes very much if if, you know, if

13:53we're exploring these problems together.

13:56I have come across at least a couple of

13:59teams who uh one team that's doing that

14:01does pair programming but with AI as an

14:05addition to the pair. So, they have two

14:07human programmers and AI assistants. And

14:11another team that go takes that further

14:13and does mob programming where the AI is

14:17the is the typist in effect. And that

14:19that sounds interesting. I don't know

14:22how how well those things work from a

14:24personal perspective. I've done a little

14:26bit of pair programming where we use the

14:28AI an AI, but there were two of us doing

14:31the pair programming. And that seemed to

14:33work quite well as a strategy. Uh I I

14:36could discuss the ideas with the pair,

14:38and we could ask questions of the AI,

14:40and then we could instruct the AI on the

14:42things that we wanted from it. And that

14:45seemed to go quite well when we were

14:47working like that. Yeah. Yeah, I'm super

14:49comfortable coding with or just working

14:52with an AI, I think, because I spent so

14:53many years pair programming. I find it

14:56really natural, um alarmingly natural

14:59sometimes. Yeah. I think that um it must

15:01be quite I assume it's quite distressing

15:04for folks who haven't had a pair before

15:06and are maybe now being made to pair

15:08with an AI. I still

15:11wonder about companies where when they

15:14don't have that strong technical

15:16alignment between people, when they

15:18don't have great platform engineering,

15:20or they don't have a great design

15:21system, I really wonder how that will

15:23work. I I know of one part of the UK

15:26government where they have great

15:28platform engineering and they have the

15:29gov.uk design manual that which is

15:31effectively a design a fantastic design

15:33system. And this part of the UK

15:35government has quite structured business

15:37problems for reason very unique to that

15:38part of the government. So, combining

15:41platform engineering, design system, and

15:43structured business problems, they are

15:46able to turn policy documents into

15:47possible digital services composed of

15:50many microservices in really short

15:53periods of time which simply weren't

15:54possible before. The difficulty is when

15:57people hear the headline of we're

15:58building digital services in weeks, not

16:00months or years. The difficulty is

16:02explaining to people, "Ah, well, those

16:04building blocks you see, the gov.uk user

16:06manual, that took years for gov.uk to

16:09create. And that amazing platform

16:10engineering, that took a year of your

16:13time and many other years before that in

16:15other organizations people brought in

16:17all of that context together. Without

16:19those building blocks, though, I think

16:20it would have taken a long time to build

16:23the right thing and a long time to build

16:24the thing right. Yeah, I think that's

16:26exactly true. I I think we should

16:28probably start trying to to to wrap this

16:31up and figure out what we think the

16:34technical foundations are that are these

16:37foundational things that and and you

16:39certainly called out a few there in that

16:42in that nice war story. I I

16:44I think absolutely being being able to

16:47specify clearly what it is that we want.

16:50I think clear specification of intent is

16:52important and for the not entirely for

16:56the for just the accidental complexity

16:59parts of the system, but for the

17:01you know, other parts of the system,

17:03strong platforms that we can that can

17:05build on that will give us fast feedback

17:08verification of our changes. Those sorts

17:10of things all seem really important.

17:13Yep, I think that just some absolute

17:16basics would be architecture decision

17:18records. I worked in companies before

17:20where architecture decision records are

17:22based in confluence. They're not well

17:24read, they're not well understood. One

17:26client of Equal Experts, we actually

17:28made them markdown files. We then built

17:30a scanner that would pull those into

17:32code, and then from there we had a bunch

17:34of different scanners of teams

17:37repositories to understand where they

17:38were and weren't conforming with

17:41architecture decision records. The key

17:43thing there though was it wasn't framed

17:45as we're checking up on you. It was

17:46framed on hey, you're not conforming to

17:49this architecture decision record. Like

17:50what are you seeing differently? Yeah.

17:52And based on that then we produced like

17:55some really powerful insights that these

17:56days you could then plow into an AI and

17:59say every service should be following

18:02this architecture decision record unless

18:04they you see this particular business

18:06context, unless they are video

18:08streaming. Yes. For example, or it's

18:10audio streaming, something is markedly

18:12different to the rest of the tech

18:14estate. Yeah. So architecture decision

18:17records would definitely be one for me,

18:19and I think that

18:22uh coding standards, a a junior come

18:25back. There is enormous documents nobody

18:27ever used to read. Just some really

18:29sensible things there around. This is

18:31how you name behaviors, this is what the

18:34domain model looks like. I remember LMAX

18:37the domain model part of the code base

18:40was actually controlled by the business

18:41analyst, which was really very different

18:44and pretty awesome. I can totally

18:45imagine a world now where all of that

18:47knowledge that they had would be

18:48captured and expressed in markdown.

18:50Yeah. And then you feed that into the

18:51AI. AI so guidelines around the main

18:54model, coding standards, architecture

18:57decision records, probably your

18:59automated functional tests if you had

19:01them already. I think I feel the need

19:03that I must call out and name this open

19:06source piece of software that I've seen

19:08very recently. So I don't have a lot of

19:09experience with it personally yet, but

19:12it's called Nwave. So, go to nwave.ai

19:16and take a look because all of the

19:17things that you've just mentioned,

19:19Steve, are built in as part one of the

19:22outputs of the different phases of

19:25development that it will take you

19:26through. So, you can go through sort of

19:28discussion where you kind of set the

19:29context for the project and it will kind

19:31of give a high-level plan of the things

19:34that you're going to have to go through

19:35and then it will explore architecture

19:37decisions, design decisions, all the way

19:40through to to implementation. And when

19:42you get to implementation, it will help

19:44you do that with executable

19:45specifications and it will help you

19:47prompt you to generate those sorts of

19:49things and encourage you to do

19:51test-driven development and all of the

19:53things that I think that you and I would

19:54agree are pretty essential for success

19:58with using these sorts of tools for

20:00doing anything new. So far, I've been

20:02pleasantly impressed by I'm working with

20:05it on a project of my own to see if I

20:07can learn how to use it better, but so

20:09far, I've I've been very pleasant

20:11pleasantly impressed. So, I'd recommend

20:13people to take a look at that if any of

20:14the stuff that we've talked about has

20:16resonated with you today. Yeah, I

20:17definitely think that's a direction our

20:20companies will go in soon. I believe

20:22what will happen is that companies will

20:23start to say, "We're not seeing

20:25productivity gains out of these tools as

20:27we'd expect." And then eventually people

20:29start to say, "Oh, these tools are kind

20:31of out of control. What if we could give

20:32them stronger guardrails around what

20:35matters for our organization, not just

20:36our industry?"

20:37>> Yeah. And there's going to be a whole

20:39wave of skills for the different AI

20:42tools and guidelines and controls that I

20:44think could make a real difference.

20:46Yeah, and fundamentally, I think that

20:48what we're describing is a more

20:51disciplined approach to it. Engineering

20:53discipline's kind of an

20:55unfortunate-sounding word. This isn't

20:57This isn't onerous hard work, but it is

21:00just a bit more organized thinking.

21:03So so that we don't fall into the traps.

21:06We were supposed to be wrapping up now.

21:07I seem to remember someone telling me.

21:09So,

21:10>> [laughter]

21:10>> I think

21:12So, our question that we both definitely

21:14remember was around can AI succeed

21:16without a technical foundation? I think

21:17the answer is no, it can't. And we hope

21:21that it's going to get easier and

21:22quicker for companies to create their

21:24own technical foundation for themselves.

21:25>> With Yeah. tooling. Otherwise, it could

21:28be quite a few companies that struggle

21:31to get the most out of generative AI

21:33tools. Yeah. Uh that's a good That's a

21:35great summary. So,

21:36thank you very much, Steve. Thank you

21:38very much for you for being watching. If

21:40you've enjoyed it, don't forget to

21:41subscribe and to like and to join us in

21:44the comments for a conversation

21:45afterwards. Thank you. Thanks.

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.