1
00:00:05,280 --> 00:00:10,180
[CLAIRE] Welcome to Talking Postgres, a monthly podcast for developers who love this database.

2
00:00:10,840 --> 00:00:16,000
I'm your host, Claire Giordano, and in this podcast, we explore the human side of Postgres,

3
00:00:16,500 --> 00:00:22,060
databases, and open source, which means we talk a lot about why do people who work with

4
00:00:22,380 --> 00:00:26,880
Postgres do what they do and how did they get there? I want to say thank you to the team at

5
00:00:26,900 --> 00:00:34,240
Microsoft for sponsoring today's conversation. And today's guest is Luigi Nardi. Luigi is founder

6
00:00:34,500 --> 00:00:40,620
and CEO of a Postgres database startup called DBtune, which was founded in 2020, I believe.

7
00:00:41,260 --> 00:00:48,620
And it's focused on automated database tuning for Postgres. Luigi has worked in computer systems for

8
00:00:48,740 --> 00:00:55,640
over 15 years. He has a PhD in computer science from Pierre and Marie Curie University in Paris.

9
00:00:56,420 --> 00:01:03,460
He did his postdoc at Imperial College London, research at Stanford University, and has been

10
00:01:03,460 --> 00:01:06,360
a professor in AI at Lund University in Sweden.

11
00:01:06,830 --> 00:01:09,960
So you can see that Luigi has lived in many different countries.

12
00:01:11,400 --> 00:01:16,660
He's published a lot of peer-reviewed papers in both machine learning and computer science,

13
00:01:16,900 --> 00:01:18,420
I think about 50 or so.

14
00:01:19,140 --> 00:01:21,500
And with that, I want to say welcome to you, Luigi.

15
00:01:23,040 --> 00:01:23,840
[LUIGI] Thank you for having me, Claire.

16
00:01:24,240 --> 00:01:24,940
It's great to be here.

17
00:01:25,860 --> 00:01:29,400
[CLAIRE] Let's just dive in to today's topic.

18
00:01:29,680 --> 00:01:36,600
The title for today's episode is how I got started with DBtune and why we chose

19
00:01:36,860 --> 00:01:37,160
Postgres.

20
00:01:38,020 --> 00:01:44,580
And where the I in that case is not me, but it's you, Luigi.

21
00:01:43,600 --> 00:01:48,080
And I'd love to just start with your, your origin story.

22
00:01:48,720 --> 00:01:50,240
How did you get started?

23
00:01:51,300 --> 00:01:54,860
Okay, I was going to talk about database tuning, but let's just back up.

24
00:01:55,200 --> 00:01:58,920
How did you get started as a developer and in computer science?

25
00:02:01,160 --> 00:02:03,560
[LUIGI] Right, so we're really going back in time.

26
00:02:03,750 --> 00:02:10,140
I had a Commodore 64 at home when I was a little boy,

27
00:02:11,240 --> 00:02:17,500
and my older brother was already coding when I kind of came online

28
00:02:18,310 --> 00:02:22,280
and remember playing a lot of games on Commodore 64.

29
00:02:24,080 --> 00:02:39,840
When I was 14 years old, I went to high school and I back then already decided to take a direction that was computers and computer science.

30
00:02:40,230 --> 00:02:46,600
So I started learning about computer science in school when I was 14 and I did it for about five years.

31
00:02:47,280 --> 00:02:53,440
The first language that I learned was Pascal and then C in school.

32
00:02:53,570 --> 00:02:59,660
And I was very passionate about the algorithmic aspect of this.

33
00:02:59,670 --> 00:03:03,640
So I would sometimes write programs on paper as well,

34
00:03:03,690 --> 00:03:08,460
just to see it all coming together from an algorithmic perspective

35
00:03:08,530 --> 00:03:13,100
and then sometimes implement them as well and run them.

36
00:03:14,920 --> 00:03:20,800
So that was kind of really the beginning of my experience with computers.

37
00:03:20,890 --> 00:03:24,340
I had friends that were assembling computers back then,

38
00:03:24,590 --> 00:03:26,400
and I found that also fascinating.

39
00:03:27,579 --> 00:03:31,900
Participated to a couple of things like that.

40
00:03:32,020 --> 00:03:33,940
But, yeah.

41
00:03:36,060 --> 00:03:42,440
[CLAIRE] And then from there, how did you get involved in machine learning and database tuning?

42
00:03:44,960 --> 00:03:50,860
[LUIGI] So yeah, after that I went to I went to school studied computer engineering and then

43
00:03:51,030 --> 00:03:59,400
computer science, afterwards the computer engineering had a lot of math classes and I was

44
00:03:59,420 --> 00:04:07,200
pretty passionate about that part. And when I started working as a PhD student,

45
00:04:08,320 --> 00:04:17,560
I really liked the combination of math and computer science programming. And so back then,

46
00:04:17,560 --> 00:04:26,660
I was developing a new programming language and the compiler was written in C and embedding the

47
00:04:26,680 --> 00:04:35,280
language in C. And this was for physicists that were interested in writing numerical models,

48
00:04:37,060 --> 00:04:43,940
meaning things that will predict the ocean or the weather forecast or the climate. And

49
00:04:46,000 --> 00:04:50,080
sorry for all the physicists that are hearing me here right now, but physicists are not the best

50
00:04:50,180 --> 00:04:56,060
at writing code. And so we wanted to help them with a programming language with a high level

51
00:04:56,080 --> 00:04:59,820
of abstraction to basically capture this law of physics

52
00:05:00,720 --> 00:05:02,400
so that then they could generate,

53
00:05:02,850 --> 00:05:04,560
we could generate from the compiler level,

54
00:05:05,020 --> 00:05:06,300
automatically generate the code.

55
00:05:07,260 --> 00:05:08,620
And by having this approach,

56
00:05:08,810 --> 00:05:11,900
they will get plenty of really interesting things for free,

57
00:05:12,080 --> 00:05:13,540
like parallelism, for example.

58
00:05:14,440 --> 00:05:17,840
They didn't have to write parallel code, for example,

59
00:05:17,910 --> 00:05:19,940
and it could infer quite a lot of things,

60
00:05:20,090 --> 00:05:24,000
like, for example, the backpropagation,

61
00:05:24,280 --> 00:05:25,260
basically, of this model.

62
00:05:25,360 --> 00:05:26,840
So we could calculate gradients,

63
00:05:27,000 --> 00:05:28,540
at least partially calculate gradients

64
00:05:29,120 --> 00:05:31,940
that were useful for the calibration of the models.

65
00:05:33,380 --> 00:05:36,600
So yeah, really the idea of building a programming language

66
00:05:36,640 --> 00:05:40,020
and a compiler for people that were really interested

67
00:05:40,280 --> 00:05:42,320
in the law of physics mainly,

68
00:05:42,800 --> 00:05:45,520
but then they wanted to see all this numerical equations

69
00:05:46,200 --> 00:05:48,540
mapped down to the computer and the hardware

70
00:05:48,980 --> 00:05:52,080
in a way that you can exploit the hardware in the best way,

71
00:05:52,180 --> 00:05:55,320
in an efficient way with parallelism and locality

72
00:05:55,340 --> 00:06:02,340
terms of memory usage and so on. And so that was my first experience with models,

73
00:06:03,900 --> 00:06:10,460
calibration of models, modeling, but also really hardcore computer science. I feel like compiler

74
00:06:11,060 --> 00:06:18,520
research is one of the hardest topics in computer science. And it was all very experimental back

75
00:06:18,660 --> 00:06:25,300
then and domain specific languages back then were kind of a new topic. I mean, there were,

76
00:06:25,320 --> 00:06:28,520
there were domain-specific languages already available,

77
00:06:30,660 --> 00:06:34,460
but it was kind of an interesting, exciting new topic.

78
00:06:34,590 --> 00:06:39,740
I think back then, we're talking about 2006, 2007.

79
00:06:39,320 --> 00:06:46,840
[CLAIRE] And remind me, this is all happening in Paris?

80
00:06:45,100 --> 00:06:45,920
[LUIGI] That's correct.

81
00:06:46,400 --> 00:06:51,080
And my French was getting built back then.

82
00:06:51,150 --> 00:06:54,780
So I went to France without really speaking any French,

83
00:06:55,080 --> 00:06:56,360
and learned.

84
00:06:55,480 --> 00:06:56,720
[CLAIRE] How could you do that?

85
00:06:57,560 --> 00:06:58,320
How could you...

86
00:06:58,450 --> 00:07:00,200
and were your classes in French? Did your...

87
00:07:01,660 --> 00:07:03,300
[LUIGI] So the class, yeah,

88
00:07:03,420 --> 00:07:05,340
it was pretty much all in French.

89
00:07:05,490 --> 00:07:07,580
I mean, the colleagues would speak English

90
00:07:07,710 --> 00:07:09,440
and that was quite useful,

91
00:07:10,780 --> 00:07:13,640
but most of it was in French

92
00:07:12,790 --> 00:07:14,880
to the point that my PhD thesis

93
00:07:15,230 --> 00:07:16,940
actually was also in French.

94
00:07:17,140 --> 00:07:18,340
I wanted to write in English,

95
00:07:19,580 --> 00:07:21,120
but for some reason,

96
00:07:22,080 --> 00:07:23,600
you know, my advisors

97
00:07:23,620 --> 00:07:25,380
weren't really on board with that.

98
00:07:25,580 --> 00:07:30,340
And so eventually I had to write a formal PhD thesis in French,

99
00:07:31,180 --> 00:07:36,360
which was a big experience, a bit painful for me,

100
00:07:36,500 --> 00:07:41,300
but also that made it such that not many people have read my thesis

101
00:07:42,100 --> 00:07:44,780
because, of course, it would be interesting reading

102
00:07:45,040 --> 00:07:47,400
about domain-specific languages and compilers

103
00:07:47,780 --> 00:07:51,060
and numerical models in French.

104
00:07:51,080 --> 00:07:53,060
I mean, there is certainly a market for that

105
00:07:53,080 --> 00:07:56,640
that is probably 10 people, or 20 maybe.

106
00:07:57,900 --> 00:08:00,420
[CLAIRE] Well, I imagine that you wrote your thesis

107
00:08:00,700 --> 00:08:05,200
after you had been in the PhD program for several years.

108
00:08:05,340 --> 00:08:06,300
Am I right about that?

109
00:08:06,920 --> 00:08:09,600
And so presumably your French got a little bit better

110
00:08:09,780 --> 00:08:10,840
than when you first got to Paris.

111
00:08:11,479 --> 00:08:12,500
[LUIGI] That's true.

112
00:08:12,840 --> 00:08:13,560
That's true, absolutely.

113
00:08:13,680 --> 00:08:14,960
So it was a few years in

114
00:08:15,280 --> 00:08:20,680
and I was very lucky to have at the lab

115
00:08:21,260 --> 00:08:24,540
really people that were really kind and helpful.

116
00:08:25,080 --> 00:08:29,880
So I remember giving a chapter to, you know,

117
00:08:30,220 --> 00:08:31,740
anyone that wanted to really help me.

118
00:08:31,960 --> 00:08:33,479
I will give a chapter to them

119
00:08:33,729 --> 00:08:39,419
and then they will get back to me with notes on the chapters

120
00:08:39,650 --> 00:08:42,880
and I will then iterate with them and get it right.

121
00:08:43,820 --> 00:08:46,240
It wasn't a one iteration type of thing.

122
00:08:46,420 --> 00:08:48,240
You know, you need to kind of iterate a couple of times,

123
00:08:48,460 --> 00:08:53,080
But people have been really, really kind and useful and sorry, helpful on that.

124
00:08:53,190 --> 00:08:54,300
And that really helped.

125
00:08:58,120 --> 00:09:04,120
[CLAIRE] I think that one of the first times that I spent a lot of time talking to you was actually in Paris.

126
00:09:04,540 --> 00:09:17,020
There's a wonderful one-day Postgres conference that happens every year in the spring in Paris, France, called pgDay Paris, kind of an obvious name.

127
00:09:18,170 --> 00:09:25,140
And it's a sister event to Nordic PGDay, which usually happens in one of the Nordic countries two days before.

128
00:09:25,730 --> 00:09:27,500
So a lot of people go to both, right?

129
00:09:27,840 --> 00:09:33,880
They might fly from Copenhagen to Paris or Oslo to Paris, depending on where Nordic is.

