EP 06 · Software

Michael Adelemoni

About

Michael grew up in Ibadan, Nigeria, picked up JavaScript by copying his older brother, and studied computer science at Purdue, where research at the Data Mine led him to AI weather modeling. At Google he works on testing infrastructure, and spends his 20% time teaching AI to predict extreme weather.

In this episode

  • A software engineer’s day at Google
  • How AI is changing the job
  • Research, not just internships
  • Advice for CS students in the AI age

Be comfortable using AI, but be able to work without it when you need to.

Michael Adelemoni

Full transcript

Hello everyone, welcome to the sixth episode of Beyond the Blueprints. Today we're here with Mr. Adele Moni. He's one of my friend's brothers and he's a software engineer at Google.

So for our first question, could you start by telling us a little about yourself, where you grew up and what first drew you to computer science? Sure. My name is Michael Adelimondi. I grew up in Ibadan, Nigeria, so in our estates.

I spent most of my life there, and then I did two years in a boarding school in Lagos, and then I went to uni at Purdue in Indiana. What first drew me to computer science was, I think I'd already had a very strong interest in STEM. I wanted to be like a scientist of some kind ever since I was young. And then computers were very interesting ever since my brother actually started programming.

And so in sort of an effort to copy him, I just basically went into programming myself. I started with JavaScript and went on to do game design, which really was where the interest in programming grew. And then I went out of game design to focus on computer science more generally. Yeah, I think that's really great progression.

So for a high schooler picturing what a software engineer at Google does, what does your actual day look like? Sure. On a day-to-day, it's programming, obviously. You'll either be given a set of tasks or a general idea of what they want you to do, and you would write codes to achieve those tasks.

If you're given a general idea, what they would want you to do is write documents detailing the design you want to implement or design that you want other people to implement. And yeah, so it's mostly attending meetings that talk about design, getting tasks and implementing them by writing code and working with people from within your team and in other teams to figure out the problem space and to figure out what needs to be done to address the issues. that's cool well just i'm just curious how much ai do you guys incorporate into your coding a lot um ai has been it's very interesting i've been i got hired right as ai was a very big thing in software engineering as a whole and especially in google um but when i got hired the pretty much there were very few AI tools. But as of now, there are complete AI agents that sort of automate a variety of tasks that you can, like even writing code.

There are some people that are writing dramatically less code because they're just outsourcing most of the code writing to AI. AI is very good at reading design documents as well. And it's good at reading bugs. And so you can sort of have AI just read a bug and plan out a way to fix the bug.

And then you can just approve the changes that the AI makes. That's very nice, Dan. Nice to see or learn that AI is, you know, the part of your daily life now. So you spent two years at the data mine, including working with iGUIDE on optimizing weather data.

So what did a typical week on that project look like? And what was the hardest part? Sure. That project was a project on optimizing weather data for, I believe, read efficiency for distributed systems.

It was mostly we were just working in a Jupyter notebook to experimenting with various chunking methods that can have good read efficiency. So it was a bunch of, we had meetings with the lead researcher to figure out which direction we want to take an experiment. And then we obviously execute on the experiment and gather all the data we have And then with that data you create your analyses and you can present them to the rest of their team And you can add that to the end of your sort of research experiment. That's really cool.

So my question is, what surprised you the most about working in the industry compared to what you've expected from school? Sure. What surprised me the most was the flexibility. I guess maybe Google could be different from other engineering companies or even other large engineering companies, but I feel like there's a lot of flexibility in the tasks that you can take.

There's a lot of flexibility in deadlines. there's a lot of flexibility in the way they expect you to work and even the things that you're doing I am doing a 20% project and at Google what that is is basically you take 20% of your time and you go do another thing at Google so my main job is working on testing infrastructure but as 20% of my time I work on AI weather modelling and it's just really cool that I get to just skip on not skip on but like I get to just if I'm there's a downtime in my main work I can sort of focus on this other work that's very interesting to me so it like having a job at Google also allows you to have to follow your own passion yeah definitely there's a lot of it might be a Google thing but there's just a lot of things that Google does a lot of opportunities like Google has to be able to explore. That's nice to hear that even though you're working at a top tech firm, a tech company, that you have a lot of flexibility to do what you want to do. It's not like constant work.

That's very nice to hear. So you also TA'd for over a year at Purdue. So what did teaching other students actually teach you about computer science that classes alone didn't? Yeah.

Obviously, teaching other people is a very good way to reinforce the knowledge that you already have. If you're able to teach someone a complicated topic, it means that you've already made it simple in your own head, simple enough that you can communicate it to someone else. So there's that aspect. But there's also the, I got to see the way different people navigated the same problem, because you get to see the way a lot of people complete the same homework assignments.

And you get to figure out the new interesting ways to look at an assignment, but also the wrong ways to look at assignments. I found that some people tended to not interact with the assignment as much. And I got to see directly the effects of that. of not interacting with the problem space and not fully understanding what you're working on.

So what it taught me was that you need to really outline the problem that you're working on so that you can be able to understand it well enough to implement a plan. Good advice. Thank you. Yeah.

So in the timeline that we are in currently, AI is reshaping software engineering very quickly. For a student starting computer science today, what should they focus on? Sure. The focus, I don't think, has changed too much.

