Meeting Title: Uttam <> Patrick-Weekly Date: 2024-09-20 Meeting participants: Patrick Trainer, Uttam Kumaran
WEBVTT
1 00:06:01.660 ⇒ 00:06:02.420 Uttam Kumaran: So can
2 00:06:05.090 ⇒ 00:06:11.819 Uttam Kumaran: I just have to run the dog around because he’s just like he’s just like sitting next to me staring.
3 00:06:12.140 ⇒ 00:06:13.380 Patrick Trainer: Very nice.
4 00:06:15.010 ⇒ 00:06:15.585 Uttam Kumaran: Okay.
5 00:06:17.580 ⇒ 00:06:20.530 Patrick Trainer: I’m giving giving Brian a hard time.
6 00:06:20.920 ⇒ 00:06:23.200 Patrick Trainer: They’re not a hard time, but just cheering them.
7 00:06:23.700 ⇒ 00:06:25.839 Uttam Kumaran: Yeah, wait. Oh, you! You messaged him!
8 00:06:25.840 ⇒ 00:06:28.590 Patrick Trainer: No, no, I I mean, I put it in the channel.
9 00:06:28.840 ⇒ 00:06:29.410 Uttam Kumaran: Oh, nice!
10 00:06:29.410 ⇒ 00:06:30.850 Patrick Trainer: Is it like he made a commit.
11 00:06:30.850 ⇒ 00:06:31.899 Uttam Kumaran: Oh, yeah. Yeah.
12 00:06:32.359 ⇒ 00:06:38.790 Patrick Trainer: In in the the actions repo of like create. Tbc, cloud. Allow list, IP,
13 00:06:39.364 ⇒ 00:06:44.509 Patrick Trainer: I’m about to create an issue to remove it.
14 00:06:45.140 ⇒ 00:06:47.874 Uttam Kumaran: Yeah, he’s like, I deserve it.
15 00:06:49.450 ⇒ 00:06:54.859 Uttam Kumaran: Also, it’s funny because we’ve been waiting for 2 days to like, get in touch with support. Basically.
16 00:06:54.860 ⇒ 00:06:55.420 Patrick Trainer: Wow!
17 00:06:55.420 ⇒ 00:06:56.630 Uttam Kumaran: Lying, and I’m like
18 00:06:57.120 ⇒ 00:07:02.367 Uttam Kumaran: dude submit more tickets. He’s like I can, and I call them, and in like half an hour we’re like
19 00:07:03.150 ⇒ 00:07:04.979 Uttam Kumaran: through it. And I’m like
20 00:07:05.830 ⇒ 00:07:09.871 Uttam Kumaran: this is you’re just royally fucked up this week.
21 00:07:15.250 ⇒ 00:07:18.540 Patrick Trainer: Oh, man, a lot relates to.
22 00:07:18.640 ⇒ 00:07:19.770 Patrick Trainer: Let’s stay. Yeah.
23 00:07:21.310 ⇒ 00:07:23.990 Patrick Trainer: I hope he knows that this is all in good fun.
24 00:07:23.990 ⇒ 00:07:26.630 Uttam Kumaran: No, no, I I told him. He’s gonna be fine.
25 00:07:26.630 ⇒ 00:07:27.440 Patrick Trainer: Okay.
26 00:07:30.236 ⇒ 00:07:32.673 Patrick Trainer: I’m gonna assign him the ticket
27 00:07:36.020 ⇒ 00:07:37.850 Patrick Trainer: and a bug.
28 00:07:51.040 ⇒ 00:07:52.480 Patrick Trainer: Let’s see.
29 00:08:18.250 ⇒ 00:08:21.091 Patrick Trainer: Alright, I’m done. That’s enough.
30 00:08:24.430 ⇒ 00:08:29.330 Uttam Kumaran: Well, yeah, I mean, I think, like we could just talk about what we want to do for
31 00:08:29.960 ⇒ 00:08:55.809 Uttam Kumaran: like a larger roadmap. I mean also, like, I think, on your side, I can also, if we need help, I can. I talked to Augustine again like recently, he said. He probably has a little bit of time. Miguel can help on some stuff on the automation side. So we have some support. But yeah, my feeling is like, I really just want to see across each of the layers
32 00:08:56.110 ⇒ 00:08:59.230 Uttam Kumaran: where each of the layers, but also
33 00:08:59.590 ⇒ 00:09:02.069 Uttam Kumaran: in terms of the phases of a client.
34 00:09:02.440 ⇒ 00:09:11.640 Uttam Kumaran: where we can improve from like an infraside. But I frankly, I think the lowest hanging fruit is on
35 00:09:12.010 ⇒ 00:09:15.459 Uttam Kumaran: testing and alerting, and being able to provide
36 00:09:15.580 ⇒ 00:09:19.180 Uttam Kumaran: the aes and the analysts with a framework
37 00:09:19.420 ⇒ 00:09:21.410 Uttam Kumaran: to test their shit, and like.
38 00:09:21.410 ⇒ 00:09:22.140 Patrick Trainer: Right.
39 00:09:22.140 ⇒ 00:09:23.250 Uttam Kumaran: Set up alerts.
40 00:09:23.250 ⇒ 00:09:23.690 Patrick Trainer: Right.
41 00:09:24.570 ⇒ 00:09:26.599 Patrick Trainer: Yeah, I thought, like, I think there’s
42 00:09:27.460 ⇒ 00:09:29.699 Patrick Trainer: like, there’s a couple of
43 00:09:31.600 ⇒ 00:09:36.380 Patrick Trainer: like correlated things that that come along with that. And like, it’s also
44 00:09:37.030 ⇒ 00:09:39.870 Patrick Trainer: like. So there’s there’s the framework itself
45 00:09:40.270 ⇒ 00:09:44.730 Patrick Trainer: like, that’s 1 thing. But then it’s also like that. Just would live
46 00:09:45.140 ⇒ 00:09:48.009 Patrick Trainer: as like a almost like a static asset.
47 00:09:48.250 ⇒ 00:09:48.650 Uttam Kumaran: Yeah.
48 00:09:48.650 ⇒ 00:09:59.249 Patrick Trainer: But the way kind of like I’m thinking of, like the overall strategy is like, so we’re like, what is the end goal? Come? And I almost see it as like a
49 00:09:59.500 ⇒ 00:10:04.429 Patrick Trainer: like a type of like control plane, where we’re able to see like
50 00:10:04.450 ⇒ 00:10:09.999 Patrick Trainer: or have insight into these like different layers of like
51 00:10:10.476 ⇒ 00:10:12.459 Patrick Trainer: one, a project. But then.
52 00:10:12.690 ⇒ 00:10:18.230 Patrick Trainer: at a higher level, the multiple projects like multiple clients itself.
53 00:10:18.500 ⇒ 00:10:27.479 Patrick Trainer: And so like knowing, like being able to go to like one place essentially like an admin panel of like, okay, here’s
54 00:10:27.750 ⇒ 00:10:30.549 Patrick Trainer: Javi coffee. Here’s pool parts. Here’s this.
55 00:10:30.640 ⇒ 00:10:34.410 Patrick Trainer: these pipelines that pool parts are running good. Okay, this tail
56 00:10:34.930 ⇒ 00:10:42.110 Patrick Trainer: test that here failed like. And then being able to kind of like, move and go through there
57 00:10:42.320 ⇒ 00:10:43.720 Patrick Trainer: and then
58 00:10:44.090 ⇒ 00:10:52.860 Patrick Trainer: within that. That’s where, like those different, like frameworks or catalogs, or like
59 00:10:53.020 ⇒ 00:10:58.640 Patrick Trainer: assets relating to like specific actions. That’s where those live.
60 00:10:58.720 ⇒ 00:11:00.569 Patrick Trainer: And so
61 00:11:01.010 ⇒ 00:11:09.521 Patrick Trainer: like. I mean, we have all of these things of I mean, like metadata, like what is interesting in
62 00:11:10.440 ⇒ 00:11:18.435 Patrick Trainer: these repos now like, where like what’s moving around and but then we also have, like the
63 00:11:20.300 ⇒ 00:11:24.290 Patrick Trainer: basically like what you said, like we
64 00:11:24.480 ⇒ 00:11:28.214 Patrick Trainer: come up with, like some sort of framework of
65 00:11:29.730 ⇒ 00:11:33.009 Patrick Trainer: be that like one checking for coverage
66 00:11:33.818 ⇒ 00:11:36.089 Patrick Trainer: of like of tests.
67 00:11:37.020 ⇒ 00:11:39.630 Patrick Trainer: putting also checks into
68 00:11:41.720 ⇒ 00:11:48.210 Patrick Trainer: like in our Ci and CD like in and merging that, making sure that, like
69 00:11:48.230 ⇒ 00:12:00.459 Patrick Trainer: the like tests actually have to be one implemented and 2 ran, yeah, before those actually get deployed. So thinking of like that sort of stuff, but then, also.
70 00:12:00.620 ⇒ 00:12:01.920 Patrick Trainer: there’s
71 00:12:02.030 ⇒ 00:12:08.259 Patrick Trainer: not just like the checking part of it. But there’s the like remediation part of it.
72 00:12:08.270 ⇒ 00:12:10.650 Patrick Trainer: And it’s like, Okay, if these checks fail.
73 00:12:10.650 ⇒ 00:12:11.260 Uttam Kumaran: No.
74 00:12:11.260 ⇒ 00:12:13.410 Patrick Trainer: Where do you go to look? What do you do?
75 00:12:13.843 ⇒ 00:12:18.799 Patrick Trainer: But then, there and then there’s like that stuff just like ongoing.
76 00:12:19.330 ⇒ 00:12:20.210 Patrick Trainer: So
77 00:12:22.710 ⇒ 00:12:29.070 Patrick Trainer: So like. So this is kind of like, how I’m thinking about, or at least right now, in terms of like
78 00:12:29.580 ⇒ 00:12:31.750 Patrick Trainer: roadmap is like.
79 00:12:33.680 ⇒ 00:12:36.009 Patrick Trainer: let’s think about the
80 00:12:36.050 ⇒ 00:12:38.180 Patrick Trainer: desired like end state.
81 00:12:38.370 ⇒ 00:12:39.040 Uttam Kumaran: Yeah, for.
82 00:12:39.040 ⇒ 00:12:42.650 Patrick Trainer: To like, what does that look like? And then back into
83 00:12:42.680 ⇒ 00:12:44.900 Patrick Trainer: like the small components?
84 00:12:44.960 ⇒ 00:12:48.700 Patrick Trainer: And then, as we’ve backed into that, then we start like
85 00:12:49.040 ⇒ 00:12:50.960 Patrick Trainer: going forward and implementing.
86 00:12:51.710 ⇒ 00:12:53.980 Uttam Kumaran: Yeah. And I also want to think about like.
87 00:12:54.890 ⇒ 00:12:59.119 Uttam Kumaran: I wanna make a good longer term decision about the vendor we use.
88 00:13:01.460 ⇒ 00:13:24.240 Uttam Kumaran: whether that’s open source or paid. And the nice thing is like if it’s paid, and there’s an ability for us to incur the cost. And it doesn’t scale super linearly. Then I’m okay. But again, if it’s like a super high upfront cost, then it’s going to be a problem. I don’t know. I don’t know what our ability to wrap this in as infra.
89 00:13:24.530 ⇒ 00:13:36.000 Uttam Kumaran: I mean, like, I think eventually, I’m gonna it’s we’re gonna have the confidence to have the conversation being like, hey? When we come in, just like we come in with Snowflake like this is just another thing that you have to pay for for us to do.
90 00:13:36.000 ⇒ 00:13:36.650 Patrick Trainer: Right.
91 00:13:36.650 ⇒ 00:13:40.609 Uttam Kumaran: Our job, but at the moment we just don’t have that ironed out so I can’t
92 00:13:40.750 ⇒ 00:13:49.240 Uttam Kumaran: like I I don’t know. I think we have to iron out. I’m happy to take the cost on as we figure that out and then understand like, how can we can push that back on the client? Of course.
93 00:13:49.240 ⇒ 00:13:49.800 Patrick Trainer: Right.
94 00:13:49.800 ⇒ 00:13:51.129 Uttam Kumaran: Think. Also, it’s like.
95 00:13:51.760 ⇒ 00:14:02.630 Uttam Kumaran: I don’t know. I think we’re not our odds of getting lucky with people that have worked in like a super test. Driven environment on the data side is gonna be very low.
96 00:14:03.084 ⇒ 00:14:06.560 Uttam Kumaran: Like, I would say, for the most part.
97 00:14:06.760 ⇒ 00:14:11.409 Uttam Kumaran: 90% of the data people I work for did not care about tests.
98 00:14:11.760 ⇒ 00:14:14.070 Uttam Kumaran: and I just don’t, and I don’t.
99 00:14:14.070 ⇒ 00:14:14.400 Patrick Trainer: Street.
100 00:14:14.400 ⇒ 00:14:15.849 Uttam Kumaran: And that’s just a bad
101 00:14:16.060 ⇒ 00:14:23.709 Uttam Kumaran: like, I think that’s just bad. For like, like, I have an opinion about W, that’s just bad training. And like, they also don’t understand that. Like.
102 00:14:23.990 ⇒ 00:14:28.170 Uttam Kumaran: you’re saving your, you’re buying your like future time. Yeah.
103 00:14:28.210 ⇒ 00:14:32.290 Uttam Kumaran: but that’s fine, if and that’s that’s something. Where, like.
104 00:14:32.850 ⇒ 00:14:37.859 Uttam Kumaran: if we we should just solve that at the Brainforge like layer, which is like
105 00:14:37.960 ⇒ 00:14:42.960 Uttam Kumaran: code does not get. I mean again. I wanna I wanna make it like code does not get pushed
106 00:14:43.060 ⇒ 00:14:54.860 Uttam Kumaran: without testing, without test passing or test being added. And then, if tests fail, there is a proper way to alert right? I don’t think anybody hearing that would be like, I don’t want to do that.
107 00:14:54.860 ⇒ 00:14:55.870 Patrick Trainer: I’m not doing that.
108 00:14:55.870 ⇒ 00:14:59.490 Uttam Kumaran: I think, where they’re gonna have problems is like.
109 00:14:59.560 ⇒ 00:15:03.620 Uttam Kumaran: Oh, add elementary tests. And then that’s like a complicated process
110 00:15:03.740 ⇒ 00:15:05.089 Uttam Kumaran: or like.
111 00:15:05.110 ⇒ 00:15:12.000 Uttam Kumaran: oh, like this. These tests are failing, and I don’t know exactly like where to go to find it right. Those are like the quality of life stuff
112 00:15:12.140 ⇒ 00:15:13.950 Uttam Kumaran: that I want to think about
113 00:15:14.020 ⇒ 00:15:21.380 Uttam Kumaran: and use the engineers that we have to think about like, what do they want to get them over the hump of like
114 00:15:21.730 ⇒ 00:15:24.179 Uttam Kumaran: just biting back of the system.
115 00:15:24.180 ⇒ 00:15:25.030 Patrick Trainer: Right, but.
116 00:15:25.030 ⇒ 00:15:29.576 Uttam Kumaran: And there’s gonna be some like there’s gonna be some tax in doing this. But
117 00:15:30.550 ⇒ 00:15:34.890 Uttam Kumaran: if we’re confident that the process works, then we can push back if we’re still like.
118 00:15:34.970 ⇒ 00:15:45.379 Uttam Kumaran: even with the whole elementary stuff. I was always still like, I don’t know, Iffy, that we hadn’t figured it out. And so it was just like it was just that, you know, and we learned a lot. But.
119 00:15:45.380 ⇒ 00:15:47.160 Patrick Trainer: It’s like there’s
120 00:15:47.560 ⇒ 00:15:49.170 Patrick Trainer: parts of me that like
121 00:15:49.420 ⇒ 00:15:51.699 Patrick Trainer: I don’t necessarily
122 00:15:52.350 ⇒ 00:15:56.689 Patrick Trainer: think like going with a vendor solution, at least like
123 00:15:57.370 ⇒ 00:16:00.049 Patrick Trainer: at the beginning, is really the best
124 00:16:00.950 ⇒ 00:16:03.710 Patrick Trainer: idea. Like, if if you think about like.
125 00:16:04.660 ⇒ 00:16:10.750 Patrick Trainer: like, if you’re writing software like, you’re not like, say, you’re writing a python application right? Like
126 00:16:11.290 ⇒ 00:16:12.360 Patrick Trainer: writing tests.
127 00:16:12.360 ⇒ 00:16:12.940 Uttam Kumaran: Yes.
128 00:16:12.940 ⇒ 00:16:18.710 Patrick Trainer: Is simple like you’re you’re literally, you’re just like making an assertion of
129 00:16:18.970 ⇒ 00:16:22.610 Patrick Trainer: an assumption or of of something that you’re like.
130 00:16:23.129 ⇒ 00:16:26.840 Patrick Trainer: I don’t want to use the word test. But like, if
131 00:16:27.100 ⇒ 00:16:34.220 Patrick Trainer: like, why can’t, why can’t that be the same as sequel? Like, if we’re expecting values to be positive like you can
132 00:16:34.250 ⇒ 00:16:35.610 Patrick Trainer: literally just like.
133 00:16:35.970 ⇒ 00:16:36.310 Uttam Kumaran: Totally.
134 00:16:36.310 ⇒ 00:16:42.450 Patrick Trainer: Make sure. Make sure the values are positive, like writing sequel. And so it’s like
135 00:16:42.560 ⇒ 00:16:43.760 Patrick Trainer: going
136 00:16:44.660 ⇒ 00:16:47.189 Patrick Trainer: to this like vendored solution.
137 00:16:47.220 ⇒ 00:16:52.600 Patrick Trainer: or like, I think, like the vendor solutions like they’re basically saying, like.
138 00:16:52.830 ⇒ 00:17:02.100 Patrick Trainer: like, I think that’s it’s lazy, frankly like, frankly, but it’s also it’s like, if you’re wanting to
139 00:17:02.220 ⇒ 00:17:03.280 Patrick Trainer: kind of like
140 00:17:04.290 ⇒ 00:17:09.060 Patrick Trainer: instill that best practice. You can’t just like offload it and.
141 00:17:09.060 ⇒ 00:17:10.200 Uttam Kumaran: Oh, for sure. Yeah.
142 00:17:10.200 ⇒ 00:17:16.429 Patrick Trainer: To someone else, because then, like your, your engineers are just like, Oh, yeah, I don’t have to do it. That that thing does it.
143 00:17:16.609 ⇒ 00:17:16.939 Uttam Kumaran: Yeah.
144 00:17:17.523 ⇒ 00:17:18.689 Patrick Trainer: And so
145 00:17:19.869 ⇒ 00:17:22.529 Patrick Trainer: like I I mean, I’m
146 00:17:22.619 ⇒ 00:17:24.770 Patrick Trainer: thinking about it in terms of like
147 00:17:25.250 ⇒ 00:17:28.649 Patrick Trainer: just keeping it as simple as possible.
148 00:17:28.650 ⇒ 00:17:29.210 Uttam Kumaran: Yeah.
149 00:17:29.799 ⇒ 00:17:34.290 Patrick Trainer: And like, at least like, just in starting with that.
150 00:17:34.310 ⇒ 00:17:36.539 Patrick Trainer: Okay, I like, I think.
151 00:17:37.850 ⇒ 00:17:39.589 Patrick Trainer: like, I mean, that’s
152 00:17:41.180 ⇒ 00:17:47.309 Patrick Trainer: that’s kind of how I think about it right now. Like, I mean testing. And dbt, is.
153 00:17:47.430 ⇒ 00:17:52.550 Patrick Trainer: it’s I mean, it’s basic, but it it works for what it is.
154 00:17:54.410 ⇒ 00:17:56.340 Patrick Trainer: and then like being
155 00:17:56.760 ⇒ 00:18:00.310 Patrick Trainer: smart about, like where those tests
156 00:18:00.330 ⇒ 00:18:01.889 Patrick Trainer: are placed, like.
157 00:18:02.390 ⇒ 00:18:17.779 Patrick Trainer: I think, at a base level, they need to be all on like the sources. And because, like, that’s where data comes in. That’s where it starts like. And then later on, like, if you’re writing logic like, yeah, you can test that logic.
158 00:18:18.290 ⇒ 00:18:21.740 Patrick Trainer: But like let’s, for like row counts or
159 00:18:22.080 ⇒ 00:18:23.779 Patrick Trainer: positive values like
160 00:18:23.790 ⇒ 00:18:29.859 Patrick Trainer: we know what should be coming in. And so like, that’s going to be the most straightforward piece.
161 00:18:30.843 ⇒ 00:18:38.269 Patrick Trainer: Is. Is everything at the front, at the front of the pipeline, or at the at the left side of that
162 00:18:39.870 ⇒ 00:18:43.479 Uttam Kumaran: And Dbt has the unit test as well. And the data test.
163 00:18:43.490 ⇒ 00:18:51.450 Uttam Kumaran: So yeah, I’m I’m comfortable with like just leveraging that. And that way. It’s all the same like kind of cli.
164 00:18:51.710 ⇒ 00:18:52.750 Uttam Kumaran: right? And.
165 00:18:52.750 ⇒ 00:19:02.909 Patrick Trainer: Right? Yeah, it’s like we’re not introducing like a new context to switch to. We’re not introducing this new tool with all of these different, like
166 00:19:03.740 ⇒ 00:19:08.239 Patrick Trainer: weird setup shit like if we’re just looking for like basic tests, like.
167 00:19:08.290 ⇒ 00:19:12.110 Patrick Trainer: I mean, let’s knock knock that out. And then it’s like you
168 00:19:12.840 ⇒ 00:19:15.409 Patrick Trainer: all of those tests, then live
169 00:19:15.630 ⇒ 00:19:20.210 Patrick Trainer: in that test directory of a Dbt project
170 00:19:20.810 ⇒ 00:19:21.880 Patrick Trainer: and
171 00:19:22.300 ⇒ 00:19:24.990 Patrick Trainer: like, then there’s your organization.
172 00:19:25.030 ⇒ 00:19:27.230 Patrick Trainer: and then you can apply that
173 00:19:27.270 ⇒ 00:19:29.220 Patrick Trainer: across the board to like
174 00:19:29.570 ⇒ 00:19:36.670 Patrick Trainer: the other projects. Assuming we’re using Dbt for those other projects which we are. So
175 00:19:36.870 ⇒ 00:19:38.230 Patrick Trainer: I mean, that’s
176 00:19:40.140 ⇒ 00:19:44.229 Patrick Trainer: and that’s what makes sense to me, at least right now in like.
177 00:19:44.510 ⇒ 00:19:48.569 Patrick Trainer: what’s the lowest common denominator? And like, what can
178 00:19:48.730 ⇒ 00:19:53.410 Patrick Trainer: you train? The most people on easiest is is that.
179 00:19:54.980 ⇒ 00:19:57.419 Uttam Kumaran: Yeah. And then let me even see.
180 00:20:15.250 ⇒ 00:20:27.130 Uttam Kumaran: yeah, I mean, I agree. I think the thing that we’re gonna have to work on is not teaching folks on how to write it, because I think it’s going to be fairly easy. It’s like, how do we build the Ci process
181 00:20:27.320 ⇒ 00:20:31.569 Uttam Kumaran: to know that there are, there are or aren’t tests.
182 00:20:32.410 ⇒ 00:20:36.039 Uttam Kumaran: and that I’m actually, I think we can be even more creative than like.
183 00:20:37.050 ⇒ 00:20:49.959 Uttam Kumaran: I mean, I think there’s probably like we could use some we could use like Chat Gpt, or something to identify like, are there tests on on all the models or something. But that’s 1 thing is like, I want to understand how we’re going to do the blocking step.
184 00:20:50.360 ⇒ 00:21:02.719 Uttam Kumaran: And then, second, I want to know about like how we’re going to set up some sort of like effective, alerting and effective alerting is, I want it to be like rich alerting in slack, basically.
185 00:21:02.720 ⇒ 00:21:03.250 Patrick Trainer: Right.
186 00:21:03.250 ⇒ 00:21:07.567 Uttam Kumaran: Like what test failed and like as much info as we can provide?
187 00:21:08.363 ⇒ 00:21:12.500 Uttam Kumaran: Because we have a different problem is that in that
188 00:21:12.720 ⇒ 00:21:31.960 Uttam Kumaran: not only are we like we need to be aware of that. There is an issue. There may have to be like cascading communication steps to the client issues. And so that’s different than the testing that I’ve done internally. Where it’s like the data team gets alerted. And then we like figure it out. It’s like. I need Nico to have enough context.
189 00:21:32.470 ⇒ 00:21:36.939 Uttam Kumaran: and then for a conversation to happen, and for him to be like cool. I have enough for me to be like.
190 00:21:36.980 ⇒ 00:21:40.040 Uttam Kumaran: I can send an email out or something, right? So
191 00:21:40.070 ⇒ 00:21:48.770 Uttam Kumaran: those are 2 things that I want to think about and like try to nail again. Like, I. I think there’s options on this on the alerting side.
192 00:21:49.180 ⇒ 00:21:55.059 Uttam Kumaran: and that that may be somewhere where we use something off the shelf, because it’s just like.
193 00:21:56.420 ⇒ 00:21:58.700 Uttam Kumaran: yeah, that that I feel like
194 00:21:58.740 ⇒ 00:22:02.070 Uttam Kumaran: trying to write all these. A bunch of slack integrations
195 00:22:02.140 ⇒ 00:22:03.630 Uttam Kumaran: has been difficult.
196 00:22:03.760 ⇒ 00:22:10.500 Uttam Kumaran: So that may be somewhere where we employ something off the shelf. But I’m I agree with you on the Dvt test side.
197 00:22:10.500 ⇒ 00:22:11.140 Patrick Trainer: Yeah.
198 00:22:11.960 ⇒ 00:22:12.770 Patrick Trainer: yeah.
199 00:22:19.120 ⇒ 00:22:21.090 Patrick Trainer: yeah, like I, it’s
200 00:22:22.510 ⇒ 00:22:23.270 Patrick Trainer: like
201 00:22:23.830 ⇒ 00:22:24.830 Patrick Trainer: at its
202 00:22:25.300 ⇒ 00:22:27.099 Patrick Trainer: core. I think it’s a
203 00:22:28.030 ⇒ 00:22:34.430 Patrick Trainer: like, it’s a pretty simple problem. It definitely like as it gets bigger, it becomes more complex. But like.
204 00:22:34.820 ⇒ 00:22:37.770 Patrick Trainer: we’re not at that point. So yeah, like, let’s
205 00:22:38.700 ⇒ 00:22:40.950 Patrick Trainer: let’s not like, make a bigger
206 00:22:41.590 ⇒ 00:22:44.199 Patrick Trainer: problem. Then it really needs to be.
207 00:22:45.010 ⇒ 00:22:55.940 Uttam Kumaran: I think it’s it’s easy to do this like proactively as you’re writing the code. But I think going back and adding this, we also want to think about like, how do we help the engineers
208 00:22:56.210 ⇒ 00:22:58.810 Uttam Kumaran: like if do that like.
209 00:22:58.810 ⇒ 00:22:59.139 Patrick Trainer: Because we.
210 00:22:59.140 ⇒ 00:23:06.939 Uttam Kumaran: If we were to go back on pool parts. And I go ahead. Tests like, what does that process look like for Ryan? But also.
211 00:23:07.750 ⇒ 00:23:13.900 Uttam Kumaran: yeah, like, I want to think of these these tests associated with sources and then tests associated with models.
212 00:23:14.080 ⇒ 00:23:23.270 Uttam Kumaran: But I think there’s just like we’re we’ll have to work with them to think about this, the Dev experience, because I think that’s where, if I had to guess, it’s just going to be on like.
213 00:23:23.360 ⇒ 00:23:25.699 Uttam Kumaran: are people gonna want to do this
214 00:23:25.910 ⇒ 00:23:30.299 Uttam Kumaran: like, do they see? Do they see the benefit? And they don’t want to do it?
215 00:23:30.300 ⇒ 00:23:33.060 Patrick Trainer: I mean, it’s it’s the same
216 00:23:33.250 ⇒ 00:23:36.810 Patrick Trainer: kind of issue with like writing documentation.
217 00:23:36.810 ⇒ 00:23:37.730 Uttam Kumaran: Yeah, yeah.
218 00:23:37.850 ⇒ 00:23:39.910 Patrick Trainer: It’s not the fun stuff.
219 00:23:40.300 ⇒ 00:23:41.349 Uttam Kumaran: No, for sure.
220 00:23:41.350 ⇒ 00:23:42.759 Patrick Trainer: But it’s like it. It
221 00:23:42.850 ⇒ 00:23:49.109 Patrick Trainer: it matters like that’s part of like documentation and test is part of code, like.
222 00:23:49.290 ⇒ 00:23:50.460 Patrick Trainer: it’s not just
223 00:23:50.600 ⇒ 00:23:51.500 Patrick Trainer: logic.
224 00:23:51.750 ⇒ 00:23:55.019 Uttam Kumaran: No, I agree, and that’s why I just want to get their buy in
225 00:23:55.360 ⇒ 00:24:12.999 Uttam Kumaran: early, especially from Brian and Nick, cause I think Ryan will be happy to do it. I think, Brian and Nick. They worked in like really larger systems, and they’ve done it. They do a lot of they work with a lot of testing. So I want to get their perspective on how to make it easy. Because also in the future.
226 00:24:13.110 ⇒ 00:24:19.159 Uttam Kumaran: we’re going to be bringing people who have never done this and training them. That this is now part of the debt process right.
227 00:24:19.160 ⇒ 00:24:19.900 Patrick Trainer: Right.
228 00:24:19.900 ⇒ 00:24:24.870 Uttam Kumaran: So figuring out like, where the natural objections are early.
229 00:24:25.420 ⇒ 00:24:38.879 Uttam Kumaran: whether those are like, okay, we just need to phrase things better, or those are like, oh, we actually need some technical improvements. We can learn that early. So that would be my recommendation is seeing if you know, you can organize something with everybody we know
230 00:24:39.310 ⇒ 00:24:42.250 Uttam Kumaran: on the Ae side. And basically just like, get a sense of like.
231 00:24:43.090 ⇒ 00:24:47.950 Uttam Kumaran: or put something in front of them. And like, here’s here’s what we’re thinking about doing.
232 00:24:48.820 ⇒ 00:24:49.560 Patrick Trainer: Right.
233 00:24:49.560 ⇒ 00:24:55.170 Uttam Kumaran: What part of like do you see this working or not? I don’t. For me. I’m not interested in like.
234 00:24:55.370 ⇒ 00:25:04.119 Uttam Kumaran: oh, this is, gonna take longer. That’s fine. I don’t care about that. I’m more like interested in understanding whether there’s like, yeah, like these types of tests like
235 00:25:04.260 ⇒ 00:25:07.559 Uttam Kumaran: they, they’re they lead to a ton of noise or
236 00:25:08.030 ⇒ 00:25:10.830 Uttam Kumaran: I don’t know like, oh, actually like
237 00:25:11.220 ⇒ 00:25:17.850 Uttam Kumaran: we, I worked with something somewhere where we got this sort of information when an alert happened, and it was really easy for us to resolve
238 00:25:18.090 ⇒ 00:25:21.518 Uttam Kumaran: like that stuff would be great.
239 00:25:22.743 ⇒ 00:25:25.110 Uttam Kumaran: that sort of stuff. Yeah.
240 00:25:25.610 ⇒ 00:25:27.900 Uttam Kumaran: would be great to know ahead of time.
241 00:25:28.140 ⇒ 00:25:28.790 Patrick Trainer: Right?
242 00:25:30.440 ⇒ 00:25:31.300 Patrick Trainer: Right?
243 00:25:32.530 ⇒ 00:25:36.340 Patrick Trainer: Yeah, like the whole. Like all of the elementary, like
244 00:25:37.180 ⇒ 00:25:41.020 Patrick Trainer: anomaly tests and getting fancy with it like that. Just
245 00:25:41.800 ⇒ 00:25:45.340 Patrick Trainer: like it was too complicated, it was too complex, it was too noisy.
246 00:25:45.380 ⇒ 00:25:48.969 Patrick Trainer: It was too much to really think about. And so
247 00:25:49.650 ⇒ 00:25:50.460 Patrick Trainer: like.
248 00:25:51.330 ⇒ 00:25:53.779 Patrick Trainer: yeah, just going down to like root
249 00:25:53.990 ⇒ 00:25:56.479 Patrick Trainer: test. And it’s like, if you look through
250 00:25:59.680 ⇒ 00:26:14.189 Patrick Trainer: like big projects like like the like, Duckdb or something like that, how do they test their software. It’s super basic shit. And it’s like, but they just there’s a lot of it. And so that it covers all these different cases.
251 00:26:14.240 ⇒ 00:26:15.790 Patrick Trainer: And it’s like, that’s
252 00:26:17.410 ⇒ 00:26:25.469 Patrick Trainer: like, I think, like, that’s where the testing or that’s where, like the mindset kind of needs to shift towards is like
253 00:26:25.630 ⇒ 00:26:27.669 Patrick Trainer: it doesn’t have to be complicated.
254 00:26:27.670 ⇒ 00:26:28.120 Uttam Kumaran: Yeah.
255 00:26:28.120 ⇒ 00:26:29.909 Patrick Trainer: Like it just needs to be thorough.
256 00:26:31.660 ⇒ 00:26:32.400 Uttam Kumaran: I agree.
257 00:26:32.550 ⇒ 00:26:33.400 Uttam Kumaran: okay.
258 00:26:35.780 ⇒ 00:26:44.659 Uttam Kumaran: okay, we want, yeah, tell me, like, what? How do we think we should handle this? I I would say, the biggest thing is, I’m slowly running out of
259 00:26:44.860 ⇒ 00:26:46.989 Uttam Kumaran: time, you know, in general.
260 00:26:47.180 ⇒ 00:26:49.910 Uttam Kumaran: like very quickly.
261 00:26:50.140 ⇒ 00:26:52.649 Uttam Kumaran: which it’s like, it’s getting pretty.
262 00:26:53.490 ⇒ 00:27:08.280 Uttam Kumaran: It’s getting pretty tough for me to do like any, take on anything large, apart from like day to day stuff. So my ask would be for you to just push this through. I think what I can provide is
263 00:27:08.460 ⇒ 00:27:13.830 Uttam Kumaran: like, get buy, and from everybody right, and I can make sure that people are adhering to it.
264 00:27:13.920 ⇒ 00:27:15.330 Uttam Kumaran: I think you ask
265 00:27:15.520 ⇒ 00:27:18.630 Uttam Kumaran: on your plate will be developing a system
266 00:27:19.610 ⇒ 00:27:20.540 Uttam Kumaran: that
267 00:27:20.690 ⇒ 00:27:25.260 Uttam Kumaran: people won’t just adhere to just cause I’m like, Go do it. They’re actually like, okay, this is like.
268 00:27:25.680 ⇒ 00:27:31.127 Uttam Kumaran: this is actually like working really well. And again, for a lot of folks. It won’t, it won’t.
269 00:27:31.560 ⇒ 00:27:34.789 Uttam Kumaran: it will be something new, right? But
270 00:27:35.490 ⇒ 00:27:40.580 Uttam Kumaran: again, this is the this is the. This is the time of this is a talk about like I want to level everybody up
271 00:27:40.700 ⇒ 00:27:43.169 Uttam Kumaran: to a certain degree right, and
272 00:27:43.520 ⇒ 00:27:48.380 Uttam Kumaran: give people the best practices that not that we know work super well, that are very
273 00:27:48.590 ⇒ 00:27:50.710 Uttam Kumaran: like this is just standard stuff.
274 00:27:50.730 ⇒ 00:27:53.390 Uttam Kumaran: But again, data is so commonly missed.
275 00:27:55.600 ⇒ 00:27:56.469 Uttam Kumaran: you know.
276 00:27:57.030 ⇒ 00:27:57.760 Patrick Trainer: Right?
277 00:28:02.950 ⇒ 00:28:04.580 Patrick Trainer: Yeah, no. I agree.
278 00:28:09.030 ⇒ 00:28:09.670 Uttam Kumaran: Okay.
279 00:28:11.340 ⇒ 00:28:12.070 Uttam Kumaran: Cool.
280 00:28:12.820 ⇒ 00:28:14.290 Patrick Trainer: What you got for the rest of the day.
281 00:28:16.030 ⇒ 00:28:22.100 Uttam Kumaran: I am gonna work on copy, and then I am going to
282 00:28:23.800 ⇒ 00:28:25.920 Uttam Kumaran: talk to Robert for a bit.
283 00:28:26.060 ⇒ 00:28:28.460 Uttam Kumaran: Try to fix the snowflake thing.
284 00:28:28.460 ⇒ 00:28:29.920 Patrick Trainer: Yeah, what’s the
285 00:28:30.080 ⇒ 00:28:33.569 Patrick Trainer: what’s the update on Snowflake? They get back to you.
286 00:28:33.570 ⇒ 00:28:38.049 Uttam Kumaran: Yeah, they said, they’re gonna open it soon. I just have to check after this.
287 00:28:38.070 ⇒ 00:28:38.920 Uttam Kumaran: Yeah,
288 00:28:40.580 ⇒ 00:28:46.699 Uttam Kumaran: And then, yeah, I need to just like, stop working. I need to clean my house and like go to home depot.
289 00:28:46.890 ⇒ 00:28:49.490 Uttam Kumaran: so I’ll try to finish early.
290 00:28:50.150 ⇒ 00:28:50.890 Patrick Trainer: That.
291 00:28:51.990 ⇒ 00:28:57.869 Uttam Kumaran: Yeah, just like laundry piling up and stuff so. And then you could take need to go run the dog for a bit.
292 00:28:57.870 ⇒ 00:28:59.250 Patrick Trainer: Oh, yeah. Heard that.
293 00:28:59.690 ⇒ 00:29:00.720 Uttam Kumaran: Yeah.
294 00:29:01.540 ⇒ 00:29:02.599 Uttam Kumaran: what about you?
295 00:29:05.790 ⇒ 00:29:10.409 Patrick Trainer: cats yelling at me want? It’s hungry. So I think that’s gonna be
296 00:29:10.800 ⇒ 00:29:13.150 Patrick Trainer: probably the next step here.
297 00:29:13.700 ⇒ 00:29:15.720 Patrick Trainer: But yeah, for the most part, I’m gonna be
298 00:29:15.840 ⇒ 00:29:17.720 Patrick Trainer: just thinking through this
299 00:29:18.320 ⇒ 00:29:20.340 Patrick Trainer: like roadmap stuff.
300 00:29:20.790 ⇒ 00:29:22.239 Patrick Trainer: Got a like a good
301 00:29:23.330 ⇒ 00:29:25.790 Patrick Trainer: idea of what it is. And
302 00:29:26.800 ⇒ 00:29:28.589 Patrick Trainer: but I remembered that I
303 00:29:29.380 ⇒ 00:29:30.780 Patrick Trainer: had a beginning
304 00:29:30.810 ⇒ 00:29:36.069 Patrick Trainer: fleshed out like a few months ago like that was helpful just to revisit and think back to so.
305 00:29:36.070 ⇒ 00:29:39.570 Uttam Kumaran: And we can call other people, you know. I think now that we have.
306 00:29:40.250 ⇒ 00:29:43.369 Uttam Kumaran: like we can use the brain forged name to go call
307 00:29:43.510 ⇒ 00:29:45.829 Uttam Kumaran: other folks and ask how they’re doing this.
308 00:29:46.410 ⇒ 00:29:47.889 Uttam Kumaran: or like even get
309 00:29:48.020 ⇒ 00:29:52.710 Uttam Kumaran: even like, send people docs on like, hey, this is how we’re planning on doing this? What do we think right?
310 00:29:52.710 ⇒ 00:29:53.900 Patrick Trainer: Right, right.
311 00:29:55.180 ⇒ 00:30:00.899 Uttam Kumaran: Because I want to learn from like a lot of other people’s failures. On this one there’s a lot of stuff written.
312 00:30:00.950 ⇒ 00:30:11.209 Uttam Kumaran: But what’s written is different than like what’s possible. Like, I’m not. I don’t. We don’t need to. We’re not going to use every single feature there. So what’s actually like practical in production
313 00:30:11.640 ⇒ 00:30:14.280 Uttam Kumaran: in like running data tests
314 00:30:14.390 ⇒ 00:30:20.389 Uttam Kumaran: in an environment where the I want these tests resolved same day like. So we’re looking for same day resolution.
315 00:30:20.390 ⇒ 00:30:21.100 Patrick Trainer: Right.
316 00:30:21.340 ⇒ 00:30:28.730 Uttam Kumaran: Like. So that’s the thing. It’s not. You can write a test, and it’s like cool. It’s gonna take 3 days. But where? How are, how do we get to the point where it’s like
317 00:30:28.880 ⇒ 00:30:32.279 Uttam Kumaran: we’re looking for same day resolutions for most of the failures.
318 00:30:32.280 ⇒ 00:30:33.070 Patrick Trainer: Right.
319 00:30:33.260 ⇒ 00:30:40.230 Uttam Kumaran: And a lot of that is in just like learning what just happened. And I think sometimes that itself takes so long.
320 00:30:40.340 ⇒ 00:30:43.099 Uttam Kumaran: And it’s like that’s like so unfortunate. Because that’s.
321 00:30:43.100 ⇒ 00:30:44.259 Patrick Trainer: Right like
322 00:30:45.630 ⇒ 00:30:46.350 Patrick Trainer: I think it.
323 00:30:46.350 ⇒ 00:30:47.490 Uttam Kumaran: Lot, better.
324 00:30:47.490 ⇒ 00:30:49.159 Patrick Trainer: Yeah, no, agreed.
325 00:30:51.540 ⇒ 00:31:00.479 Uttam Kumaran: And then it’ll be once again. Once we have a system, it’ll be easy for me to tack it on to the responsibilities of the engineer, because they’ll know that like this is just
326 00:31:01.110 ⇒ 00:31:07.920 Uttam Kumaran: this is actually helping us catch errors. And it’s verifying that their work was quality. Right? And so it’s right. I think it’s totally fine.
327 00:31:08.210 ⇒ 00:31:08.930 Patrick Trainer: Right?
328 00:31:10.580 ⇒ 00:31:11.859 Patrick Trainer: Yeah, I’ve got some.
329 00:31:12.760 ⇒ 00:31:14.230 Patrick Trainer: The gears are turning.
330 00:31:14.500 ⇒ 00:31:15.160 Uttam Kumaran: Okay?
331 00:31:15.570 ⇒ 00:31:21.299 Uttam Kumaran: And then, yeah, maybe I don’t know. We could. Let’s do a meeting next week, or like, we can even talk during demo
332 00:31:21.797 ⇒ 00:31:30.712 Uttam Kumaran: about stuff. But I wanna I wanna get I wanna get everybody else’s thoughts, too. And and also I want I even want the non technical folks on the team
333 00:31:31.300 ⇒ 00:31:33.060 Uttam Kumaran: to know about this like.
334 00:31:33.060 ⇒ 00:31:33.700 Patrick Trainer: Right.
335 00:31:33.700 ⇒ 00:31:36.550 Uttam Kumaran: Want to get Nico’s thoughts because he’s worked in like.
336 00:31:36.610 ⇒ 00:31:49.510 Uttam Kumaran: you know, production environments on like the full stack side. And I wanna get like, I just want everybody to know that, like we’re, we’re going to this more test, driven environment. Right? Keep that in there. Keep that in mind. So.
337 00:31:49.510 ⇒ 00:31:50.140 Patrick Trainer: Right
338 00:31:50.500 ⇒ 00:31:51.290 Patrick Trainer: right
339 00:31:52.850 ⇒ 00:31:53.530 Patrick Trainer: cool.
340 00:31:54.620 ⇒ 00:31:57.890 Uttam Kumaran: Okay, cool. Well, hit me up. If anything. Yeah.
341 00:31:57.890 ⇒ 00:31:58.660 Patrick Trainer: Sounds good.
342 00:31:58.810 ⇒ 00:32:00.340 Uttam Kumaran: I do. I’ll talk soon.
343 00:32:00.340 ⇒ 00:32:00.920 Patrick Trainer: There!
344 00:32:01.720 ⇒ 00:32:02.240 Uttam Kumaran: Bye.