130
00:09:34,740 --> 00:09:40,960
anyway and so I saw you at Nordic but then pgDay Paris there was this great

131
00:09:43,140 --> 00:09:51,000
speaker and organizer I guess dinner after the conference and you were one of about 10 people

132
00:09:51,160 --> 00:09:58,440
I think who after that event ended who kind of helped lead a walk around Paris

133
00:09:59,200 --> 00:10:03,680
pointing out different jazz clubs and architecture and building.

134
00:10:04,130 --> 00:10:08,020
And anyway, I have fond memories of that day.

135
00:10:07,980 --> 00:10:10,020
[LUIGI] I have really fond memories as well of that event.

136
00:10:10,090 --> 00:10:12,960
I think that's really where, I think for the first time,

137
00:10:13,120 --> 00:10:15,640
we connected a little more and talked a little more, you and I.

138
00:10:16,390 --> 00:10:20,980
We met before that, but that day was very nice,

139
00:10:21,280 --> 00:10:26,140
walking in the streets of Paris and having a glass of wine in, you know,

140
00:10:26,190 --> 00:10:28,760
in the cafes of Paris. That was, that was all fun.

141
00:10:29,920 --> 00:10:34,680
[CLAIRE] Yeah I think it was all that there was a lot of really good beer in some of those cafes

142
00:10:34,840 --> 00:10:39,680
too. Okay. But let's stay focused. I still want to get to database tuning, jump

143
00:10:42,660 --> 00:10:48,480
ahead from your PhD program toward, and maybe you're taking me there and I'm just impatient.

144
00:10:49,030 --> 00:10:56,100
But after your PhD, there's so many things you could have done with that education.

145
00:10:56,610 --> 00:11:02,020
How in the world did you end up founding a Postgres database startup that's focused on tuning?

146
00:11:06,579 --> 00:11:11,340
[LUIGI] Yeah, after my PhD program, I was a little tired of academia.

147
00:11:11,580 --> 00:11:14,900
So I worked as a software engineer for a few years again in Paris.

148
00:11:15,960 --> 00:11:25,940
Then after that, after about three years, I actually decided to go back to academia and keep doing research in a university.

149
00:11:26,340 --> 00:11:27,440
So moved to London.

150
00:11:27,850 --> 00:11:29,900
After that, I moved to Palo Alto.

151
00:11:30,270 --> 00:11:33,580
And in all this university kind of endeavors,

152
00:11:33,770 --> 00:11:37,460
I was really interested in working at the intersection

153
00:11:37,760 --> 00:11:40,720
between machine learning and computer systems.

154
00:11:41,690 --> 00:11:43,919
And this is a field now that is called MLSys,

155
00:11:44,610 --> 00:11:45,380
machine learning and systems.

156
00:11:45,920 --> 00:11:47,660
It can go in the two directions,

157
00:11:47,990 --> 00:11:50,820
machine learning that helps improve computer systems,

158
00:11:51,500 --> 00:11:53,520
but it can also go in the other direction,

159
00:11:53,680 --> 00:11:58,680
which is basically building systems for machine learning.

160
00:11:59,400 --> 00:12:03,640
And I was always more interested in the first one,

161
00:12:04,320 --> 00:12:05,740
using machine learning to improve systems.

162
00:12:06,140 --> 00:12:09,260
I think that the other direction is also really, really interesting,

163
00:12:09,350 --> 00:12:11,380
and I'm glad that there are so many people working on that,

164
00:12:11,600 --> 00:12:17,200
all the projects like TensorFlow and PyTorch and Torch and PyTorch.

165
00:12:17,740 --> 00:12:19,620
And those are all the other direction, right?

166
00:12:20,100 --> 00:12:25,800
But I was fundamentally interested in exploring this idea of using probabilistic models,

167
00:12:26,160 --> 00:12:34,940
Bayesian methods, all sorts of modeling for, with the purpose of improving computer systems.

168
00:12:34,990 --> 00:12:39,500
And I'm using computer systems in a slightly loose and general way here.

169
00:12:40,430 --> 00:12:46,659
During these projects, I started applying this type of machine learning techniques

170
00:12:47,480 --> 00:12:49,420
to a number of different systems.

171
00:12:50,820 --> 00:12:51,920
Computer vision, for example,

172
00:12:52,160 --> 00:12:56,460
we're interested in making this optimization

173
00:12:56,660 --> 00:13:00,600
of computer vision systems through machine learning.

174
00:13:00,660 --> 00:13:03,280
That was back in London at Imperial College.

175
00:13:03,940 --> 00:13:06,640
And then when I moved to California,

176
00:13:07,100 --> 00:13:12,180
I started working more on the use of this machine learning

177
00:13:12,260 --> 00:13:16,020
techniques for hardware design and compiler optimization.

178
00:13:16,440 --> 00:13:20,360
So the decision-making process that it's made

179
00:13:20,680 --> 00:13:21,760
through the machine learning models

180
00:13:21,880 --> 00:13:23,880
to generate better code or better hardware.

181
00:13:25,040 --> 00:13:28,360
We published some really interesting papers in that space.

182
00:13:28,900 --> 00:13:30,680
And at some point I just realized

183
00:13:31,020 --> 00:13:34,280
that this technology was really getting ready for prime time.

184
00:13:34,280 --> 00:13:36,320
It was just working across the board, right?

185
00:13:36,340 --> 00:13:40,440
So no matter what application you would throw at it,

186
00:13:40,620 --> 00:13:43,680
it would do something useful for that domain.

187
00:13:45,920 --> 00:13:46,440
[CLAIRE] And what year?

188
00:13:46,840 --> 00:13:48,300
What year are we talking about now?

189
00:13:47,620 --> 00:13:55,620
[LUIGI] This was when I started thinking about the commercialization of that was 2018. [Okay.]

190
00:13:57,079 --> 00:14:02,420
So really the idea of getting the last, you know, maybe five, six, seven years of research

191
00:14:02,540 --> 00:14:07,020
and try to package that into something that can be useful.

192
00:14:07,380 --> 00:14:13,679
And then when I started wondering, what is the, you know, the application that will make

193
00:14:13,680 --> 00:14:19,420
sense for this, a problem setting that really makes sense for this type of technology, also

194
00:14:19,460 --> 00:14:21,960
from a slightly commercial perspective.

195
00:14:22,660 --> 00:14:27,600
And I knew databases from school.

196
00:14:27,980 --> 00:14:35,560
I, of course, took my databases classes probably a decade earlier, used databases here and there

197
00:14:36,980 --> 00:14:37,580
for projects.

198
00:14:38,540 --> 00:14:40,140
And when I was in the Bay,

199
00:14:40,460 --> 00:14:42,300
I had the chance to meet a few people,

200
00:14:43,640 --> 00:14:45,380
two engineers from Microsoft, for example,

201
00:14:46,160 --> 00:14:48,220
that were really, really interested in tuning Postgres.

202
00:14:49,820 --> 00:14:52,500
And then I gave a talk at VMware.

203
00:14:53,220 --> 00:14:55,640
And again, there, there were people really interested

204
00:14:55,670 --> 00:14:59,940
in tuning databases and met folks at Teradata,

205
00:15:00,450 --> 00:15:01,380
gave a talk there.

206
00:15:02,160 --> 00:15:04,439
And all these companies were really connected

207
00:15:04,460 --> 00:15:05,020
with the university.

208
00:15:06,340 --> 00:15:09,660
And I was able, it was easy for me to just go

209
00:15:09,800 --> 00:15:11,480
and drop there and give a talk

210
00:15:12,330 --> 00:15:14,780
and receive all this sort of feedback.

211
00:15:14,970 --> 00:15:19,320
And eventually the database tuning seemed to be

212
00:15:19,500 --> 00:15:23,320
like a topic that came up over and over again.

213
00:15:25,079 --> 00:15:29,520
And the, you know, I started working on that by myself,

214
00:15:29,800 --> 00:15:32,459
but one year later, I ended up meeting

215
00:15:32,480 --> 00:15:38,459
Daniel Gustafsson first. And after that, Daniel...

216
00:15:37,140 --> 00:15:40,400
[CLAIRE] I am a big Daniel Gustafsson fan.

217
00:15:41,000 --> 00:15:44,620
And I have to point out that he's a Postgres committer,

218
00:15:45,520 --> 00:15:48,400
has been involved in the open source project for a long time.

219
00:15:49,420 --> 00:15:50,420
And he has been...

220
00:15:49,620 --> 00:15:52,060
[LUIGI] It was in the show as well, right? It was in your show as well.

221
00:15:52,560 --> 00:15:55,319
[CLAIRE] Exactly. He's been a guest on this podcast.

222
00:15:56,620 --> 00:16:01,600
[LUIGI] Yeah, I think Daniel has been really a force of nature for us because he,

223
00:16:01,920 --> 00:16:10,180
You know, it never worked directly with me and us, but it just really made some really good connections.

224
00:16:10,820 --> 00:16:13,600
And it just gave us some really good advice as well.

225
00:16:13,890 --> 00:16:16,280
The moment in time where we really needed some really good advice.

226
00:16:17,400 --> 00:16:19,700
And Daniel introduced me to Magnus Hagander.

227
00:16:22,279 --> 00:16:25,260
And we work with Magnus since then.

228
00:16:25,410 --> 00:16:30,500
So Magnus and I go back to 2019, if I remember correctly.

229
00:16:31,040 --> 00:16:34,140
We started talking about this problem setting

230
00:16:34,460 --> 00:16:37,200
and he, of course, is one of the, you know,

231
00:16:37,350 --> 00:16:41,660
in my head, Magnus is, you know, the tuning guru, right?

232
00:16:41,780 --> 00:16:42,900
That's how I would describe him.

233
00:16:43,050 --> 00:16:47,000
He has been tuning Postgres for a couple of decades

234
00:16:47,810 --> 00:16:50,540
and, you know, he really knows that problem

235
00:16:50,830 --> 00:16:51,340
really, really well.

236
00:16:51,450 --> 00:16:54,840
And so I, you know, the combination of his deep expertise

237
00:16:54,970 --> 00:16:58,140
in Postgres and my expertise on the automation

238
00:16:59,030 --> 00:17:00,400
and machine learning side of that,

239
00:17:00,520 --> 00:17:08,280
autonomous tuning part that's really what got DBtune up up and running so we started having

240
00:17:08,500 --> 00:17:15,680
regular meetings and then started started with a small prototype and then this became a much

241
00:17:15,699 --> 00:17:16,880
bigger project over the years.

242
00:17:24,839 --> 00:17:28,800
[CLAIRE] Now Magnus for anybody who's listening and doesn't know who he is, he's also a Postgres committer, which is often called the maintainer in other open source projects.

243
00:17:29,400 --> 00:17:31,480
He's part of the Postgres core team,

244
00:17:32,320 --> 00:17:35,420
which sometimes might be called a steering committee in other projects,

245
00:17:36,999 --> 00:17:38,620
and based in Sweden.

246
00:17:38,980 --> 00:17:40,580
Well, like Daniel,

247
00:17:40,860 --> 00:17:41,940
they're both based in Sweden.

248
00:17:43,580 --> 00:17:46,200
So, wow, that's interesting.

249
00:17:46,220 --> 00:17:50,639
I didn't realize that connecting with Daniel and then Magnus

250
00:17:50,660 --> 00:17:55,180
had an influence on the early days of the company.

251
00:17:56,380 --> 00:18:04,720
[LUIGI] Yeah, at that time, I also transitioned to a professorship in AI at Lund University.

252
00:18:04,970 --> 00:18:07,780
So I was connected to Sweden at that point, 2019. [Oh.]

253
00:18:08,760 --> 00:18:15,000
And there is a very interesting rule in Swedish universities,

254
00:18:15,180 --> 00:18:18,920
which is that professors have the professor privilege.

255
00:18:20,380 --> 00:18:25,200
And the professor privilege means that you can work on a research topic at the university.

256
00:18:26,340 --> 00:18:34,940
And after, you know, and you can decide to exploit the IP that you create at any time without, you know, no questions asked.

257
00:18:35,420 --> 00:18:42,220
And that was very useful for me because in 2019, this was really just a prototype and ideas that we were trying to make it work.