The computer science fundamentals, data structures and algorithms. If you know what frameworks that you want to work in or what languages you want to work in, focusing on fully understanding the frameworks and languages is very important. But I guess in the age of AI you really don want to be scared of using AI You don want to be too hesitant to pick up AI And it a very interesting thing that you have to balance because on the one hand I found that AI is obviously very helpful for improving productivity, but you end up sort of being one step removed from the thing that you're actually coding. And especially if you're learning something and you're just getting into computer science or you're just getting into software engineering and you're learning, you don't want to be one step removed from what you're doing.

You want to be directly using your brainpower to accomplish tasks instead of using AI brainpower. So you need to be comfortable with using AI, but you also need to be able to work without AI when you need to because there will be some times where an AI, an LLM, or a coding assistant won't be able to help, and you as an engineer are expected to be able to do those things. That's good advice. Thank you.

so I wanted to ask if you could walk us through the path from your first internship searching to then the offer at Google and what did that timeline actually look like for you yeah um I'm going to go back so I didn't do an internship I only did the like the research positions and um yeah that's another piece of advice I'd like to tell people like if you are going to take the college routes to go into software engineering, you shouldn't only look at internships. You should look at some research as well. A lot of people are adverse to doing research in school because research doesn't really apply directly to industry oftentimes, but you can find very good research opportunities. So the first research opportunity I did was in the data mine, there was a corporate partners program at Purdue where you get to work directly with some industry professionals.

So I worked with some professionals from Nationwide Mutual Insurance, I believe. And we were actually developing an AI weather model from Foundation. And I did that for a year. And then from there, I got to contact with other people from the data mine that were doing some other research that was for optimizing weather data for distributed systems.

And so I did that for a year as well. And then after that, I graduated and there was pretty much nothing for a time. I graduated in like May and I got a job at Google in November. And so between then, it was really stressful.

And so all I was doing was brushing up on all of my data structures and I was brushing up on JavaScript frameworks, even though I ended up not using much JavaScript. But yeah, that was the journey from that first research position to getting the job at Google. Yeah, I think that's really interesting that you participate in activities such as iGuide to data mine and then to now working on Google. So I think you could describe yourself as adaptable and someone who throws yourself at different activities.

How has that mindset shaped your career so far? And is it something you'd recommend to students? Yeah, I think that mindset has given me a lot of opportunities. like the first research project I did at school I ended up doing sort of the same thing here at Google on my 20 project right the research project at school was predicting extreme hail events and then at Google I found a research team that was trying to predict extreme weather events of all sorts, right?

It's entail precipitation as well, tornadoes and lightning. And so me going out of my way in school, finding some research projects actually just helped me gain that initial experience that I could transfer over. And I believe I'm doing pretty well, even in that 20% capacity. And yeah being adaptable gives you an opportunity to also expand your network right So now that I did that research project I know some people back at the university but in the 20 that I doing right now I know some people in other parts of Google.

And if I ever wanted to move to another part of Google or if I ever wanted to just ask advice, I have now a larger network of people that I can draw some help from. Thank you. So my next question was actually asking to look back to see what you did in college. You spoke about research project.

Was there anything else, anything that you did in college that was really important to helping you land your job at Google? Apart from just like the paying attention in class, I guess there's a, Uni did teach me some data structures and algorithms that was very helpful in the interview process. But yeah, I don't think I really did much apart from the research. I guess the research was the main thing that really helped me there because especially Google, but a lot of larger software companies are dealing with a lot of data analysis and seeing that data analysis work in your resume can be very helpful for them.

Cool. From my knowledge of many high school students today, their perception of college life is often partying and not really doing much studying. Would you say that it is applicable to your own experience? And would you recommend them to be on this path?

Yeah. So it is the complete opposite from my experience, but I don't really recommend my experience. I graduated uni in three years. So I did like pretty much 18 to 19 credits for the last two years, which is a lot.

It's over the maximum. Actually, I had to like get special permission to do 19 credits. And then I also did classes in the summer. so I don't recommend that you do that especially if an internship is kind of hard to come by a lot of companies only accept you for an internship if you're still in school so you might want to stay the full four years if you have basically the money to do it but I also don't recommend that you party all the time especially if you're going into computer science.

Computer science is a field in math, and it can get very math heavy when you're doing proofs and things like that. And if you don't spend enough time really understanding the topics, you are going to struggle. I've seen a lot of people struggle even with time spent trying to understand. So you really need to manage your time very effectively.

way. All right. Thank you, Sid. I wanted to ask about how much you think the IB program helped you with where you are now?

Yeah. It helped a lot because I don't think I would have been able to graduate in three years without the IB program. Purdue has a system where you study computer science but you can focus in different areas of computer science and my areas of focus were software engineering and machine intelligence and to complete those two areas I needed to take a lot of subjects and so IB really helped me just reduce the amount of subjects I needed to take so I can fit both areas in under three years. And it also really trained resilience, I guess, because the IB program is grueling and college was felt super easy compared to the IB program.

So it really just helped me prepare myself for the kind of workload that I'd be taking on. Thank you, Sy. So I think that's all of our questions. So I want to thank you for coming.

And yes. Yeah, no problem. Thank you for having me. Thank you so much.

Thank you.