Meeting Title: Brainforge Interview w- Demilade Date: 2026-04-29 Meeting participants: Adegbite Ayoade, Demilade Agboola
WEBVTT
1 00:01:25.180 ⇒ 00:01:26.320 Demilade Agboola: Hi, ID.
2 00:01:29.300 ⇒ 00:01:30.690 Demilade Agboola: You’re stimulated.
3 00:01:34.270 ⇒ 00:01:35.319 Adegbite Ayoade: Hi, good afternoon.
4 00:01:35.560 ⇒ 00:01:36.780 Demilade Agboola: Hi, good afternoon, how are you?
5 00:01:37.240 ⇒ 00:01:38.310 Adegbite Ayoade: Prime goods.
6 00:01:38.700 ⇒ 00:01:46.840 Demilade Agboola: Sorry for all the delays and the weird rescheduling. Thankfully, it’s all done, so this will be the interview today.
7 00:01:47.390 ⇒ 00:01:53.310 Demilade Agboola: I mean, it’s going to be a technical interview, but it’s not going to be…
8 00:01:53.640 ⇒ 00:02:00.209 Demilade Agboola: anything too crazy, so no live coding, no nothing of that nature. It would just be, like…
9 00:02:00.210 ⇒ 00:02:00.580 Adegbite Ayoade: Okay.
10 00:02:00.580 ⇒ 00:02:03.140 Demilade Agboola: In different scenarios, how you handle it.
11 00:02:03.270 ⇒ 00:02:06.909 Demilade Agboola: Particularly, I’d like to hear, like, the questions you have.
12 00:02:07.050 ⇒ 00:02:13.969 Demilade Agboola: And how you… the assumptions you make, and how you walk through the scenario. So basically, I just want to understand how you think, how you work.
13 00:02:14.090 ⇒ 00:02:18.989 Demilade Agboola: And just kind of see, if that works for us as a company.
14 00:02:20.430 ⇒ 00:02:21.450 Demilade Agboola: Okay.
15 00:02:23.030 ⇒ 00:02:29.619 Adegbite Ayoade: Just a minute, transfer… A strange setup.
16 00:02:30.650 ⇒ 00:02:36.570 Adegbite Ayoade: Using the external camera before, but it’s not… So, okay.
17 00:02:48.880 ⇒ 00:02:50.989 Demilade Agboola: Okay, so, are you available?
18 00:02:56.710 ⇒ 00:02:58.240 Adegbite Ayoade: 2, or…
19 00:03:05.090 ⇒ 00:03:05.950 Demilade Agboola: Can you hear me?
20 00:03:09.270 ⇒ 00:03:11.020 Adegbite Ayoade: Yeah, yeah, yes, I can hear you, yeah.
21 00:03:12.650 ⇒ 00:03:13.450 Demilade Agboola: Oh, okay.
22 00:03:15.360 ⇒ 00:03:21.439 Demilade Agboola: Alright, so first things first is just, can you, like, walk me through your experience? Like, briefly walk me through your experience, and…
23 00:03:22.320 ⇒ 00:03:25.420 Demilade Agboola: Just what your technical stack includes.
24 00:03:28.480 ⇒ 00:03:39.700 Adegbite Ayoade: Okay, so, I started out as a data analyst, and most of the time, usually at the point of, delivering my work, I do,
25 00:03:39.700 ⇒ 00:03:57.569 Adegbite Ayoade: validations, and it is at this point that I sometimes realize that, oh, a lot of things are, not in place. Let me give an example. So, while I was at, Kundar Kids, I was working on a report for my CEO to use with, to present for
26 00:03:57.760 ⇒ 00:04:05.009 Adegbite Ayoade: Investors, and… He said he wants to see how people are…
27 00:04:05.400 ⇒ 00:04:13.169 Adegbite Ayoade: using the platform, basically, which, content do they consume more, and all of that. And he’s very particular about
28 00:04:13.300 ⇒ 00:04:24.799 Adegbite Ayoade: So when you sign up, we have free 7 days for you to, you know, do whatever it is that you want to do, read stories and all of that. So you want to… you report to focus on four categories.
29 00:04:24.880 ⇒ 00:04:43.270 Adegbite Ayoade: the people that did not even bother using the free 7 days, and immediately they joined the platform, they went on straight to sign, to subscribe. The people that, you know, started with the free trial, but along the line, they switched to, you know, a paid subscription. The people that, after
30 00:04:43.300 ⇒ 00:04:53.640 Adegbite Ayoade: the 7 days, that was when they subscribed, and you know, the people that, after the 7 days, they didn’t subscribe. So those are the four categories that I was working with, and
31 00:04:53.850 ⇒ 00:05:03.369 Adegbite Ayoade: you’re aiming to have just 7 days free trial, right? And I don’t… like, when I was trying to confirm those figures, I started seeing some discrepancies around,
32 00:05:03.610 ⇒ 00:05:09.359 Adegbite Ayoade: Some people using over a year, free entry on…
33 00:05:14.750 ⇒ 00:05:25.289 Adegbite Ayoade: After proving that forward, I realized that the company had two mobile applications, so there was one version that they were using that was their initial app, but when they got a grant.
34 00:05:25.290 ⇒ 00:05:44.420 Adegbite Ayoade: instead of them to close out the previous app, they didn’t. They just built a new one. So they migrated users from the old one to the new one, but did not discontinue the old one. So, those users have been migrated. Some of them did migrated to the new app, and were using the new app, but some stick to the old app.
35 00:05:44.420 ⇒ 00:05:55.990 Adegbite Ayoade: So those that stick to JWDAP were just using the platform for free. Some for over a year, some for 3 years, right? Now, these problems basically start pushing me towards ensuring that
36 00:05:56.030 ⇒ 00:06:03.560 Adegbite Ayoade: the data that is coming in is of quality, because I’m always at the receiving end. If the data that is ingested.
37 00:06:03.560 ⇒ 00:06:12.930 Adegbite Ayoade: is not of quality. There is no magic that I can perform as a data analyst. So this started pushing me towards engineering, understanding how data is moving, and all of that.
38 00:06:12.930 ⇒ 00:06:33.170 Adegbite Ayoade: And on the line, I started building, you know, I built, like, a full-blown infrastructure with, conducts that now handles the own ingestion, down to transformation, then to the layer that I and I use to build dashboards that is saving the business, users. And then from there, that sort of pushed me into, you know,
39 00:06:33.590 ⇒ 00:06:35.909 Adegbite Ayoade: Understanding how data is being used.
40 00:06:36.880 ⇒ 00:06:42.779 Adegbite Ayoade: To make proper decisions, which, laid my foundation to becoming an analytics engineer.
41 00:06:47.890 ⇒ 00:06:49.150 Adegbite Ayoade: You’re muted.
42 00:06:51.180 ⇒ 00:06:55.280 Demilade Agboola: Alright, I was going to ask, basically, what tools would you see on your technical stack?
43 00:06:57.310 ⇒ 00:07:08.170 Adegbite Ayoade: So, Airflow, Snowflake, AirBytes, Python, I’ve used, Data… I’ve worked on Databricks, I’ve used PySpark.
44 00:07:08.590 ⇒ 00:07:11.560 Adegbite Ayoade: Vince Bridge.
45 00:07:11.690 ⇒ 00:07:22.350 Adegbite Ayoade: There is a client that we built, a data ingestion pipeline for, so based on the volume of the data that we have, we pick, the transformation to, that we can use either
46 00:07:22.350 ⇒ 00:07:32.409 Adegbite Ayoade: to use, PySpark for the transformation, or to use Python, right? Then, dbt, and, I’ve worked with Open Metadata for data discovery and,
47 00:07:32.970 ⇒ 00:07:35.749 Adegbite Ayoade: observability, right? And then,
48 00:07:36.010 ⇒ 00:07:55.079 Adegbite Ayoade: I’ve worked with… outside of just working with these tools, I’ve also contributed to, the ecosystem. Right now, I have, 3 packages, 3 GBT packages that solves, problems that are facing the analytics engineering, system, like documentation, linear tracking, and,
49 00:07:55.160 ⇒ 00:07:58.290 Adegbite Ayoade: data, augmentability.
50 00:07:58.690 ⇒ 00:08:03.570 Demilade Agboola: Okay, that’s pretty cool. That is actually a very useful tool.
51 00:08:03.990 ⇒ 00:08:10.180 Demilade Agboola: I know that those are the kind of things that, you know, could also be helpful, like, within our, company.
52 00:08:10.580 ⇒ 00:08:14.930 Demilade Agboola: Couple… I think we can go into, like, some of the scenarios.
53 00:08:15.220 ⇒ 00:08:17.599 Demilade Agboola: And just kind of, like, talking about…
54 00:08:18.050 ⇒ 00:08:21.770 Demilade Agboola: How your design process works, and how you would,
55 00:08:21.880 ⇒ 00:08:25.520 Demilade Agboola: What parameters you care about, and how you would handle different things.
56 00:08:26.280 ⇒ 00:08:32.159 Demilade Agboola: So, scenario one is this. A client wants a daily reporting revenue marked.
57 00:08:33.200 ⇒ 00:08:37.549 Demilade Agboola: And they have Stripe, Salesforce, Google Ads.
58 00:08:38.809 ⇒ 00:08:43.789 Demilade Agboola: How would you design the solution? What assumptions would you make? What questions would you ask?
59 00:08:44.169 ⇒ 00:08:47.389 Demilade Agboola: And what are, like, the things you would look out for, basically?
60 00:08:48.890 ⇒ 00:08:53.570 Adegbite Ayoade: Okay, so they have, Stripe, we turn again?
61 00:08:53.570 ⇒ 00:08:55.470 Demilade Agboola: Salesforce and Google Ads.
62 00:08:56.010 ⇒ 00:09:01.809 Adegbite Ayoade: Stripe, Salesforce, and Google Ads, and they want to track, daily sales.
63 00:09:02.080 ⇒ 00:09:04.349 Demilade Agboola: Daily revenue reporting marks, basically.
64 00:09:04.390 ⇒ 00:09:08.400 Adegbite Ayoade: daily revenue reports a month. So, the first question would be.
65 00:09:08.770 ⇒ 00:09:17.169 Adegbite Ayoade: What is the level of detail that we are looking at? Are we looking at the daily revenue by customer, or are we looking at it by…
66 00:09:22.940 ⇒ 00:09:34.310 Adegbite Ayoade: our, or just the, information, then that can go into the kind of information that we are pulling from Salesforce, that we are pulling from Google Ads, that we are pulling from,
67 00:09:34.340 ⇒ 00:09:42.529 Adegbite Ayoade: the thought source, right? Then, once we have all of those information, then we need to start looking at where can this information be joined together.
68 00:09:42.530 ⇒ 00:09:58.090 Adegbite Ayoade: Can we use the date feed to join this information together? Or do we have maybe the customer ID from Salesforce that can be joined to, no, cannot be joined to Google Ads? So we can join Google Ads to… you say Facebook Ads app, right?
69 00:09:58.090 ⇒ 00:10:00.590 Demilade Agboola: And I said Stripe, Salesforce, and Google Ads.
70 00:10:00.750 ⇒ 00:10:09.339 Adegbite Ayoade: Okay, so Stripe would have, payment details, which would include things like the other ID. So, Google Ads
71 00:10:13.990 ⇒ 00:10:18.520 Adegbite Ayoade: So… We can use the, of the ads, actually.
72 00:10:18.520 ⇒ 00:10:21.659 Demilade Agboola: for the network broker. I didn’t have you for a little bit.
73 00:10:23.070 ⇒ 00:10:24.510 Adegbite Ayoade: Can you hear me now?
74 00:10:25.350 ⇒ 00:10:30.840 Demilade Agboola: Yes, I can hear you. I heard you say Stripe has the payment ID, and then I couldn’t hear you again.
75 00:10:31.690 ⇒ 00:10:40.149 Adegbite Ayoade: Oh, okay, yeah, okay, so, Stripe has the payment information, right, which you can use to track down to the order, right? Then.
76 00:10:40.150 ⇒ 00:10:40.810 Demilade Agboola: Okay.
77 00:10:41.120 ⇒ 00:10:56.820 Adegbite Ayoade: the Google Ads has, UTM parameters, which can help us to know which ad brought in that particular sales, right? And the CRM has the customer information for us to identify which customer, that sales is tied to.
78 00:10:57.220 ⇒ 00:11:01.659 Adegbite Ayoade: Right? So, based on the level of detail that we are looking to,
79 00:11:01.790 ⇒ 00:11:11.620 Adegbite Ayoade: bring out on the daily… on the mat, that will determine how those informations are aggregated, if it is by day, like I mentioned earlier, or if it is based on the customer order level.
80 00:11:12.350 ⇒ 00:11:12.990 Demilade Agboola: Okay.
81 00:11:14.160 ⇒ 00:11:21.759 Demilade Agboola: Alright, building on this scenario, just a quick question.
82 00:11:22.120 ⇒ 00:11:26.580 Demilade Agboola: Would you model this as a star schema, or a normalized schema?
83 00:11:26.910 ⇒ 00:11:33.799 Demilade Agboola: And in what scenarios do you build normalized schemas, and what scenarios do you personally use, star schemas?
84 00:11:35.560 ⇒ 00:11:38.690 Adegbite Ayoade: Okay, so in terms of whether we are…
85 00:11:40.120 ⇒ 00:11:50.609 Adegbite Ayoade: There’s a normalized schema, which, you know, can be either one big table or, a white table, basically. Or the reuse, star schema approach would be
86 00:11:50.660 ⇒ 00:12:04.769 Adegbite Ayoade: do we have information that can, be used across other models, not just this particular projection, right? And what level of joining are we looking at, right? What is the, after…
87 00:12:04.820 ⇒ 00:12:14.459 Adegbite Ayoade: the, schema level, is there going to be another form of aggregation that is happening, right? Now, in terms of the… on the analytics side, right.
88 00:12:15.350 ⇒ 00:12:23.840 Adegbite Ayoade: Denormalized, form would work much better for them, because they will have, you know, Lisa joins…
89 00:12:24.040 ⇒ 00:12:35.000 Adegbite Ayoade: that we need to perform, while in terms of, data quality and, you know, everything that needs to be in place, the denormalized form would actually, work better. So.
90 00:12:35.010 ⇒ 00:12:44.979 Adegbite Ayoade: that is where the second question will not come in. How are we looking at consuming this information? Are we looking at a university, or the output? Is it going to be a dashboard?
91 00:12:44.980 ⇒ 00:13:04.419 Adegbite Ayoade: So if it’s going to be a dashboard, then we can be looking at, you know, sending this out as a star schema, right, which gives the analysts more information on, you know, whatever table it is that they need to join, or if they need to bring in other information as well. But if it is, maybe, say, going back to Salesforce, then we can send
92 00:13:09.960 ⇒ 00:13:14.420 Adegbite Ayoade: some… since it’s just going straight into a VDAT, they can basically explore themselves.
93 00:13:14.420 ⇒ 00:13:17.330 Demilade Agboola: If it’s going back to Salesforce again, you’re not talking.
94 00:13:17.330 ⇒ 00:13:17.963 Adegbite Ayoade: Thank you.
95 00:13:18.510 ⇒ 00:13:24.989 Adegbite Ayoade: Okay, yeah, so if it’s going back to Salesforce, maybe we can put it in my…
96 00:13:26.090 ⇒ 00:13:42.219 Adegbite Ayoade: So if it’s going back to Salesforce, right, we can put it in the normalized form, because we just put the whole thing together and then send it back to them, right? So that way it’s easier for them to explore, rather than, you know, giving them information that they will still need to be joining together.
97 00:13:43.350 ⇒ 00:13:45.029 Demilade Agboola: Okay, alright, sounds good.
98 00:13:45.480 ⇒ 00:13:46.110 Adegbite Ayoade: Nope.
99 00:13:46.110 ⇒ 00:13:51.510 Demilade Agboola: Alright, so let’s say, like, this… we’ve deployed our solution, everything is running well.
100 00:13:52.250 ⇒ 00:13:54.970 Demilade Agboola: But over time, we realized that…
101 00:13:55.210 ⇒ 00:14:00.869 Demilade Agboola: One of our queries has, like, what, maybe 400, 500 mineral rows, and it’s getting slow.
102 00:14:01.370 ⇒ 00:14:08.799 Demilade Agboola: As you mean the worst case scenario, how would you optimize that query? What would you be looking for? How would you try to…
103 00:14:09.060 ⇒ 00:14:11.389 Demilade Agboola: Make sure that it’s as efficient as possible.
104 00:14:12.850 ⇒ 00:14:16.850 Adegbite Ayoade: Okay, so, the first thing would be to…
105 00:14:17.250 ⇒ 00:14:29.800 Adegbite Ayoade: what kind of… how do you build that table? So, I’ll make the assumption that the table was built from dbt, right? So, the first thing to look at would be what is the materialization form
106 00:14:29.900 ⇒ 00:14:32.010 Adegbite Ayoade: of that table. Are we beautiful.
107 00:14:37.010 ⇒ 00:14:41.330 Adegbite Ayoade: We’re building it as incremental, basically. Now, going through the query itself.
108 00:14:42.310 ⇒ 00:14:56.000 Adegbite Ayoade: how many joints do we have in that operation? How many subqueries do we have in there? Can we break the old thing down by, you know, CTE? So when we put it into a CTE form, that would help us to identify the actual bottleneck.
109 00:14:56.000 ⇒ 00:15:15.480 Adegbite Ayoade: where the, you know, longer duration of execution is actually coming from. So once we identify that, we can focus on optimizing that particular aspect of the query. Now, we could first look at the execution plan, basically, to first identify, you know, all of these things, like I mentioned, right? What is the size of
110 00:15:20.960 ⇒ 00:15:22.950 Adegbite Ayoade: Right? So if it is in football.
111 00:15:22.950 ⇒ 00:15:27.210 Demilade Agboola: You said after looking at the execution plan, sorry, what did you see after that, please?
112 00:15:27.210 ⇒ 00:15:44.460 Adegbite Ayoade: Yeah, I say after looking at the execution plan, we want to look at what is the size of the information that is getting scanned, right, from the execution plan output, yes. So after we get that, then we can now reduce the kind of information that is being processed, right? Also, the table.
113 00:15:44.710 ⇒ 00:15:59.629 Adegbite Ayoade: all the columns that are in that table are they the actual required columns, right? If it’s not the actual required columns, let’s cut it down and pick the actual columns that we need. So instead of just selecting star, let’s pick the actual columns that are needed on the,
114 00:16:00.130 ⇒ 00:16:07.740 Adegbite Ayoade: by the downstream users, right? So that also limits the number of information or the number of columns that is being processed, right?
115 00:16:07.950 ⇒ 00:16:24.709 Adegbite Ayoade: Another thing would be that we might start looking at, if we create it into a smaller city portion, you can start doing some pre-aggregation from the top-level city down to the, lower-level city. So that way, let’s say, for example, now, we have
116 00:16:24.710 ⇒ 00:16:35.790 Adegbite Ayoade: three different aspects, where we are doing, some count, some counts, and all of that. We can group all of that into a single city, so we know that this particular city may generally just undo
117 00:16:36.230 ⇒ 00:16:43.089 Adegbite Ayoade: aggregations, right? And from DA, it’s easier for us to just pick those pre-aggregated values and use them, you know.
118 00:16:45.750 ⇒ 00:16:47.530 Adegbite Ayoade: downstream, right?
119 00:16:47.530 ⇒ 00:17:06.279 Adegbite Ayoade: Then, if the model is not created as an incrementer, then we turn it in an incremental model. Now, depending on the warehouse that we are building into, that would also determine the, the partitioning approach that we are going to take, right? And then, yeah, I think those are the things that I would take.
120 00:17:08.280 ⇒ 00:17:10.879 Demilade Agboola: Okay, alright, that’s fair.
121 00:17:13.380 ⇒ 00:17:19.109 Demilade Agboola: Follow-up question, and this is not a new scenario. A client asks for a dashboard.
122 00:17:19.490 ⇒ 00:17:24.210 Demilade Agboola: But they don’t, like, define the metrics in the dashboard. How do you…
123 00:17:24.630 ⇒ 00:17:31.510 Demilade Agboola: Go from just the ask, that they want the dashboard, to something specific that gives you clarity on what you need to do.
124 00:17:33.920 ⇒ 00:17:38.850 Adegbite Ayoade: Okay, so they want a dashboard, but there is no metrics defined.
125 00:17:39.140 ⇒ 00:17:44.350 Adegbite Ayoade: Okay, so I think the first will be to… Understand…
126 00:17:44.490 ⇒ 00:17:59.530 Adegbite Ayoade: what business unit actually means that dashboard, right? So, once you identify the business unit that meets that dashboard, the next thing would be to look at the common… so, identify the unit, then identify the industry.
127 00:17:59.570 ⇒ 00:18:14.690 Adegbite Ayoade: That the business is operating in, right? So once you figure out those two, the next thing would be to look at the common metrics based on, you know, the request that is coming up, the common metrics that are being measured in that,
128 00:18:14.690 ⇒ 00:18:26.169 Adegbite Ayoade: aspect of the business in that particular industry, then the next thing will now be to set up a meeting with them to say, oh, these are the proposed metrics based on, you know, the requests. Is this what we are moving with?
129 00:18:26.170 ⇒ 00:18:36.980 Adegbite Ayoade: By showing them what you’re able to come up with, you’re already nudging them towards a direction of, this is how I think this should go. So from there, conversation can start around, oh.
130 00:18:37.030 ⇒ 00:18:50.219 Adegbite Ayoade: this is not what, we don’t need this particular metric. Let’s measure something like this. Say, example would be, they just say we need a dashboard that, say, maybe measured daily revenue, top product, and,
131 00:18:50.220 ⇒ 00:19:00.220 Adegbite Ayoade: trade over time, right? Now, this does not really say, oh, this is the kind of metrics that we are looking for, right? Or which kind of filter should be applied. So, by you looking at
132 00:19:00.360 ⇒ 00:19:10.879 Adegbite Ayoade: the business units are looking at the industry and, you know, doing research and all of that, and you’re able to come up with some information. That kind of start nudging them around
133 00:19:10.880 ⇒ 00:19:33.999 Adegbite Ayoade: oh, this is, I think, the kind of metrics that we want to measure. We want to look at, you know, customer acquisition costs, we want to look at the total life value of a customer, and things like that. And from there, conversation can now start going, you know, across the entire board. Now, I know that that board is not a one-off thing, so there is going to be refinement, continuous refinement, as you are bringing in, you know, new information, as you are working on
134 00:19:34.000 ⇒ 00:19:44.700 Adegbite Ayoade: the feedback that you have, then there is going to be more feedback coming out. And that way, at the end of the day, you’re able to actually give them what they’re actually going to be able to make the decision that they want to make.
135 00:19:45.090 ⇒ 00:19:51.070 Adegbite Ayoade: Without, you know, actually forcing me down their throat to say, oh, you need to give me something that I can start working with.
136 00:19:52.590 ⇒ 00:19:54.780 Demilade Agboola: Okay, that’s fair.
137 00:19:56.680 ⇒ 00:20:03.960 Demilade Agboola: Another question, instead of, like, the delivery and client stakeholder management, would be, if a client wants…
138 00:20:04.130 ⇒ 00:20:05.470 Demilade Agboola: A fast delivery.
139 00:20:06.040 ⇒ 00:20:14.820 Demilade Agboola: So they want something that they want you to deliver tomorrow, or in 48 hours, whatever. The timeline is very short.
140 00:20:15.280 ⇒ 00:20:26.109 Demilade Agboola: But you know that whatever solution you do, the architecture will not scale, or there will be a compromise on technical excellence, so maybe you won’t QA the data as well as you normally would.
141 00:20:26.450 ⇒ 00:20:35.660 Demilade Agboola: Or, you know, you might have to build out things in a way that… potentially,
142 00:20:35.950 ⇒ 00:20:38.240 Demilade Agboola: Isn’t best practice, you know?
143 00:20:38.710 ⇒ 00:20:40.790 Demilade Agboola: How do you navigate?
144 00:20:41.330 ⇒ 00:20:43.330 Demilade Agboola: a fat? How would you…
145 00:20:44.550 ⇒ 00:20:52.219 Demilade Agboola: handle delivery in… without, like… or… how do you handle delivery… how do you balance delivery and technical excellence, basically?
146 00:20:54.570 ⇒ 00:20:58.100 Adegbite Ayoade: Okay, so, I think the first thing
147 00:20:58.130 ⇒ 00:21:09.940 Adegbite Ayoade: be that, for every system, there is always going to be, like, a trade-off, right? So let’s first look at it. What are the trade solves that are involved, right? So, first delivery.
148 00:21:09.940 ⇒ 00:21:28.189 Adegbite Ayoade: But we are looking at, you know, trade-off on the technical part. Now, what aspect of the technical part are these trade-offs basically coming from, right? Now, you mentioned something, Andrew, maybe data validation. That is something that you can never pass, right? Because if the data is not actually validated.
149 00:21:28.260 ⇒ 00:21:34.179 Adegbite Ayoade: whatever output you send to them is going to be useless at the end of the day. For example, like, when I…
150 00:21:34.550 ⇒ 00:21:36.030 Adegbite Ayoade: including our kids.
151 00:21:36.950 ⇒ 00:21:41.260 Adegbite Ayoade: My CEO wanted the dashboard to be available by Friday.
152 00:21:41.540 ⇒ 00:21:52.579 Adegbite Ayoade: Now, it was on Thursday I discovered that we actually have some users that have been using the platform for over a year, for over 2 years, right, without actually paying. Now, with that.
153 00:21:52.730 ⇒ 00:21:55.589 Adegbite Ayoade: problem. You couldn’t go ahead with this.
154 00:21:56.900 ⇒ 00:22:03.649 Adegbite Ayoade: with the work I was doing for him, to go and use that to, you know, to talk to the stakeholder, or to talk to the,
155 00:22:04.190 ⇒ 00:22:07.379 Adegbite Ayoade: to talk to the investors, right? So, first thing would be…
156 00:22:07.890 ⇒ 00:22:25.319 Adegbite Ayoade: Yeah, the urgency is about what exactly is the urgency all about. Is this going to be a one-off thing, or are we going to be reusing it? So if it’s going to be a one-off thing, they want to start looking at what is the acceptable level of completeness that
157 00:22:25.630 ⇒ 00:22:35.460 Adegbite Ayoade: both of us can agree to, right? So, I don’t need to be at 100%. So maybe, let’s say I’m building a model, that involves,
158 00:22:36.690 ⇒ 00:22:41.569 Adegbite Ayoade: SIVA, good, and then, SIVA and Goodley are basically, right? But I know that
159 00:22:41.580 ⇒ 00:23:01.219 Adegbite Ayoade: when I’m building my model, normally, I will add data tests, and I will add, you know, the entire detailed documentation, right, and, you know, any other thing that needs to go along with it. But now, because of this, urgency, I can decide that, oh, I’m not going to add data tests to all of the collops, but just add data tests to the
160 00:23:01.220 ⇒ 00:23:07.499 Adegbite Ayoade: most important columns. Like, maybe the customer ID cannot be no, the customer name cannot be null, and then maybe the
161 00:23:07.530 ⇒ 00:23:21.740 Adegbite Ayoade: email address, right, cannot be duplicated. I can take that, compromise and move with that. Then, on documentation side, I can say, oh, for now, I can pend on the documentation. Let me just push out this model. Documentation will be for
162 00:23:21.800 ⇒ 00:23:27.819 Adegbite Ayoade: somebody that, you know, wants to go back to understand some of these columns. But right now.
163 00:23:27.920 ⇒ 00:23:47.180 Adegbite Ayoade: Those are not really needed. But if we look at it from the larger picture, it’s actually a dent on the technical side, because you shouldn’t push any model that is nowhere documented to, you know, to the production system, but now we are doing this because of the urgency. Now, if it’s a one-off thing, then once it’s pushed out.
164 00:23:47.220 ⇒ 00:23:54.959 Adegbite Ayoade: I can go back to complete those elements, right? Complete those columns, description, those data testings, and all of those things.
165 00:23:54.960 ⇒ 00:24:11.670 Adegbite Ayoade: why this is already in production. But if it is something that we are going to be reusing, yes, I know that once we push out, there will be feedback. So when we are working on that next feedback, all of the things that we have omitted in the first instance of working on that project will now be implemented, you know,
166 00:24:11.890 ⇒ 00:24:22.010 Adegbite Ayoade: into it as well. Then there’s something about architecturing, right? You can overarchitecture at times, and you can under architecture at times. So, maybe what we
167 00:24:22.300 ⇒ 00:24:28.579 Adegbite Ayoade: then look for is, how can we balance? Let’s meet individual rights. So this pipeline right now.
168 00:24:28.580 ⇒ 00:24:38.179 Adegbite Ayoade: I know I’m supposed to pass it through to metadata so that we can do data discovery and data governance and all of that, but can we remove that part for now?
169 00:24:38.180 ⇒ 00:24:52.059 Adegbite Ayoade: And then, you know, once this is fully deployed, then we can bring in backup metadata, you know, to start feeding on the information from the model. And I think from there, right, but there are some things that you would not bypass
170 00:24:52.060 ⇒ 00:25:01.330 Adegbite Ayoade: Right? Data quality tests, data validation process, you know, those are the two most important things, because if you do not validate those things.
171 00:25:01.720 ⇒ 00:25:13.369 Adegbite Ayoade: and send those informations out is actually visited at the end of the day. So, both the urgency and, you know, the dents on the technical side, at the end of the day, will actually become something that nobody will be able to use.
172 00:25:14.410 ⇒ 00:25:15.600 Demilade Agboola: Okay, alright.
173 00:25:16.110 ⇒ 00:25:22.930 Demilade Agboola: That’s fair. Okay, so that’s it from me. I’m not sure if you have any questions.
174 00:25:23.360 ⇒ 00:25:24.550 Demilade Agboola: for me.
175 00:25:24.940 ⇒ 00:25:27.240 Demilade Agboola: Before we call it. Okay.
176 00:25:28.540 ⇒ 00:25:31.710 Adegbite Ayoade: Okay, so I think,
177 00:25:32.150 ⇒ 00:25:40.330 Adegbite Ayoade: My first question would be that, where do you see, like, the biggest complexity in the, with the current data work, basically?
178 00:25:43.780 ⇒ 00:25:50.670 Demilade Agboola: I think that’s actually a very good question, I’m not sure anyone has asked me that question. I think in terms of complexity.
179 00:25:51.190 ⇒ 00:25:55.680 Demilade Agboola: I think there are a number of portions that can be…
180 00:25:55.850 ⇒ 00:26:01.209 Demilade Agboola: things that jump out. One would be things around data monitoring, obviously, because…
181 00:26:01.600 ⇒ 00:26:07.500 Demilade Agboola: If clients come back to you and there are issues with their data, you know, that raises a lot of questions.
182 00:26:07.950 ⇒ 00:26:13.490 Demilade Agboola: And that puts them in a spot where they’re constantly…
183 00:26:13.850 ⇒ 00:26:20.050 Demilade Agboola: having issues and not trusting you. So, being able to discover whatever is wrong with data first is always…
184 00:26:20.270 ⇒ 00:26:22.859 Demilade Agboola: The best way to go about things.
185 00:26:23.370 ⇒ 00:26:32.019 Demilade Agboola: Also, subsequently, I would say things around just, like, Stakeholder management is probably
186 00:26:32.350 ⇒ 00:26:34.739 Demilade Agboola: Part of… part of the data quality thing.
187 00:26:34.920 ⇒ 00:26:36.720 Demilade Agboola: Because, ultimately.
188 00:26:37.250 ⇒ 00:26:44.859 Demilade Agboola: Being able to interact with them in such a way that they feel confident in you, because again, they’re paying us money, they want to feel like whatever they’re paying us is producing value.
189 00:26:45.140 ⇒ 00:26:52.559 Demilade Agboola: And anything that shows a lack of value tends to be around other data quality, so they have issues with that.
190 00:26:52.950 ⇒ 00:27:01.329 Demilade Agboola: Poor stakeholder communication, so, like, not communicating deadlines, not communicating when issues are arising, not communicating, like.
191 00:27:02.000 ⇒ 00:27:08.489 Demilade Agboola: any other thing around that. So if they have to be coming to us consistently to say, hey, this is an issue, hey, this is a problem.
192 00:27:08.630 ⇒ 00:27:10.519 Demilade Agboola: That starts to,
193 00:27:10.950 ⇒ 00:27:16.189 Demilade Agboola: parallel up. But in terms of just general complexity, I think things tend to be very similar.
194 00:27:16.340 ⇒ 00:27:34.320 Demilade Agboola: I mean, obviously, use cases vary from client to client, but in just the general scope of things, things tend to be very similar. You have your data sources, you have your warehouse, you have your ingestion, you have your transformation, and then you have your visualization, and then we also have your strategy team.
195 00:27:34.570 ⇒ 00:27:40.959 Demilade Agboola: That allows with, like, impromptu and, like, revenue-driving strategy, so…
196 00:27:41.540 ⇒ 00:27:47.950 Demilade Agboola: I think all in all, there are multiple elements to it, I’ll… I’ll take…
197 00:27:48.750 ⇒ 00:27:50.910 Demilade Agboola: The complexity just comes from…
198 00:27:51.080 ⇒ 00:28:00.080 Demilade Agboola: Managing people, rather than the actual data itself, or data systems, because ultimately, data systems are very… are fairly predictable most of the time.
199 00:28:06.220 ⇒ 00:28:14.990 Adegbite Ayoade: Okay, I think the last question would be, what would you expect, someone in this role to own, like, in the first, few months?
200 00:28:15.810 ⇒ 00:28:20.530 Demilade Agboola: Great question. So we’re basically trying to hire someone who
201 00:28:21.900 ⇒ 00:28:24.730 Demilade Agboola: On a day-to-day, you can hop into different clients.
202 00:28:25.080 ⇒ 00:28:26.610 Demilade Agboola: Handle the modeling.
203 00:28:27.220 ⇒ 00:28:33.359 Demilade Agboola: Be able to get feedback on the… first off, someone who can understand what the business needs of the client are.
204 00:28:33.870 ⇒ 00:28:37.230 Demilade Agboola: build out the dbt models for them.
205 00:28:37.470 ⇒ 00:28:44.610 Demilade Agboola: Ensure that the DBT models are of best Quality, high quality, and…
206 00:28:44.860 ⇒ 00:28:57.390 Demilade Agboola: Ultimately, can also interact with the stakeholders, so they’re able to be able to explain what’s going on to stakeholders, be able to talk about the models, be able to interact, get information from the clients.
207 00:28:57.440 ⇒ 00:29:04.929 Demilade Agboola: directly. While we have people who interact with the client on our project, we want someone who can also
208 00:29:05.210 ⇒ 00:29:14.949 Demilade Agboola: you know, interact themselves, who is confident to be able to do that, and who has experience being able to do that. Also, whoever gets this role will just be someone who
209 00:29:16.160 ⇒ 00:29:24.269 Demilade Agboola: can handle, like, the modeling aspect themselves. Like, obviously, we still need help from everybody in the team from time to time, that happens.
210 00:29:24.400 ⇒ 00:29:33.519 Demilade Agboola: But there’s experience in, like, needing help, and someone who cannot work by themselves, so obviously we need someone who is capable enough to work by themselves, can interact.
211 00:29:33.720 ⇒ 00:29:43.600 Demilade Agboola: I reach out when they need help, because again, like I said, needing help is… is… always happens, and it’s very important to be able to, you know, communicate that.
212 00:29:43.770 ⇒ 00:29:57.890 Demilade Agboola: But, yes, ultimately, those are the kind of things we will need in, whoever’s in this role, because ultimately, the idea is we need someone who handles that, and so I can kind of focus more on, like, things around strategy.
213 00:29:58.060 ⇒ 00:30:12.890 Demilade Agboola: things around, like, hours allocations, things around, like, playbooks, things around, just strategy that we can use for, like, modeling data, and also someone who is able to bring ideas, you know, not just someone who’s just like, oh.
214 00:30:13.060 ⇒ 00:30:32.169 Demilade Agboola: I’ve done all my tickets, which, again, good, but someone who’s able to bring ideas and say, hey, how about we do this? Or I notice a pattern across two different clients, and I can say, okay, you know what, let’s build a strategy around that. Oh yeah, I notice a pattern across these sort of clients, and that’s okay, let’s build a strategy around that, let’s build a playbook around that, so…
215 00:30:32.370 ⇒ 00:30:39.219 Demilade Agboola: Yes, basically someone who, you know, brings innovation and also is… You know.
216 00:30:39.370 ⇒ 00:30:43.970 Demilade Agboola: Good at what… good at communication and good at the technical aspects.
217 00:30:45.790 ⇒ 00:31:01.060 Adegbite Ayoade: Okay, so I think I can gather from, like, the other thing you’ve said, basically, what would make a strong analytics engineer at Great Forge would be someone that, you know, know is on yours technically, and then is able to communicate those things to stakeholders.
218 00:31:01.990 ⇒ 00:31:04.090 Demilade Agboola: Definitely, definitely,
219 00:31:04.190 ⇒ 00:31:17.530 Demilade Agboola: Because we’ve had, like, analytics engineers or, like, engineers come in who are great technically, but maybe not the best in terms of facing stakeholders, and I think, you know, that makes it a bit tricky, because
220 00:31:18.000 ⇒ 00:31:24.080 Demilade Agboola: They are always handicapped by needing to have someone to interact with the stakeholders.
221 00:31:24.490 ⇒ 00:31:31.540 Demilade Agboola: And obviously, that can cause friction at times, that can cause delays, and so just someone who is able to, like.
222 00:31:31.700 ⇒ 00:31:50.590 Demilade Agboola: talk, you know, talk in meetings, be able to present, be able to say, hey, this is what I’ve done, this is why we did this, based off of my communication with XYZ, this is the decisions I made. And, you know, it won’t always be right, but we can be able to see the logic and the thought process in there, and go, okay, that makes a lot of sense.
223 00:31:55.970 ⇒ 00:31:58.980 Adegbite Ayoade: Thanks so much for shedding more light on that.
224 00:31:59.220 ⇒ 00:31:59.880 Demilade Agboola: Okay.
225 00:32:00.160 ⇒ 00:32:07.800 Demilade Agboola: Alright, so if there are no further questions, I will… we can call this a day, and I’ll, reach out to Kayla.
226 00:32:08.330 ⇒ 00:32:11.519 Demilade Agboola: And give her my thoughts, and she’ll be in touch.
227 00:32:13.220 ⇒ 00:32:14.129 Adegbite Ayoade: Alright, thank you.
228 00:32:14.650 ⇒ 00:32:15.430 Demilade Agboola: Bye.