258
00:18:42,300 --> 00:18:50,700
It took a few more years to really make this really solid and ready for prime time to run in production systems and so on.

259
00:18:51,360 --> 00:18:53,080
So that was very helpful.

260
00:18:53,500 --> 00:18:58,820
The university was really helping us to also to raise some grants.

261
00:18:59,860 --> 00:19:07,200
And we received grants from the university and from the public institutions in Sweden.

262
00:19:07,630 --> 00:19:10,080
That was our way to bootstrap the whole thing.

263
00:19:10,150 --> 00:19:15,720
And since this deep tech projects usually take a few years, that was really, really useful for us.

264
00:19:16,120 --> 00:19:21,580
And then when we were ready to incorporate a company, that was pretty easy because of the professor privilege.

265
00:19:21,710 --> 00:19:27,420
There was nothing to do pretty much in terms of, you know, some universities,

266
00:19:28,140 --> 00:19:30,180
they have technology offices

267
00:19:30,440 --> 00:19:31,920
and then you need to go back and forth with them

268
00:19:32,020 --> 00:19:35,040
for a long time before being able to create a company

269
00:19:35,280 --> 00:19:37,540
out of the IP coming from your research,

270
00:19:37,940 --> 00:19:38,480
academic research.

271
00:19:39,200 --> 00:19:43,160
But in my case, it was, yeah,

272
00:19:43,500 --> 00:19:45,780
that was basically a scratch that entirely, right?

273
00:19:45,800 --> 00:19:48,900
So that was really straightforward

274
00:19:49,180 --> 00:19:51,560
to then incorporate a company and get going.

275
00:19:53,440 --> 00:19:54,220
[CLAIRE] It's really interesting.

276
00:19:55,100 --> 00:20:02,120
Well, I just think it's incredibly valuable for users of Postgres and frankly, a lot of

277
00:20:02,280 --> 00:20:06,600
databases, just what is now happening with machine learning and AI.

278
00:20:07,300 --> 00:20:16,040
If I wind back in time to like 2017, I just remember empathizing with customers who, if

279
00:20:16,080 --> 00:20:21,620
they needed help tuning their database and they didn't have that expertise in-house, then

280
00:20:21,880 --> 00:20:28,240
they had to, you know, reach out to people at outside consultancies or other companies,

281
00:20:28,620 --> 00:20:32,080
maybe vendors whose applications they were going to try.

282
00:20:32,460 --> 00:20:33,660
They had to schedule a meeting.

283
00:20:34,520 --> 00:20:38,620
They couldn't just fix the thing right now, which is generally what they wanted.

284
00:20:39,460 --> 00:20:41,060
They had to work with someone.

285
00:20:41,280 --> 00:20:44,660
And of course, the answer was always, it depends, initially.

286
00:20:45,920 --> 00:20:48,020
And it just took all this time.

287
00:20:48,160 --> 00:20:50,260
And I was like, why can't we take...

288
00:20:50,380 --> 00:20:54,460
There are these experts in the world, like you said, these tuning gurus.

289
00:20:54,780 --> 00:21:00,680
Why can't we get all of the thought processes that are in their brains and apply it so that

290
00:21:01,140 --> 00:21:02,600
people can solve their problems faster?

291
00:21:03,060 --> 00:21:06,060
And I kind of feel like that's what's happening.

292
00:21:07,410 --> 00:21:09,660
Or that's certainly your intention, I take it.

293
00:21:10,660 --> 00:21:18,020
[LUIGI] Absolutely. I think there is not just my intention. I think the whole industry is really moving in that direction.

294
00:21:18,120 --> 00:21:24,160
I think you attended the Postgres events like I do.

295
00:21:24,320 --> 00:21:25,980
I meet you all the time at these conferences

296
00:21:26,120 --> 00:21:30,020
and you very often see these topics being debated

297
00:21:30,280 --> 00:21:35,420
in terms of a panel or, you know, talks,

298
00:21:36,160 --> 00:21:37,760
invited talks and so on.

299
00:21:37,900 --> 00:21:40,040
So there is certainly a lot of momentum

300
00:21:40,040 --> 00:21:42,080
in this type of topics at the moment.

301
00:21:43,080 --> 00:21:45,979
In practice, we see some solutions that are really available

302
00:21:46,180 --> 00:21:48,760
and can be used, including in production systems.

303
00:21:49,040 --> 00:21:50,400
And I think that's really, really exciting.

304
00:21:50,560 --> 00:21:51,980
It's a big shift in the industry.

305
00:21:53,679 --> 00:21:55,680
And yeah, I'm really, really excited to see

306
00:21:55,820 --> 00:21:59,040
how this shapes up in the next couple of years.

307
00:22:00,700 --> 00:22:01,120
[CLAIRE] Very cool.

308
00:22:01,580 --> 00:22:08,380
Yeah, I think you were on a panel at PGConf India last year in March.

309
00:22:08,520 --> 00:22:10,980
And I was at that conference, but I missed the panel.

310
00:22:12,420 --> 00:22:22,300
So I don't know if there's any takeaways or kind of quotes or anything that you walked away with from that conversation that's worth sharing with the audience.

311
00:22:25,230 --> 00:22:26,620
I'm kind of putting you on the spot here.

312
00:22:29,120 --> 00:22:32,860
[LUIGI] So the panel was, I think it's also recorded online.

313
00:22:32,990 --> 00:22:36,040
So maybe you can drop it in the notes of the show.

314
00:22:35,220 --> 00:22:36,680
[CLAIRE] In the show notes. [Yes.] Cool.

315
00:22:38,420 --> 00:22:42,400
[LUIGI] There was a panel related.

316
00:22:42,610 --> 00:22:47,240
So the topic itself was Postgres and AI.

317
00:22:49,180 --> 00:22:55,000
There were experts like Bruce for example, [Bruce Momjian?], yes, Tom Kincaid and Dennis as well.

318
00:22:59,200 --> 00:23:08,340
they were all there and a few other, you know, I would say, deep thinkers about this topic.

319
00:23:08,480 --> 00:23:11,240
So it was very, very interesting.

320
00:23:11,280 --> 00:23:17,080
I think everybody had to contribute with some sort of insight to the discussion.

321
00:23:17,960 --> 00:23:25,439
And, you know, the fact that the audience, sorry, the panelists were a pretty diverse

322
00:23:25,460 --> 00:23:32,260
set of people that created this kind of really interesting takes from each one of them.

323
00:23:34,300 --> 00:23:42,540
There was, again, a lot of the discussion was in both directions of basically a pgvector

324
00:23:42,740 --> 00:23:48,180
type of discussions where we want to enable the next generation of AI applications through

325
00:23:48,360 --> 00:23:48,680
Postgres.

326
00:23:49,300 --> 00:23:50,700
That was certainly a big topic.

327
00:23:51,060 --> 00:23:55,500
And I think the Postgres community has been pretty responsive on this, right?

328
00:23:55,740 --> 00:24:03,080
Trying to, you know, pgvector was an extension that was already available when the big new AI wave arrived.

329
00:24:03,450 --> 00:24:11,900
And people have improved that and worked on that and made it really available for this type of usage.

330
00:24:12,360 --> 00:24:19,360
And I think that's certainly very good for the future of Postgres, let's say, right?

331
00:24:19,680 --> 00:24:32,300
And then there was as well some discussions in this category of making Postgres good for AI applications in this category here.

332
00:24:32,660 --> 00:24:34,080
There were discussions, for example,

333
00:24:34,240 --> 00:24:36,820
on how to use GPUs,

334
00:24:36,980 --> 00:24:39,160
hardware accelerators of sorts

335
00:24:40,300 --> 00:24:45,380
to make this AI applications run better,

336
00:24:46,179 --> 00:24:50,060
including with Postgres to some form and shape and form.

337
00:24:50,740 --> 00:24:54,020
So that was, I think, something that I actually saw

338
00:24:54,150 --> 00:24:54,920
after a few months,

339
00:24:55,050 --> 00:24:59,000
some projects that were coming out in that direction.

340
00:24:59,110 --> 00:25:00,780
So I think that was interesting to see that.

341
00:25:01,480 --> 00:25:08,620
I don't know if it was really coming because of that panel discussion, of course, but it seems that the industry was already perhaps moving in that direction.

342
00:25:08,760 --> 00:25:11,460
We saw some of that happening just after a few months.

343
00:25:12,100 --> 00:25:21,060
And then there was the other category that I described at the beginning, which is using AI and machine learning to make Postgres better.

344
00:25:21,200 --> 00:25:23,860
So some discussions were also in that direction.

345
00:25:24,240 --> 00:25:28,000
And of course, it's all about, you know,

346
00:25:28,220 --> 00:25:30,780
this idea of self-driving databases.

347
00:25:32,040 --> 00:25:35,320
And I really like the performance side of this,

348
00:25:35,500 --> 00:25:39,200
but autonomous tuning is a part of that.

349
00:25:39,340 --> 00:25:40,680
It's part of that bigger vision.

350
00:25:41,220 --> 00:25:43,740
The bigger vision is self-driving databases.

351
00:25:44,400 --> 00:25:46,820
And I think we are seeing already a lot happening

352
00:25:47,720 --> 00:25:48,800
in the last few years.

353
00:25:49,940 --> 00:25:51,100
If you just think, for example,

354
00:25:52,640 --> 00:25:56,740
about the cloud providers and all the database as service,

355
00:25:57,500 --> 00:25:58,800
the various ones.

356
00:25:58,840 --> 00:26:01,460
I think that's also a part of that story

357
00:26:01,680 --> 00:26:04,500
of self-driving databases, even if it's still,

358
00:26:06,260 --> 00:26:10,440
I wouldn't say basic, but it doesn't do everything for you.

359
00:26:10,440 --> 00:26:14,020
It does certain things, backups and high availability

360
00:26:14,560 --> 00:26:15,780
and point-in-time recovery.

361
00:26:16,300 --> 00:26:19,079
Those are all things that these days you can just buy a service

362
00:26:19,320 --> 00:26:20,500
from one of the providers

363
00:26:20,800 --> 00:26:22,520
and you will get all those things.

364
00:26:23,000 --> 00:26:24,420
And that in some sense is already going

365
00:26:24,440 --> 00:26:26,060
in the direction of self-driving databases

366
00:26:26,400 --> 00:26:28,260
because you don't need to think about backups anymore,

367
00:26:28,340 --> 00:26:29,100
for example, right?

368
00:26:29,240 --> 00:26:30,420
Because that's just happening.

369
00:26:32,540 --> 00:26:34,720
And the self-driving databases, of course,

370
00:26:34,720 --> 00:26:36,760
is a much broader area than what we have today

371
00:26:36,940 --> 00:26:38,260
with the database as a service.

372
00:26:39,000 --> 00:26:42,200
And certainly the performance tuning side of things

373
00:26:42,480 --> 00:26:45,780
is kind of missing from this database as a service.

374
00:26:46,280 --> 00:26:48,159
But we are seeing some of the cloud providers

375
00:26:48,180 --> 00:26:49,680
that are getting there,

376
00:26:50,980 --> 00:26:52,060
mainly in the form,

377
00:26:52,190 --> 00:26:54,040
and this was debated as well in the panel,

378
00:26:54,620 --> 00:26:56,360
mainly in the form of recommendations,

379
00:26:58,240 --> 00:27:03,020
which is if you think about the level of autonomy,

380
00:27:03,480 --> 00:27:05,460
like in self-driving cars, for example,

381
00:27:06,040 --> 00:27:07,060
recommendations will be,

382
00:27:07,680 --> 00:27:09,200
we'll say level three or level four.

383
00:27:09,450 --> 00:27:11,740
So we're not going all the way up to level five

384
00:27:12,420 --> 00:27:14,380
where you have this full autonomous systems

385
00:27:14,760 --> 00:27:16,000
with these recommendations.

386
00:27:17,220 --> 00:27:21,240
And that's what I'm actually really, really excited about, the level five thing.

387
00:27:21,380 --> 00:27:24,380
So everything we do at DBtune is really level five at this time.

388
00:27:24,490 --> 00:27:29,480
So everything is fully autonomous, but we don't, of course, cover everything that needs to be done.

389
00:27:29,570 --> 00:27:39,580
So the next few years will be really interesting to achieve this broader spectrum of things that we can do at that level five for autonomous tuning and self-driving databases.

390
00:27:40,020 --> 00:27:47,340
[CLAIRE] Okay. So I guess we could spend the rest of the conversation talking about self-driving databases

391
00:27:47,500 --> 00:27:54,179
and what does that mean? But there's part of me that really wants to delve into

392
00:27:54,360 --> 00:28:00,780
how does one go from doing research, even at a university like Lund University,

393
00:28:01,100 --> 00:28:07,820
which has this great program that enables you to use your IP and go create a company.

394
00:28:08,220 --> 00:28:12,440
But how do you go from doing research to creating a startup?

395
00:28:13,240 --> 00:28:16,780
Like, it's risky to create a startup, you know?

396
00:28:18,180 --> 00:28:19,480
There's no guarantees.

397
00:28:19,920 --> 00:28:30,720
Sometimes all the stock that you make available to yourself and to investors and employees turns into literal wallpaper that you can put on your bathroom wall.

398
00:28:32,240 --> 00:28:35,260
So how did you, what prompted that?

399
00:28:35,410 --> 00:28:37,660
Did you always know you wanted to start a company?

400
00:28:39,340 --> 00:28:41,160
[LUIGI] So that started a few years earlier.

401
00:28:41,360 --> 00:28:46,380
I saw friends at Imperial College that created companies.

402
00:28:46,700 --> 00:28:55,240
When I was in San Francisco, I co-habitated an apartment with a couple of startup founders.

403
00:28:56,700 --> 00:29:00,080
And my father was an entrepreneur.

404
00:29:01,020 --> 00:29:03,200
So he graduated from college.

405
00:29:03,580 --> 00:29:05,580
And as soon as he graduated from college, he created this company.

406
00:29:05,600 --> 00:29:07,380
And he worked in this company for 40 years.

407
00:29:07,960 --> 00:29:11,220
This wasn't really a startup as we mean it

408
00:29:11,480 --> 00:29:13,240
with venture capital and all that kind of stuff.

409
00:29:13,820 --> 00:29:15,480
But he was very passionate.

410
00:29:15,580 --> 00:29:18,500
He created a lot of electronic devices.

411
00:29:18,660 --> 00:29:20,920
He was an electrical engineer by training

412
00:29:20,980 --> 00:29:23,640
and he created a lot of devices for factories

413
00:29:24,140 --> 00:29:26,080
and measuring temperature

414
00:29:26,680 --> 00:29:30,720
or moving a bunch of powder from one place to the other place

415
00:29:30,820 --> 00:29:35,200
and measuring very accurately the weight of that powder, for example.

416
00:29:35,340 --> 00:29:37,920
All these kind of projects that were borderline robotics

417
00:29:38,120 --> 00:29:39,340
type of projects, but also

418
00:29:41,760 --> 00:29:42,280
instrumentation

419
00:29:42,310 --> 00:29:44,020
type of projects, and he created

420
00:29:44,330 --> 00:29:44,920
them from scratch.

421
00:29:45,770 --> 00:29:46,640
I thought it was really

422
00:29:49,740 --> 00:29:50,260
influential

423
00:29:50,370 --> 00:29:51,160
for me to see

424
00:29:52,340 --> 00:29:53,320
that you can

425
00:29:54,780 --> 00:29:56,240
not just start a company,

426
00:29:56,240 --> 00:29:56,960
but also create

427
00:29:59,270 --> 00:29:59,780
a new

428
00:30:00,680 --> 00:30:01,600
thing and put it [Create something from nothing.]

429
00:30:02,580 --> 00:30:04,000
in the world from nothing,

430
00:30:04,220 --> 00:30:05,920
from scratch, and from

431
00:30:06,060 --> 00:30:07,900
the design on a piece of paper

432
00:30:07,900 --> 00:30:13,460
actually implementing it and the implementation for him was the hardware side but there was also

433
00:30:13,640 --> 00:30:20,140
the software side and and it was really fascinating and for me when I then saw that

434
00:30:20,410 --> 00:30:25,860
the technology that we were working on at the university was working on various applications

435
00:30:26,450 --> 00:30:34,680
it didn't really take me very much to you know go do it in industry and in the real

436
00:30:34,700 --> 00:30:39,600
world because I just had all this influence that made me pretty comfortable with this idea.

437
00:30:41,660 --> 00:30:47,720
And perhaps if I think back now, that was a little crazy, but at the moment it didn't feel

438
00:30:48,120 --> 00:30:51,780
that crazy just because it has always been in the air for me,

439
00:30:52,260 --> 00:30:56,420
both with my family and with some colleagues in the past and friends in the past.

440
00:30:58,460 --> 00:31:02,840
[CLAIRE] Okay, so you were around from an early age with your dad,

441
00:31:03,480 --> 00:31:15,060
and then even while you were at Imperial College London and at Stanford, you were socializing with or living with as roommates people who were starting companies and who were founders,

442
00:31:15,250 --> 00:31:19,160
and so you were just exposed to it in every direction, it sounds like.

443
00:31:19,960 --> 00:31:24,880
[LUIGI] Yeah and then you know those those friends will have you know a bunch of books

444
00:31:25,140 --> 00:31:28,940
that they will recommend you to read and you slowly start to read and learn you know

445
00:31:30,780 --> 00:31:31,520
there are some magazines

446
00:31:31,980 --> 00:31:32,620
that there will be

447
00:31:32,980 --> 00:31:33,080
you know

448
00:31:33,200 --> 00:31:33,580
on the table

449
00:31:33,940 --> 00:31:35,220
and you pick it up

450
00:31:35,340 --> 00:31:36,220
and read a bunch of things

451
00:31:36,520 --> 00:31:36,660
and

452
00:31:37,440 --> 00:31:38,080
eventually you just get

453
00:31:38,200 --> 00:31:39,480
really familiar with that idea

454
00:31:39,700 --> 00:31:40,080
and you,

455
00:31:41,260 --> 00:31:42,060
by osmosis,

456
00:31:42,120 --> 00:31:42,780
with the environment

457
00:31:42,920 --> 00:31:44,140
you just learn a bunch

458
00:31:44,200 --> 00:31:45,080
and then when it's time

459
00:31:45,860 --> 00:31:46,980
you just do it.

460
00:31:49,380 --> 00:31:51,740
[CLAIRE] Got it. You just go for it.

461
00:31:52,940 --> 00:31:57,740
Has your family been supportive of this, of taking these kinds of risks?

462
00:31:57,880 --> 00:31:59,240
Is it normal for them as well?

463
00:31:58,600 --> 00:31:59,000
[LUIGI] Yeah,

464
00:31:59,020 --> 00:32:04,480
my family has been always very supportive, not just for this one thing.

465
00:32:04,650 --> 00:32:10,500
I never heard my parents telling me that I shouldn't do something. [Okay.]

466
00:32:10,940 --> 00:32:15,060
And that was really a trait of my education.

467
00:32:15,520 --> 00:32:19,700
So when I decided to do this, of course, I was a little older.

468
00:32:20,410 --> 00:32:25,500
So they would have never said anything against it, I think,

469
00:32:25,800 --> 00:32:29,000
but they've always been really supportive of this.

470
00:32:29,140 --> 00:32:31,280
They're very excited, always asking, you know,

471
00:32:31,790 --> 00:32:35,360
all sorts of questions and they want to know how is it going,

472
00:32:37,560 --> 00:32:39,460
and yeah, very supportive overall.

473
00:32:40,580 --> 00:32:48,240
[CLAIRE] Well that, I don't know, is it corny to say that's a blessing? I mean not everybody has that,

474
00:32:48,480 --> 00:32:51,120
so that's kind of wonderful.

475
00:32:51,820 --> 00:32:53,020
[LUIGI] I totally agree with you.

476
00:32:55,280 --> 00:33:05,220
[CLAIRE] Okay, so you had all this exposure to people starting companies and then of course Lund University

477
00:33:05,480 --> 00:33:10,540
I think it sounds like their policy and maybe it's a Swedish policy, not just specific to

478
00:33:10,560 --> 00:33:17,780
that university, but across higher education in Sweden, that enabled you to go do that.

479
00:33:17,860 --> 00:33:19,820
It sounds like you bootstrapped DBtune.

480
00:33:19,840 --> 00:33:20,320
Is that right?

481
00:33:21,260 --> 00:33:21,300
[LUIGI] Yeah,

482
00:33:21,520 --> 00:33:25,700
we bootstrapped for about three years, I would say. A long time. And I think that, that time was,

483
00:33:29,960 --> 00:33:34,280
you know, we could have done it faster. But I think that time was kind of needed because

484
00:33:35,170 --> 00:33:40,420
when you're working on something that is really unexplored and really new, you just need to try a

485
00:33:40,540 --> 00:33:48,859
bunch of things first and explore and talk to some people, get ideas and over time getting into

486
00:33:49,520 --> 00:33:57,220
something more concrete. And I think what made this also take some time is that our ambition

487
00:33:57,480 --> 00:34:02,580
was really this level five type of automation and doing it in production. I think the production

488
00:34:02,760 --> 00:34:08,860
aspect was something that we never wanted to do it otherwise. We wanted to optimize production

489
00:34:09,120 --> 00:34:10,520
systems. We wanted to see this to be deployed in the largest, most complex enterprise workloads

490
00:34:17,280 --> 00:34:22,940
and environments and that piece I think is of course really really challenging because you

491
00:34:23,340 --> 00:34:26,120
of course need to do it really carefully and safely as well.

492
00:34:26,440 --> 00:34:43,460
[CLAIRE] Right. Yeah. You don't want the autonomous agents, if you will, to be deleting tables, for example. So, which I'm sure they don't. [That won't be good news no.] Yeah. I'm curious. Okay, well, first of all, how big is DBtune? How many people right now? I'm sure it's growing. I'm sure you're hiring. Are you hiring?

493
00:34:55,700 --> 00:35:01,760
[LUIGI] We're always looking for people to come implement this vision with us and collaborate with us. So yes,

494
00:35:02,000 --> 00:35:05,500
we're always hiring. We're 15 people right now so the team is still fairly small, mainly

495
00:35:09,860 --> 00:35:11,280
engineers. So we have

496
00:35:13,760 --> 00:35:15,640
structured the company with these

497
00:35:15,960 --> 00:35:18,760
three divisions. We have the

498
00:35:19,480 --> 00:35:21,960
product division and we have the research

499
00:35:22,280 --> 00:35:25,060
division and we have the go-to-market division. The go-to-market

500
00:35:25,160 --> 00:35:27,980
division is really, really small. We've been doing a lot of

501
00:35:28,100 --> 00:35:31,200
really interesting engineering over time and we have created

502
00:35:31,220 --> 00:35:34,080
a research team which is literally a third

503
00:35:34,140 --> 00:35:36,960
of the company. So we're really investing really, really heavily

504
00:35:36,980 --> 00:35:42,700
in research. And the idea is that the research that has been done in the team then gets passed

505
00:35:42,880 --> 00:35:47,560
along to the product team. And then there are questions about usability, production, and

506
00:35:47,840 --> 00:35:57,100
an implementation that gets taken from, you know, explored by the product team. So,

507
00:35:58,619 --> 00:36:05,980
the way everybody is collaborating on this is really dynamic and interesting in many ways, I think.

508
00:36:07,360 --> 00:36:10,880
[CLAIRE] Okay. By the way, for anyone listening, this isn't an ad for DBtune.

509
00:36:11,080 --> 00:36:12,140
I'm just really curious.

510
00:36:12,640 --> 00:36:15,020
And that's why I asked about the hiring question.

511
00:36:15,520 --> 00:36:18,960
I had no idea if you were 15 people or 30 by now.

512
00:36:19,240 --> 00:36:20,840
So it's 15 people.

513
00:36:22,720 --> 00:36:25,160
What is the culture like,

514
00:36:25,820 --> 00:36:27,160
if you can describe it?

515
00:36:27,340 --> 00:36:29,100
And do you feel like the culture

516
00:36:30,020 --> 00:36:31,280
what's it a reflection of?

517
00:36:31,900 --> 00:36:34,360
Where did it come from?

518
00:36:34,100 --> 00:36:35,280
How is it different than

519
00:36:35,520 --> 00:36:36,880
other places you've worked?

520
00:36:39,440 --> 00:36:47,800
[LUIGI] Yeah, so we are a deep tech startup with roots in Silicon Valley and an European flavor.

521
00:36:48,900 --> 00:36:55,180
So the roots, I think, are really present in the way we structure things and we think about things.

522
00:36:57,340 --> 00:37:03,740
But we're still an European company, so you also feel the European vibes, perhaps, if that's understood.

523
00:37:05,380 --> 00:37:07,460
We specialize in machine learning,

524
00:37:07,670 --> 00:37:08,540
AI optimization,

525
00:37:09,280 --> 00:37:10,660
databases, and cloud computing.

526
00:37:10,910 --> 00:37:12,100
And all these different topics

527
00:37:12,640 --> 00:37:14,640
of course it's not just one person

528
00:37:15,000 --> 00:37:16,500
but it's the interaction of a team

529
00:37:16,630 --> 00:37:18,920
so really the team is what makes

530
00:37:19,360 --> 00:37:26,600
the work that we do

531
00:37:26,820 --> 00:37:27,940
it's really about the team

532
00:37:28,140 --> 00:37:29,080
and less about the individuals

533
00:37:29,400 --> 00:37:32,420
everyone has some really interesting expertise

534
00:37:32,420 --> 00:37:33,740
in a specific topic,

535
00:37:33,850 --> 00:37:36,800
but it's all together that really works well.

536
00:37:36,950 --> 00:37:39,840
So the culture is then really, really important,

537
00:37:39,970 --> 00:37:41,800
in my opinion, to create that type of,

538
00:37:42,130 --> 00:37:44,180
you know, moving from a group of people to a team.

539
00:37:46,160 --> 00:37:49,400
It's certainly a difficult process

540
00:37:49,740 --> 00:37:51,480
and it needs to be really intentional as well.

541
00:37:53,240 --> 00:37:54,720
And so I would say that the culture,

542
00:37:54,920 --> 00:37:57,860
our culture is a blend of academic rigor

543
00:37:58,280 --> 00:38:02,400
and a fairly, I would say, agile mindset

544
00:38:02,420 --> 00:38:03,380
and execution.

545
00:38:04,260 --> 00:38:06,240
We have an innovation first mentality.

546
00:38:07,280 --> 00:38:11,220
We give a lot of autonomy and ownership

547
00:38:11,540 --> 00:38:13,300
to every single individual

548
00:38:13,580 --> 00:38:15,300
to the point that sometimes,

549
00:38:16,160 --> 00:38:18,940
if we don't have in-house specific expertise,

550
00:38:19,520 --> 00:38:23,780
people are very happy to just pick that one up

551
00:38:23,900 --> 00:38:25,400
and try to just make it work, right?

552
00:38:25,560 --> 00:38:28,500
So they will learn and they will make it happen, right?

553
00:38:29,460 --> 00:38:31,260
And that's the attitude that we see,

554
00:38:32,660 --> 00:38:34,540
not being afraid of something new

555
00:38:34,760 --> 00:38:36,980
and just trying to learn and execute.

556
00:38:37,880 --> 00:38:39,200
We try to have a lot of transparency

557
00:38:39,560 --> 00:38:41,140
and a flat hierarchy as well.

558
00:38:42,620 --> 00:38:46,360
And trust, I think that those are the key points as well,

559
00:38:46,460 --> 00:38:48,140
part of our culture.

560
00:38:55,200 --> 00:39:01,100
[CLAIRE] Is everybody in the same timezone or are you distributed globally so that people might be 12 hours apart from each other? I'm just curious. I work

561
00:39:01,160 --> 00:39:05,620
for a very large organization. And of course the Postgres open source project, people are spread

562
00:39:05,860 --> 00:39:07,480
all over the world, and so I'm always curious about time zones. 

563
00:39:10,580 --> 00:39:10,700
[LUIGI] Yeah,

564
00:39:11,220 --> 00:39:15,940
and perhaps you can also tell us about your experience working in a startup like Citus,

565
00:39:16,100 --> 00:39:16,220
right?

566
00:39:20,100 --> 00:39:25,160
[CLAIRE] Yeah. So, well, first are you all in the same time zone for the most part right now? Obviously

567
00:39:25,180 --> 00:39:25,880
subject to change.

568
00:39:26,140 --> 00:39:33,280
[LUIGI] We are mostly in the same city or a couple of cities around in southern Sweden, close

569
00:39:33,320 --> 00:39:38,920
to Copenhagen, Malmö, Copenhagen, that's the region, very, very south of Sweden, right?

570
00:39:39,160 --> 00:39:41,160
Almost in the continent, let's say.

571
00:39:42,260 --> 00:39:48,340
But we have a few individuals that are abroad, including in very different time zones.

572
00:39:48,670 --> 00:39:54,240
We have a person in Colombia and a few people in Central Europe as well.

573
00:39:56,480 --> 00:40:00,640
And yeah, so we certainly need to make it work in a slightly remote setting.

574
00:40:00,730 --> 00:40:03,080
But we have also quite a lot of face time.

575
00:40:03,710 --> 00:40:09,739
And the fact that most of the people are in the same region, it's pretty convenient because

576
00:40:09,760 --> 00:40:13,260
we can have some really good regular face time.

577
00:40:13,590 --> 00:40:16,420
And the people that are not in that region,

578
00:40:16,700 --> 00:40:21,980
they fly and join for sometimes even a few weeks,

579
00:40:22,270 --> 00:40:24,880
a few weeks in a row to create those ties

580
00:40:26,180 --> 00:40:28,220
and create that feeling of a team.

581
00:40:28,410 --> 00:40:31,520
And again, not a bunch of groups that are working together,

582
00:40:31,800 --> 00:40:33,560
but the team, right?

583
00:40:33,570 --> 00:40:35,920
They morphing a group into a team.

584
00:40:36,180 --> 00:40:37,880
That's super important, I think.

585
00:40:39,100 --> 00:40:43,900
[CLAIRE] Okay, so I don't want to ignore your question about what it was like for me to work at a Postgres startup,

586
00:40:44,360 --> 00:40:51,160
which I did from 2017 to 2019 called Citus Data, which got acquired by Microsoft,

587
00:40:51,520 --> 00:40:53,340
which is how I ended up where I am now.

588
00:40:53,700 --> 00:40:59,940
But I do want to ignore it for a little while at least because there's something I'm really, really curious about.

589
00:41:03,099 --> 00:41:19,760
For many, not all at this point, but for a lot of developers, their workflows are changing as they figure out how to use coding assistance to help them be more productive and more efficient.

590
00:41:20,200 --> 00:41:33,220
And, you know, you'll hear some developers complain about AI slop, right, when they look at the work of others and stuff that's coming out of these AI coding assistants and they think it's just crappy.

591
00:41:34,000 --> 00:41:52,920
But then you'll also hear about developers who are figuring out how their workflow needs to change and how they can, at the same level of quality or higher, deliver great work while leveraging all of these new coding tools with AI.

592
00:41:53,400 --> 00:42:00,040
And so I'm really curious, like what's going on in your company and are people going through that transition and what's it like?

593
00:42:00,380 --> 00:42:04,920
And I mean, obviously your tech is based on AI to begin with.

594
00:42:04,760 --> 00:42:08,640
So I would think that you all might be ahead of the curve, but I don't know.

595
00:42:09,010 --> 00:42:09,480
You tell me.

596
00:42:09,700 --> 00:42:10,400
Change is hard.

597
00:42:11,160 --> 00:42:14,100
[LUIGI] Yeah, I mean, yeah, I love this question.

598
00:42:15,000 --> 00:42:19,360
You know, as a company, we want to contribute to that, right?

599
00:42:19,420 --> 00:42:24,840
So we want to create tools that people can use to make their life easier

600
00:42:25,460 --> 00:42:28,600
and perhaps really automate some tasks that they do daily

601
00:42:28,660 --> 00:42:30,240
so they can do other things.

602
00:42:31,760 --> 00:42:37,219
So having tools in your toolkit that can make you more productive

603
00:42:37,220 --> 00:42:40,740
that's really kind of one of the missions

604
00:42:41,040 --> 00:42:42,600
especially in the software tools space

605
00:42:42,750 --> 00:42:45,120
which is really exactly where we're at

606
00:42:45,260 --> 00:42:47,080
and so as you can imagine

607
00:42:47,110 --> 00:42:49,180
then if we are trying to contribute to that space

608
00:42:49,330 --> 00:42:54,380
we are 100% open to all sorts of new experimentation

609
00:42:55,880 --> 00:42:59,520
with things and tools that other people use

610
00:42:59,820 --> 00:43:03,000
to make ourselves more productive

611
00:43:03,840 --> 00:43:07,200
and also really not just the productivity

612
00:43:07,220 --> 00:43:17,140
aspect, it's just maybe not doing the boring stuff. In my opinion, what we do, the tuning

613
00:43:17,260 --> 00:43:21,620
of Postgres, it can be in some cases really tedious and sometimes a little boring as well.

614
00:43:22,860 --> 00:43:27,540
Can we give this to a robot and can we give this to a machine that does it for us?

615
00:43:30,100 --> 00:43:34,660
both the aspect of removing tedious and boring tasks

616
00:43:35,140 --> 00:43:37,240
and getting us more productive,

617
00:43:37,290 --> 00:43:39,480
I think that's something we really try to embrace

618
00:43:39,660 --> 00:43:40,500
as much as we can.

619
00:43:41,420 --> 00:43:47,920
We have subscriptions of all sorts of coding agents

620
00:43:49,060 --> 00:43:52,620
and we try to use as much as we can.

621
00:43:53,280 --> 00:43:58,140
We also leave the freedom to each one of the developers

622
00:43:58,160 --> 00:44:02,440
to choose which is their favorite tools

623
00:44:03,440 --> 00:44:08,760
and they can really have a bespoke environment for them.

624
00:44:09,940 --> 00:44:12,500
So we don't force them to use one specific tool.

625
00:44:12,960 --> 00:44:14,800
And I think that's interesting

626
00:44:14,960 --> 00:44:16,840
because there is always a little bit of cross-pollination

627
00:44:17,280 --> 00:44:20,660
between the different teams and exchange.

628
00:44:21,340 --> 00:44:25,880
And then you learn what works best that way as well.

629
00:44:26,060 --> 00:44:30,640
So eventually some people converge into using the same tools over time,

630
00:44:31,240 --> 00:44:34,180
which is just basically by the fact that they were using different tools.

631
00:44:34,270 --> 00:44:37,860
And then eventually by, again, osmosis of the environment,

632
00:44:37,970 --> 00:44:40,320
they realized that other tools may be a little better.

633
00:44:40,370 --> 00:44:44,360
And so they decide to go use those ones instead.

634
00:44:45,120 --> 00:44:49,020
[CLAIRE] Well, it feels like the sense of what's better changes every couple of months.

635
00:44:49,640 --> 00:44:56,880
Like, yeah, I'm glad you're not standardizing on these are the tool sets that people need to be using for their AI coding assistance.

636
00:44:57,200 --> 00:45:00,860
Because the world is changing fast.

637
00:45:02,180 --> 00:45:08,980
It's like there's a little horse race out there with technologies surpassing each other and then surpassing back.

638
00:45:09,340 --> 00:45:10,440
And I don't know.

639
00:45:10,880 --> 00:45:11,580
Is that what you say?

640
00:45:12,600 --> 00:45:12,800
[LUIGI] Absolutely.

641
00:45:13,160 --> 00:45:20,000
And I think you had as well a very interesting guest at some point who was talking about this.

642
00:45:20,180 --> 00:45:23,820
Was it Simon Wilson maybe?

643
00:45:22,580 --> 00:45:23,260
[CLAIRE] Simon Willison.

644
00:45:24,460 --> 00:45:25,040
[LUIGI] Willison, yes. So I remember.

645
00:45:25,580 --> 00:45:27,280
[CLAIRE] Brilliant, brilliant technologist,

646
00:45:27,720 --> 00:45:33,420
and he's been focusing a lot on AI the last couple of years. [Right.]

647
00:45:33,400 --> 00:45:34,660
So, yes, what were you going to say?

648
00:45:35,040 --> 00:45:35,240
[LUIGI] Yeah.

649
00:45:35,380 --> 00:45:42,940
And, you know, I think that what people call AI today is mainly LLMs.

650
00:45:43,700 --> 00:45:53,700
Of course, you know, the term AI was created in the 50s in a workshop at Dartmouth University

651
00:45:54,010 --> 00:45:54,560
in the U.S. [in New Hampshire]

652
00:45:56,640 --> 00:45:57,400
In New Hampshire, yes.

653
00:45:58,180 --> 00:46:02,540
There was at some point in, I think, '56, if I remember correctly, but don't quote me

654
00:46:02,560 --> 00:46:06,820
on that in mid fifties where some of the really,

655
00:46:07,710 --> 00:46:13,660
you know, initial, you know, AI folks,

656
00:46:13,900 --> 00:46:16,400
they sat down in this workshop,

657
00:46:17,660 --> 00:46:19,460
invited people across the country,

658
00:46:19,920 --> 00:46:22,540
perhaps some international professors as well joined

659
00:46:23,080 --> 00:46:26,020
and sat down, 20 of them, I think, or something like that.

660
00:46:26,480 --> 00:46:30,640
And they eventually, you know, it was a multi-week,

661
00:46:30,820 --> 00:46:32,400
It was, I think, a six week long workshop,

662
00:46:32,660 --> 00:46:34,760
which is insane if you think about that today.

663
00:46:34,850 --> 00:46:36,520
You know, workshops are usually a day or two

664
00:46:36,620 --> 00:46:37,660
or maybe a week maximum.

665
00:46:38,660 --> 00:46:41,200
But that was a very long over summer type of workshop

666
00:46:42,300 --> 00:46:45,000
where people would go for a few weeks and then come back.

667
00:46:45,410 --> 00:46:47,420
And it was a very interesting setting in the fifties

668
00:46:47,580 --> 00:46:48,840
that they were doing this type of things.

669
00:46:50,719 --> 00:46:53,520
And then, yeah, so back then they decided

670
00:46:53,660 --> 00:46:55,300
to give it a name to this thing

671
00:46:55,330 --> 00:46:57,220
that they were working from different perspectives.

672
00:46:57,310 --> 00:46:59,440
There were a lot of mathematicians in the audience,

673
00:46:59,800 --> 00:47:02,020
but also people were experimenting with the first computers

674
00:47:04,220 --> 00:47:05,580
and they gave it a name

675
00:47:05,600 --> 00:47:07,280
and the name was artificial intelligence.

676
00:47:07,500 --> 00:47:09,660
So we are talking about a term that was coined,

677
00:47:10,520 --> 00:47:13,340
what is that, 70 years ago or something like that, right?

678
00:47:14,340 --> 00:47:16,900
So, and of course, it evolved over the years

679
00:47:17,180 --> 00:47:18,360
in many possible ways.

680
00:47:18,780 --> 00:47:23,080
There've been many AI winters, how they call them,

681
00:47:23,440 --> 00:47:25,020
where this becomes less exciting

682
00:47:25,100 --> 00:47:26,260
and then it becomes more exciting,

683
00:47:26,720 --> 00:47:30,880
back and forth with that type of wave.

684
00:47:32,339 --> 00:47:38,440
And people have also used other terms over the years.

685
00:47:39,130 --> 00:47:41,700
You know, intelligent systems, for example, was one of them.

686
00:47:43,100 --> 00:47:45,020
Machine learning was created when I was in grad school

687
00:47:46,200 --> 00:47:49,920
and that started being really used a lot and is still used.

688
00:47:52,240 --> 00:47:55,400
And yeah, so now I think when you hear AI,

689
00:47:55,840 --> 00:47:59,180
you're mainly thinking about LLMs.

690
00:47:59,900 --> 00:48:02,120
And, you know, of course,

691
00:48:02,150 --> 00:48:08,280
there is also other models for images and so on.

692
00:48:08,280 --> 00:48:10,300
But mainly we're talking mainly about that.

693
00:48:11,000 --> 00:48:14,340
And I think that, you know,

694
00:48:14,350 --> 00:48:17,980
there is a lot of merit on, you know,

695
00:48:18,280 --> 00:48:21,500
not discarding what happened in the last 70 years in AI, right?

696
00:48:21,580 --> 00:48:29,800
Because I think LLMs are certainly creating this massive disruption in the way we work and so on.

697
00:48:29,800 --> 00:48:31,320
And I think we should certainly embrace them.

698
00:48:32,060 --> 00:48:34,740
At the same time, it's not a technology, you know,

699
00:48:34,740 --> 00:48:41,000
it would be naive to think that you can use one technology to do everything that you want to do,

700
00:48:41,260 --> 00:48:47,400
especially, you know, if you think about examples like autonomous driving cars, for example,

701
00:48:48,200 --> 00:48:51,680
like Waymo cars, close to where you live, Claire, in San Francisco.

702
00:48:52,200 --> 00:48:56,200
And in Menlo Park, I think they open it all the way to San Jose now,

703
00:48:56,300 --> 00:48:59,480
so you can take a Waymo car as well in Menlo Park, right?

704
00:49:04,740 --> 00:49:11,560
[CLAIRE] And it's pretty darn awesome, I've got to tell you. You don't have to talk to a person. The cars are always clean. There's no smells. You don't have to worry about

705
00:49:12,080 --> 00:49:18,720
the temperature being off or needing to be [adjusted]. Waymos are amazing. And

706
00:49:18,750 --> 00:49:26,240
I think at pretty much everybody who's tried them doesn't go back to other forms of

707
00:49:27,180 --> 00:49:28,540
Ubers or taxis or whatever.

708
00:49:28,980 --> 00:49:31,660
[LUIGI] That's exactly my feeling as well.

709
00:49:31,800 --> 00:49:35,800
I remember taking a Waymo one day and then the day after I took an Uber.

710
00:49:37,140 --> 00:49:45,640
And I remember feeling, I'm not feeling really safe right now because the driver was driving a little too fast

711
00:49:46,740 --> 00:49:48,240
and I didn't have that feeling in a Waymo.

712
00:49:48,240 --> 00:49:50,740
So I would have rather been in a Waymo at that time.

713
00:49:50,740 --> 00:49:53,540
So that's when I realized how much better the service was.

714
00:49:55,120 --> 00:49:57,320
And then the fact that you can really see them everywhere.

715
00:49:58,680 --> 00:50:00,300
You know, I was in a crossroad.

716
00:50:00,980 --> 00:50:02,760
Last time I was in San Francisco, I was in a crossroad.

717
00:50:02,760 --> 00:50:05,500
There were four Waymo cars at the traffic light.

718
00:50:06,240 --> 00:50:07,880
And that was a pretty common view.

719
00:50:07,990 --> 00:50:09,240
It wasn't an exception, right?

720
00:50:09,400 --> 00:50:12,280
So it's really interesting how well it works.

721
00:50:12,960 --> 00:50:16,040
And going back to my example with Waymo,

722
00:50:16,040 --> 00:50:20,380
I think this technology, for example, is not based on LLMs, right?

723
00:50:20,480 --> 00:50:24,380
At least maybe some sort of interface to define where you want to go.

724
00:50:24,600 --> 00:50:26,140
maybe you can have an LLM.

725
00:50:25,520 --> 00:50:26,260
[CLAIRE] Wait, wait, wait.

726
00:50:26,720 --> 00:50:29,180
When you say this technology, what do you mean by this?

727
00:50:30,180 --> 00:50:32,200
[LUIGI] The autonomous driving car technology.

728
00:50:33,020 --> 00:50:33,760
[CLAIRE] Okay, got it.

729
00:50:34,400 --> 00:50:37,740
[LUIGI] And, you know, if you're deciding if you're going left or right,

730
00:50:38,390 --> 00:50:41,420
I don't think you want to ask ChatGPT if you're going left or right

731
00:50:42,580 --> 00:50:44,720
because you cannot make a mistake, right?

732
00:50:46,380 --> 00:50:51,420
[CLAIRE] So the point you're trying to drive home is that AI and machine learning

733
00:50:52,040 --> 00:51:00,500
are much have much broader scope than LLMs but because many people's interaction with AI

734
00:51:00,760 --> 00:51:07,020
technologies now is focused on llms they're kind of equating all three of those terms together but

735
00:51:07,080 --> 00:51:11,460
you're saying no those terms are are different is that what you're saying?

736
00:51:12,020 --> 00:51:12,540
[LUIGI] Exactly, yes.

737
00:51:12,640 --> 00:51:17,900
And when you go back to think about the initial discussion we had on the self-driving databases,

738
00:51:19,940 --> 00:51:30,280
very often, and we saw, for example, there was a debate on auto-tuning at the lowlands in Rotterdam this year.

739
00:51:30,290 --> 00:51:31,240
There was a lowlands...

740
00:51:31,820 --> 00:51:32,220
[CLAIRE] Oh, really?

741
00:51:32,420 --> 00:51:33,060
Was that recorded?

742
00:51:34,560 --> 00:51:35,100
[LUIGI] I think so.

743
00:51:35,260 --> 00:51:35,340
Yes.

744
00:51:35,460 --> 00:51:37,860
You can probably drop that one in the notes as well.

745
00:51:38,000 --> 00:51:38,060
Yes.

746
00:51:38,060 --> 00:51:38,800
I think it was recorded.

747
00:51:38,850 --> 00:51:39,580
It was a debate.

748
00:51:39,180 --> 00:51:46,500
[CLAIRE] PGDay Lowlands, which Boriss Mejías will tell you is the second best Postgres conference in the continent of Europe.

749
00:51:47,660 --> 00:51:51,460
[LUIGI] It's true. I remember him saying that. And I also know the reason why he says that.

750
00:51:51,880 --> 00:51:52,040
[CLAIRE] Yeah.

751
00:51:53,800 --> 00:51:54,760
Okay, keep going, please.

752
00:51:55,040 --> 00:51:55,600
Sorry to interrupt.

753
00:51:55,740 --> 00:52:02,800
[LUIGI] Yeah. So for me, I think the discussion then, and by the way, I'm mentioning a bunch of events,

754
00:52:02,990 --> 00:52:06,380
because I think that will make sense in the context of what I'm saying. There was also this

755
00:52:06,400 --> 00:52:10,700
other event that one of my colleagues at DBtune helped organize,

756
00:52:12,940 --> 00:52:18,260
Ellyne called the AI Summit at the Riga Postgres Europe event.

757
00:52:18,960 --> 00:52:19,780
[CLAIRE] PGConf.EU

758
00:52:20,260 --> 00:52:25,640
[LUIGI] Yes, and all those events, I think if you look at what happened in these debates

759
00:52:25,860 --> 00:52:31,020
and panels and very often when we talk about AI,

760
00:52:31,100 --> 00:52:33,500
we default by thinking about LLM.

761
00:52:33,640 --> 00:52:45,380
And when you think about an LLM, then you, you know, everybody's really aware of all this sort of cases where it just tells you something really wrong.

762
00:52:45,490 --> 00:52:53,000
And so when you think about self-driving databases in the same way, when you think about self-driving cars, you cannot just make those mistakes.

763
00:52:53,170 --> 00:52:58,480
Right. It's just not possible. But, you know, by design, you should have something that doesn't do that.

764
00:52:58,510 --> 00:53:03,140
Right. Because it's not acceptable. And so very often it gets really all kind of put in.

765
00:53:03,200 --> 00:53:05,140
in one place and a little confusing.

766
00:53:05,570 --> 00:53:10,140
And when people debate very often,

767
00:53:07,820 --> 00:53:10,900
things are not really defined in a way that really allows

768
00:53:11,120 --> 00:53:14,480
for a fruitful discussion that is not ambiguous.

769
00:53:15,190 --> 00:53:16,680
And so when we talk about self-driving databases,

770
00:53:17,280 --> 00:53:19,840
many people or autonomous tuning,

771
00:53:19,960 --> 00:53:22,780
I'm a little more familiar maybe with that smaller topic,

772
00:53:23,580 --> 00:53:26,240
many people really think about, you know,

773
00:53:26,560 --> 00:53:28,220
putting a wrapper around ChatGPT.

774
00:53:28,860 --> 00:53:32,740
And then of course they have this kind of gut reaction,

775
00:53:32,940 --> 00:53:34,860
which is that's not going to work, right?

776
00:53:35,040 --> 00:53:36,800
So that's never going to work, right?

777
00:53:36,900 --> 00:53:40,500
So some people are really against this idea

778
00:53:41,320 --> 00:53:43,880
in the context of Postgres and database management

779
00:53:43,960 --> 00:53:48,380
of using AI for autonomous tuning

780
00:53:48,420 --> 00:53:49,340
and self-driving databases,

781
00:53:50,260 --> 00:53:52,200
because I think this is really anchored

782
00:53:52,220 --> 00:53:54,440
and rooted to the fact that they think about

783
00:53:55,020 --> 00:53:57,320
this kind of wrapper around chat GPT.

784
00:53:57,380 --> 00:53:59,440
And that really doesn't have to be the case

785
00:53:59,560 --> 00:54:01,900
because of course the AI field

786
00:54:01,900 --> 00:54:03,520
is much, much broader than that.

787
00:54:04,160 --> 00:54:08,160
And you can really build and engineer a system

788
00:54:08,540 --> 00:54:10,260
that is not just based on learning,

789
00:54:11,240 --> 00:54:14,820
but it's also based on the more classic deterministic software,

790
00:54:15,680 --> 00:54:17,080
guardrails and things like that.

791
00:54:17,220 --> 00:54:19,100
And this actually has a name in the field.

792
00:54:19,180 --> 00:54:22,220
I think it's called Neurosymbolic,

793
00:54:23,960 --> 00:54:26,600
where you basically combine the logic side of,

794
00:54:27,960 --> 00:54:29,280
you know, the, what do you call this?

795
00:54:29,500 --> 00:54:34,980
deductive reasoning with inductive reasoning together. You basically put a system that is

796
00:54:35,060 --> 00:54:40,480
basically based on rules and software together with a system that can learn. And then these two

797
00:54:40,640 --> 00:54:46,960
things together with all these guardrails implemented in place, then it makes it really

798
00:54:47,020 --> 00:54:51,500
possible to achieve something that is really safe to use. I don't know if that makes sense.

799
00:54:53,260 --> 00:54:53,480
[CLAIRE] It does.

800
00:54:53,720 --> 00:55:11,940
And I also hear, what you're trying to say is that, for people who could benefit from automated database tuning and something like DBtune, you don't want any of the mistakes they've been exposed to with an LLM, right?

801
00:55:13,500 --> 00:55:22,800
To cause them to dismiss the power of automated database tuning because they're not equivalent.

802
00:55:24,980 --> 00:55:27,820
using a chat-based LLM

803
00:55:29,440 --> 00:55:31,920
versus taking advantage of,

804
00:55:32,090 --> 00:55:33,120
like you're talking about,

805
00:55:33,120 --> 00:55:35,820
these level five automations

806
00:55:37,270 --> 00:55:38,500
in database management.

807
00:55:39,260 --> 00:55:40,040
[LUIGI] Yes, absolutely.

808
00:55:40,180 --> 00:55:57,120
And if you're using an LLM in the context of you're doing some manual changes and you query something on LLM, but you're still in charge and you're responsible for the things that you will actually do manually,

809
00:55:58,360 --> 00:55:59,480
then maybe it's fine.

810
00:55:59,640 --> 00:56:00,540
You are probably an expert.

811
00:56:00,750 --> 00:56:03,560
You're using that to just speed up your development.

812
00:56:04,120 --> 00:56:07,380
And, you know, you can take that recommendation from the LLM,

813
00:56:07,460 --> 00:56:11,060
but really analyze it and make it and implement it.

814
00:56:11,310 --> 00:56:15,480
And it's really up to you to really run that.

815
00:56:15,630 --> 00:56:17,460
And so if you're not doing level five,

816
00:56:17,920 --> 00:56:20,320
then it's possible to use LLMs in that context

817
00:56:20,620 --> 00:56:22,240
where they basically are an assistant for you

818
00:56:22,340 --> 00:56:25,060
to get some quick output

819
00:56:25,360 --> 00:56:27,560
that you can then re-manipulate yourself

820
00:56:27,580 --> 00:56:28,240
and reuse.

821
00:56:29,240 --> 00:56:30,760
But if you're going level five,

822
00:56:30,920 --> 00:56:33,520
then it's a completely different game, right?

823
00:56:33,760 --> 00:56:36,580
You know in some sense,

824
00:56:36,680 --> 00:56:38,420
you don't have the human in the loop anymore.

825
00:56:39,140 --> 00:56:40,480
And that means that the system

826
00:56:40,640 --> 00:56:41,740
needs to be really fully autonomous.

827
00:56:42,520 --> 00:56:43,400
And to be fully autonomous,

828
00:56:43,560 --> 00:56:44,840
it needs to be also safe.

829
00:56:45,100 --> 00:56:46,900
And so when, what I think about,

830
00:56:47,000 --> 00:56:48,980
I like the analogy with autonomous driving cars,

831
00:56:49,160 --> 00:56:51,240
because this is one of the big successes

832
00:56:51,760 --> 00:56:53,420
that they, we had in, you know,

833
00:56:53,540 --> 00:56:56,480
in tech and in society.

834
00:56:58,000 --> 00:57:00,220
for the last maybe many years.

835
00:57:00,960 --> 00:57:03,360
And this is really the idea of autonomous driving cars

836
00:57:03,380 --> 00:57:05,080
that take you from point A to point B

837
00:57:05,700 --> 00:57:09,060
and they do it effectively, efficiently and safely, right?

838
00:57:09,840 --> 00:57:16,000
[CLAIRE] Yeah. By the way, the big news in the Bay Area is Waymos are now allowed on the freeways.

839
00:57:16,880 --> 00:57:18,140
So the last time I remember you being in the Bay Area, which was last November or something like that, they were not yet. [Yeah.]

840
00:57:23,780 --> 00:57:25,860
But it just came out like a week or two ago.

841
00:57:24,260 --> 00:57:26,720
[LUIGI] Yes.

842
00:57:26,420 --> 00:57:27,500
That's unbelievable.

843
00:57:28,400 --> 00:57:30,780
So it's really progressing really in a big way.

844
00:57:31,040 --> 00:57:33,020
So I think you can go from San Francisco to San Jose,

845
00:57:33,110 --> 00:57:36,060
which is a one hour and a half drive, I think, right?

846
00:57:36,240 --> 00:57:38,360
So if you do it from one side to the other side

847
00:57:38,390 --> 00:57:40,620
and on the freeway, so that's really...

848
00:57:41,260 --> 00:57:42,640
So yeah, so the idea is really, you know,

849
00:57:42,700 --> 00:57:45,280
go from point A, San Francisco to point B, San Jose.

850
00:57:45,490 --> 00:57:46,680
You want to do effectively,

851
00:57:47,130 --> 00:57:49,720
meaning that you want to actually get San Jose at the end.

852
00:57:50,220 --> 00:57:51,180
You want to do efficiently,

853
00:57:51,530 --> 00:57:54,340
meaning that you don't want to go to some other cities,

854
00:57:54,640 --> 00:58:00,160
Redwood City or, you know, other cities before going to, you know, you want to go on a straight

855
00:58:00,360 --> 00:58:04,080
line, let's say, and then safely, right? So you don't want to get in a car accident and so on.

856
00:58:04,140 --> 00:58:07,700
In the same way, self-driving databases, they should be kind of designed that way, right? So

857
00:58:07,750 --> 00:58:12,680
you want to have something that takes you from point A to point B. Let's talk, for example,

858
00:58:12,920 --> 00:58:18,800
about autonomous tuning. That would mean from untuned to tuned. And then you want to have this

859
00:58:19,030 --> 00:58:23,660
be done in an effective way, meaning that at the end of the process, you want this to be tuned

860
00:58:24,220 --> 00:58:28,680
efficiently, meaning that it cannot take two months, for example, to tune your system.

861
00:58:28,860 --> 00:58:30,960
It should be done in just a few hours, maybe.

862
00:58:31,740 --> 00:58:33,580
That would be ideal or even faster.

863
00:58:34,260 --> 00:58:39,340
And then safely, of course, so it doesn't have to crush your system or jeopardize your

864
00:58:39,500 --> 00:58:41,020
tables or anything else, right?

865
00:58:42,400 --> 00:58:47,220
[CLAIRE] Okay, so I want to pivot slightly now to something I've been wondering about a lot.

866
00:58:48,860 --> 00:58:55,980
I'm going to be giving a talk at FOSDEM on the main track this year, and it's about building

867
00:58:56,000 --> 00:58:58,020
the next generation of open source contributors.

868
00:58:58,430 --> 00:59:02,420
And it's focused on lessons from the 30 years of the Postgres project

869
00:59:02,600 --> 00:59:06,560
because 2026 is, later in 2026,

870
00:59:06,670 --> 00:59:10,540
we're going to have the 30th anniversary of the beginning of the Postgres

871
00:59:10,670 --> 00:59:13,080
open source project, which is pretty awesome.

872
00:59:13,700 --> 00:59:16,460
A lot of people are excited about that milestone.

873
00:59:16,870 --> 00:59:20,680
But anyway, this conference talk is causing me to think about the future

874
00:59:20,900 --> 00:59:22,180
and try to predict.

875
00:59:23,090 --> 00:59:25,220
And I don't have it figured out yet.

876
00:59:25,360 --> 00:59:26,500
So I don't have predictions.

877
00:59:27,140 --> 00:59:34,100
But like many people, I've been thinking about this thing called the Jevons Paradox, where

878
00:59:34,420 --> 00:59:40,440
like, I think it came, it first came up in the context of coal and steam efficiency.

879
00:59:41,120 --> 00:59:50,240
But if you become more efficient at using a certain kind of constrained resource, does

880
00:59:50,600 --> 00:59:55,280
demand for that constrained resource effectively go down because your efficiency has gone up?

881
00:59:55,960 --> 01:00:02,120
So you know in the case of coal right was was there going to be less demand for coal miners

882
01:00:02,290 --> 01:00:09,000
for example or for coal at all, and in fact what happened is demand went up right and more uses

883
01:00:09,170 --> 01:00:15,360
came to be more use cases became viable, etc, etc, so people are wondering, what's the future for

884
01:00:15,500 --> 01:00:22,160
programmers what's the future for DBAs, what's the future for developers, and will Jevons Paradox

885
01:00:22,180 --> 01:00:23,760
kick in and in what way?

886
01:00:24,190 --> 01:00:25,900
And is that something you wonder about?

887
01:00:28,880 --> 01:00:30,640
Is that something you're prepared to talk about?

888
01:00:30,960 --> 01:00:34,780
[LUIGI] No, I do think about those things from time to time.

889
01:00:34,920 --> 01:00:42,460
I think the only thing we know about the future is that we will get it wrong.

890
01:00:43,000 --> 01:00:44,660
The prediction would be wrong, right?

891
01:00:45,480 --> 01:00:50,020
So I'm really cautious about what I usually say when I predict something.

892
01:00:51,400 --> 01:00:56,400
I think we're certainly seeing a lot of automation, especially if you talk about programming.

893
01:00:56,700 --> 01:01:05,560
even in the database space, people are using chatbots or other tools to become more productive.

894
01:01:06,160 --> 01:01:07,600
And a lot of that is working, right?

895
01:01:07,900 --> 01:01:09,800
So certainly people are becoming more productive.

896
01:01:11,520 --> 01:01:23,260
Is this getting completely automated in a way that you don't need database administrators anymore, for example,

897
01:01:23,660 --> 01:01:25,120
or you don't need programmers anymore?

898
01:01:25,940 --> 01:01:27,000
I don't think so.

899
01:01:27,480 --> 01:01:30,180
And maybe this will happen one day,

900
01:01:30,300 --> 01:01:31,500
but we are certainly not there.

901
01:01:31,760 --> 01:01:34,380
In fact, I think that expert programmers

902
01:01:35,680 --> 01:01:38,560
are really having the best of their time

903
01:01:38,720 --> 01:01:41,780
because very often you have this kind of human in the loop

904
01:01:43,480 --> 01:01:45,180
mechanism that you need to have

905
01:01:45,920 --> 01:01:48,140
before pushing code in production.

906
01:01:48,380 --> 01:01:50,560
And what happens these days is that

907
01:01:50,560 --> 01:01:51,400
if you're a good programmer,

908
01:01:52,040 --> 01:01:54,180
you will be able to quickly review PRs.

909
01:01:54,280 --> 01:01:55,820
Maybe the PRs don't come from your colleagues.

910
01:01:56,420 --> 01:01:59,880
They come from some sort of AI, LLM system.

911
01:02:00,600 --> 01:02:02,700
But you still need to be able to read that code

912
01:02:04,220 --> 01:02:06,760
and make sure that it does what you want it to do.

913
01:02:07,380 --> 01:02:09,400
And reviewing code is, I think,

914
01:02:09,440 --> 01:02:10,980
one of the most challenging tasks.

915
01:02:11,200 --> 01:02:12,760
So I think writing code is much easier

916
01:02:12,880 --> 01:02:14,080
than reviewing code, right?

917
01:02:14,720 --> 01:02:17,880
And so I think that all the folks

918
01:02:18,000 --> 01:02:20,180
that have really a lot of expertise,

919
01:02:21,860 --> 01:02:24,240
been working in the industry for a long time,

920
01:02:24,740 --> 01:02:26,440
they are really in a good spot right now

921
01:02:26,580 --> 01:02:27,780
because they will be the people

922
01:02:28,140 --> 01:02:30,180
that will be augmented with this assistance.

923
01:02:30,830 --> 01:02:33,540
And it will basically produce a lot of code quickly

924
01:02:34,140 --> 01:02:36,080
because they're able to quickly review code.

925
01:02:36,280 --> 01:02:38,180
This may be even pretty complex,

926
01:02:39,220 --> 01:02:40,800
but they have the expertise in the background

927
01:02:41,080 --> 01:02:42,500
to really review the code and so on.

928
01:02:42,740 --> 01:02:46,300
I'm a little more worried about the more junior folks, right?

929
01:02:46,600 --> 01:02:50,300
Which of course need to get there

930
01:02:50,480 --> 01:02:51,580
and it's a long journey.

931
01:02:51,660 --> 01:02:59,360
So I'm a little more worried about that category of developers more than the more experienced ones.

932
01:02:59,640 --> 01:03:15,620
And I'm certainly pretty bullish on the fact that I'm not sure, even if we see a lot of companies that say that they're laying off people because of the new AI wave, I'm not sure if I fully buy that.

933
01:03:15,720 --> 01:03:18,360
Because in practice, what I see also, you know,

934
01:03:18,500 --> 01:03:21,600
running a company is that you just want to do much more

935
01:03:21,720 --> 01:03:22,420
than what you can do.

936
01:03:23,370 --> 01:03:25,100
And if you can automate 30-40%,

937
01:03:25,530 --> 01:03:27,160
even 50%, of what you're already doing,

938
01:03:27,780 --> 01:03:28,580
you will just basically,

939
01:03:28,960 --> 01:03:31,000
if you really believe that the people in your team

940
01:03:31,340 --> 01:03:34,140
are, you know, the smart people that you need

941
01:03:34,160 --> 01:03:35,920
and, you know, that you have a good team,

942
01:03:36,200 --> 01:03:41,600
basically you will redirect that team to do other things

943
01:03:41,760 --> 01:03:42,780
and work on other projects.

944
01:03:42,860 --> 01:03:47,040
And I will never, you know, let the person go.

945
01:03:47,360 --> 01:03:49,080
If, you know, if the person is contributing,

946
01:03:49,520 --> 01:03:52,380
why would, you know, you would use the help

947
01:03:52,740 --> 01:03:54,360
to build more things, you know,

948
01:03:55,020 --> 01:03:57,840
especially if you think about a capitalistic setting

949
01:03:58,200 --> 01:03:59,400
where, you know, create a company,

950
01:03:59,980 --> 01:04:01,760
you want to do more, you want to create more products,

951
01:04:01,960 --> 01:04:07,400
more, and so I think that a lot of the layoffs

952
01:04:07,620 --> 01:04:10,900
are just, you know, revamping teams

953
01:04:10,940 --> 01:04:12,780
and maybe changing strategy

954
01:04:13,160 --> 01:04:14,520
and you get some groups,

955
01:04:14,860 --> 01:04:15,720
you know, some teams go.

956
01:04:16,260 --> 01:04:17,320
But I don't really believe

957
01:04:17,500 --> 01:04:18,160
that a lot of that

958
01:04:18,340 --> 01:04:19,360
is really coming from,

959
01:04:20,400 --> 01:04:20,920
you know, automation.

960
01:04:22,320 --> 01:04:23,120
And yeah,

961
01:04:23,160 --> 01:04:24,620
and that's my take on this perhaps.

962
01:04:25,480 --> 01:04:26,380
[CLAIRE] Okay, awesome.

963
01:04:27,840 --> 01:04:33,020
Before we wrap, I am going to put you on the spot about something that is near and dear to my heart.

964
01:04:35,080 --> 01:04:36,960
You know, there's a lot of great Postgres conferences.

965
01:04:37,220 --> 01:04:39,500
We mentioned a few during this podcast.

966
01:04:39,740 --> 01:04:44,540
And I know that DBtune is often a sponsor of many of these conferences.

967
01:04:44,940 --> 01:04:51,160
And if you're listening and you use Postgres and you've not yet been to a Postgres community conference, you should go.

968
01:04:51,640 --> 01:04:52,640
Just make it happen.

969
01:04:52,940 --> 01:04:54,000
Find one local to you.

970
01:04:54,400 --> 01:04:56,720
And there's some pretty amazing ones out there.

971
01:04:56,860 --> 01:05:02,120
But anyway, POSETTE: An Event for Postgres is a virtual conference.

972
01:05:02,380 --> 01:05:03,100
It'll happen in June.

973
01:05:03,280 --> 01:05:04,520
The CFP is open now.

974
01:05:05,000 --> 01:05:05,640
Call for proposals.

975
01:05:06,180 --> 01:05:09,420
CFP is going to close on February 1st.

976
01:05:09,440 --> 01:05:14,260
And so my question to you, Luigi, are you or is anyone on your team going to be submitting

977
01:05:14,540 --> 01:05:16,220
talk proposals into POSETTE?

978
01:05:16,500 --> 01:05:18,880
And there's only one right answer, but go ahead,

979
01:05:19,130 --> 01:05:20,780
tell me whatever answer you want.

980
01:05:21,160 --> 01:05:22,360
Just know there's only one right one!

981
01:05:25,420 --> 01:05:29,320
[LUIGI] [LAUGHS] Well, the answer is yes, but I was genuinely going to submit a talk.

982
01:05:29,370 --> 01:05:32,260
So I gave a talk at POSETTE two years ago,

983
01:05:32,350 --> 01:05:33,160
one year and a half ago,

984
01:05:33,480 --> 01:05:35,360
and I really had a good time.

985
01:05:35,410 --> 01:05:36,800
It was really well done.

986
01:05:37,060 --> 01:05:39,300
And I think the value of POSETTE

987
01:05:39,440 --> 01:05:40,900
is that since it's virtual

988
01:05:41,220 --> 01:05:43,600
and it gets recorded in a very professional manner,

989
01:05:44,360 --> 01:05:45,860
this really stays there for a long time.

990
01:05:45,890 --> 01:05:47,340
And you guys do a very good job

991
01:05:47,510 --> 01:05:50,060
at advertising this also after the conference and so on.

992
01:05:50,160 --> 01:05:53,140
So I got a lot of really good feedback from POSETTE.

993
01:05:53,160 --> 01:05:58,240
So I'm really looking forward to submitting a few talks again this year,

994
01:05:59,160 --> 01:06:00,940
and hopefully you guys will accept it.

995
01:06:02,060 --> 01:06:04,040
[CLAIRE] Well, I am on the talk selection team,

996
01:06:05,280 --> 01:06:08,000
and there are three other people on the talk selection team as well.

997
01:06:08,160 --> 01:06:13,100
And I know that last year we had more than a couple hundred talk proposals to review.

998
01:06:13,240 --> 01:06:14,820
So the decision-making is tough.

999
01:06:15,200 --> 01:06:20,860
It's really tough because there's often many more talks that we want to accept than we do.

1000
01:06:21,140 --> 01:06:25,240
But I would really love to be able to consider proposals from you,

1001
01:06:25,440 --> 01:06:28,140
so I'm glad to hear that your answer is yes.

1002
01:06:28,500 --> 01:06:30,920
Genuinely so, not because I'm twisting your arm. [LAUGHS]

1003
01:06:32,780 --> 01:06:34,720
Yeah, one of the things that I really like,

1004
01:06:34,800 --> 01:06:38,700
I get pressure sometimes internally from people who feel like

1005
01:06:38,980 --> 01:06:43,320
a conference is validated by having some type of in-person presence.

1006
01:06:44,140 --> 01:06:48,240
And so therefore, like for POSETTE, this is going to be its fifth year as a conference.

1007
01:06:48,780 --> 01:06:54,180
But they feel like, okay, for POSETTE to be a real success, it's got to go in person, right?

1008
01:06:54,230 --> 01:06:57,760
It has to have that in-person element and chemistry.

1009
01:06:58,160 --> 01:07:00,980
And I totally get that in-person is fun.

1010
01:07:01,510 --> 01:07:14,500
But the thing that I really like about it being virtual is there are so many people who don't get the travel budget or who have young kids or elderly parents or other reasons they can't travel to go to a conference.

1011
01:07:14,740 --> 01:07:21,480
And I just love that we get these talks out there with this high quality production on YouTube for everybody to watch.

1012
01:07:21,700 --> 01:07:23,260
And I feel good about that.

1013
01:07:23,740 --> 01:07:25,740
So I'm glad you mentioned it.

1014
01:07:25,840 --> 01:07:28,540
[LUIGI] I think it's a different format

1015
01:07:28,620 --> 01:07:31,140
and it really makes sense to me.

1016
01:07:31,600 --> 01:07:34,140
And again, as you said, I also like very much

1017
01:07:34,280 --> 01:07:37,760
the hallway tracks and the events where you go in person,

1018
01:07:38,460 --> 01:07:41,360
but there is certainly scope for a conference like POSETTE

1019
01:07:41,960 --> 01:07:44,160
for all the reasons you listed before.

1020
01:07:45,200 --> 01:07:50,500
[CLAIRE] Okay, all right I'll stop, we'll stop waxing philosophical about this! Thank you so much

1021
01:07:50,560 --> 01:07:51,400
for coming on the show.

1022
01:07:51,870 --> 01:07:52,940
I really appreciate it.

1023
01:07:53,120 --> 01:07:54,100
It's time to wrap.

1024
01:07:55,960 --> 01:07:58,140
But I appreciate you making the time.

1025
01:07:58,230 --> 01:08:00,180
I know you and I are nine hours apart,

1026
01:08:00,510 --> 01:08:03,840
time zone wise.

1027
01:08:01,380 --> 01:08:04,780
So thank you for coming in your evening

1028
01:08:04,950 --> 01:08:05,620
to join us.

1029
01:08:07,040 --> 01:08:10,480
Luigi Nardi is head of DBtune,

1030
01:08:10,490 --> 01:08:12,760
and I hope for any of you who are listening

1031
01:08:13,000 --> 01:08:14,480
that you've enjoyed today's conversation.

1032
01:08:15,160 --> 01:08:16,480
If you like the episode

1033
01:08:16,710 --> 01:08:17,580
and you want to hear more

1034
01:08:17,680 --> 01:08:19,160
of these Talking Postgres episodes,

1035
01:08:19,700 --> 01:08:25,080
You should subscribe on Apple, Spotify, YouTube, or wherever you get your podcasts.

1036
01:08:25,500 --> 01:08:26,660
And please tell your friends.

1037
01:08:27,180 --> 01:08:29,720
Word of mouth is gold in the podcast world.

1038
01:08:30,440 --> 01:08:34,259
And if you leave a review, that helps more people discover the podcast.

1039
01:08:35,040 --> 01:08:40,160
You can get to past episodes, as well as get links to subscribe on the different platforms

1040
01:08:40,960 --> 01:08:42,799
at TalkingPostgres.com.

1041
01:08:43,420 --> 01:08:47,660
And you'll find transcripts on those episode pages on TalkingPostgres.com also.

1042
01:08:48,359 --> 01:08:53,319
A big thank you to the people who joined the live recording and participated in the text

1043
01:08:53,520 --> 01:08:54,299
chat on Discord.

1044
01:08:55,160 --> 01:08:58,600
And I hope to see you all again next month.

1045
01:08:59,000 --> 01:08:59,359
Thank you.

1046
01:09:00,339 --> 01:10:28,160
[LUIGI] Thank you, Claire. Stay tuned.