Resources

Michael Derstine @ Wells Fargo | Data Science Hangout

video
Apr 1, 2024
1:05:25

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

Hi, everybody. Welcome back to the Data Science Hangout. I'm Rachel. I lead Customer Marketing at Posit, and I'm so excited to have you joining us here today.

If it's your first time ever joining us, the Hangout is our open space to hear what's going on in the world of data across all different industries, companies, get to chat about data science leadership, and connect with many others who are facing similar things as you. And so we do get together here every Thursday at the same time, same place. So if you're watching this as a recording at some point in the future on YouTube, and you want to join us live, there's details to add it to your calendar below. Just make sure that it adds it for 12 Eastern Time and just double check the time zones.

But if it is your first time joining us today, I'd love to have you say hi in the chat so that we can all welcome you in here and say hello and introduce ourselves too. We're all dedicated to keeping this a friendly and welcoming space for everybody. And so we love to hear from you, no matter of your years of experience, your titles, industry, or even languages that you work in.

So if you're joining here, it's okay to just listen in if you want. Maybe you're on your lunch break, you're out walking your dogs or something, but also awesome to be a part of the party that happens in the Zoom chat. So you'll see there's a lot of conversation that happens there, links and resources shared, and just fun to meet people through the Zoom chat too.

But if you want to ask questions today and jump in, you can do so three different ways. So you can raise your hand on Zoom and I will call on you to jump in. You could put questions in the Zoom chat and just put a little star next to it if it's something that you want me to read out loud instead. And then third, we have a Slido link where you can ask questions anonymously.

But with that, I am so happy to be joined by my co-host today, Michael Durstine, Vice President at Wells Fargo. And Michael, to get us started here, I'd love to have you introduce yourself and share a bit about your role today, but also something you like to do outside of work for fun.

Oh, okay. Well, thanks for having me. I'll start with things that I like to do outside of work. I used to be a decent soccer player. I'm not very good anymore, but I still like to play. So I'll play futsal on like Monday nights, pretty, you know, whenever I can get away.

A little bit about me or my background professionally. I am nearing my 10th year at Wells Fargo. And that time has been spent not necessarily doing the same thing, but working in the same kind of space, which is in mortgage, in mortgage finance.

So what, you know, I started close to 10 years ago as a junior analyst doing a role that I think many people are familiar with. Pulling together, I mean, dozens of spreadsheets with hundreds of tabs, all other people's models and work that's been recycled over years and years and years and just mazes of logic and making sure that nothing was wrong every morning before the traders on the trade desk came in and started, you know, acting on these models, trading on these models. So there's a lot of stress to have before 6am every morning.

So anyway, I was motivated to make my life easier and to make processes better. And so, you know, I think I grasped at everything I could to do that, which early on, the only corporate approved tools that I had were Excel, VBA, PowerShell. I did a lot of work in PowerShell, which, man, after, you know, using R and Python today, I just, I think about some of the things I had to do to get tables to work well and things like that anyway.

And so that's really how I started. I just, I fell in love with building processes and making tools for other people that work really well. I think a few years into my career, I went to, I chose to go to graduate school, studied applied mathematics, specifically like quantitative finance at the University of Washington in Seattle. I did that program totally online over three years while I was working.

And there I was introduced to R and C++ and just immediately, you know, as someone who's trying to do table manipulation with PowerShell, when you're introduced to R, it's like, oh my Lord, this is, everybody's thought of this already. All the tools are already here, has this amazing open source community of tool builders. It was wonderful. I immediately was just captured by it.

So I think, when was that? That was probably in 2017 when I started using R and yeah, haven't looked back since. It really was a major turning point. It's transformative for me, for my career. It allowed me to kind of take on roles that other, I would just say, typical financial analysts in my field, my peers, they didn't have those skills. So I was brought into meetings that I probably didn't belong in, but because I could build things that other people couldn't build as easily.

It allowed me to kind of take on roles that other, I would just say, typical financial analysts in my field, my peers, they didn't have those skills. So I was brought into meetings that I probably didn't belong in, but because I could build things that other people couldn't build as easily.

So yeah, I started working more with kind of our quantitative modelers who are building statistical and other, you know, kind of models to anticipate customer behavior in the mortgage space. I also fell into a lot of data engineering and data scientist roles, which can be really fun. And yeah, I think all of that over time just aggregated into me becoming more of a, yeah, I guess, official titles vice president. But really what that means is I just manage a team of analysts, of high ranking analysts.

So now my job isn't as fun. I don't get to code near as much as I want to. In fact, a lot of times I'll find myself coding in my free time because I don't get to do it at work anymore. So that's a personal problem that I'm trying to figure out and work through.

But instead, I have a team of analysts that are excited now to kind of learn new things, solve problems. And so it's new for me to be in a coaching role and to work on problems with people, to try to, yeah, untangle a knot or put together a puzzle. It is fun. It's fun in a different way.

So yeah, that's my role today. And then when I'm not actively working on problems, I am usually on calls advocating for analysts, advocating for projects or ways to build things and trying to convince the directors and the executives above me to make more or to make certain strategic and tactical decisions.

From spreadsheets to automation

I love when you were telling me that story about like you having to go in to work at 5 a.m. and like pull together these spreadsheets because I could just like picture that and thinking like there must be a better way. But what was your like final breaking point with that, like where you turn to data science?

So I think honestly, when I moved past that role, really, that was really an intro role in my group to kind of put new analysts to the gauntlet a little bit. So I moved past that role. And after a few years, I gained some of these skills in R and Python and whatnot. I kind of looked back and I'm like, we should not have that. That should not I don't care if it's a rite of passage.

That's a mess and it's operational risk because I was really tired and I could have easily broken something that would have cost the bank some, you know, financially. If a trader trades on bad decisions and they have to unwind that, you're opening up the company to a loss. So it was not popular because often it's don't fix something that's not broken. That was the mentality.

And so slowly, I've worked to build challenger processes. I mean, I feel like the only way to get something done in my company is you have to build something in parallel. It operates on its own. It's a competing product. And then you have to run it side by side and absolutely obliterate the old competition. You have to show why this is so much better. Tell the story to your bosses. And so we were able to do that.

The program that runs today that does what I used to do 10 years ago runs completely in R. It runs on a server, on a Linux box every night. And it's completely automated. There's no junior analyst that has to do it. Nobody has to wake up at 5 a.m. or really at 4.30, get at the office at 5.

I mean, those junior analyst roles still exist. But now we're encouraging them to learn R or to try new things or to do data science, right? They're not just filling out spreadsheets or making sure that this is green and this is red. And it's just a different role now.

Honestly, the R program, just to give a little bit more detail, it sits on that server and it waits for upstream models and other calculations to be finished. So it's just a waiting. And it aggregates that information, calculates downstream things and pushes those results into a cloud database, basically. Then all of our visualizations and reports are built on. So I'm very proud of that. But it was a lot of work technically and maybe even more work politically to get that through.

Tools, languages, and upskilling

So is your current toolbox limited to R and Python? And what are your feelings, if any, on VS Code and Git Copilot? And in your current role, how knowledgeable do you need to remain on the rapidly developing data science landscape?

Yeah, that's a great question. So as far as my company specifically, we are trying to upskill, whatever that means, as much as possible. We have a lot of very talented financial analysts with business knowledge, and they're usually all great or think they're great with Excel. We're trying to teach Python across the company. I've been a voice. There's a few other people that say, really, this should be multilingual, right? R is a great tool. A lot of analysts find it more accessible to start or even long term. There's certain problems that I prefer R to solve problems. There's certain problems that Python could be better here, right?

Or even people that just have really pure SQL skills. I mean, there's new technology now, like DuckDB, where you can really write pure SQL and connect it to Python, connect it to R. I mean, it's so exciting now how easy it is to connect processes together. So no, I don't think we're necessarily limited to just those boxes. But as a company, we are trying intentionally to limit the scope of what tools are we going to use to solve problems because we have to manage it somehow, right?

VS Code, I love VS Code. I use it for Python. I use it for R sometimes, especially if I have a project that requires both. Even though, I mean, I see that RStudio, you can run Python pretty effectively using Reticulate. Yeah, that's pretty slick too. I think most of the analysts on my team will use VS Code for Python or PyCharm for Python. We are not allowed to use Copilot yet as a company. That's just policy until somebody says it's allowed.

Hiring challenges and the skills gap

And I was just curious if that's like a sentiment you share or, you know, what maybe your perspectives are around that. Like, do you feel like some of the data scientists that might excel at R or excel at Python actually lack like the math chops to really succeed in those roles?

No, no, I think that's a great question. And I think the short answer is yes, it's been challenging. But maybe the reason why might be unique. So again, I work at Wells Fargo, which I don't think it's any secret that the last seven years have been difficult for this company because of sales practices that were happening on the retail side of things, where basically we were opening false credit card accounts for individuals to basically increase sales metrics. So the Federal Reserve and the federal government put an asset cap on this company and forced us to really clean up our governance and things like that. So having said that, it's been difficult to hire anybody for seven years.

But secondly, I do think there is some middle space that is needed between, or really where we had a roster of financial analysts before that were really savvy and good with cash flow models, discounting valuation models, things like that. We're trying to build an in-house team here with R and Python skills. We want them to be doing that same kind of work, that same kind of analysis, but with a new tool set.

So that's really the role that I'm in today, is I have a roster of analysts that are pretty technically savvy, but we're supposed to be going outbound and teaching others. Teaching is a core part of what our team does. But hiring has been tough, just as a company.

Individual contributors vs. management

Do you see in banking that there's a space for, let's say, individual contributors to keep moving up in their careers, or do you feel like it's more of you kind of need to go into management or you're out?

I hope so. I hope so. At Wells, I know we have a program that we're trying to do that. We're trying to really incentivize rockstar sole contributors to stay doing what they do great, right? Building processes, building tools.

I think part of my job isn't just managing. It's not just being a manager and not doing the work. I think part of the reason why I'm kind of put in this position is because I work hard to influence people. I really, I try to partner with other teams that aren't, you know, on an org chart, direct, you know, directly under me. They have no reason to help me, right? Besides the fact that I've helped them in the past, or that we've worked on projects in the past and we think alike, and we like working together. We like solving problems together.

So, you know, whether that's a formal manager or not, or a sole contributor, I think really what's most important to organizations is having people that are facilitators, that are connectors, right? Because at a certain point in the bank, or probably at any big company, technical skill doesn't scale anymore, right? Like I'm at a point right now where I have 30 or 40 hard problems that I'm being asked to solve. And I, they're all interesting. They're not all interesting, but I wish I could spend a couple of days each chewing on each problem and finding out a way to solve it. I can't, I don't have enough time.

Because at a certain point in the bank, or probably at any big company, technical skill doesn't scale anymore, right?

Storytelling and getting buy-in

Do you have, besides that, do you have a framework for building those relationships and getting buy-in? Do you have like quantitative frameworks for showing value of an initiative before it's implemented? Like how you think about that kind of stuff?

No, I think short answer is I could be, I could be better at that. So my boss is a storyteller. He loves, he is, he's great with people. He can go on and he's a little flamboyant. And so he likes to think in stories. As far as really technical data science, like he's just, it doesn't, it doesn't register with him.

So I think in my personal world, I've been working for the same guy for a while too. So a lot of my work has to also flow that way. I will, I will interpret the metrics. I will try to understand what, you know, direction tactically we need to go, what, where we need to focus energy, these, these kinds of things, or what, what we need to build. But then going up, I have to make that into a story. And usually it's verbal or written.

I think it's so hard because when you build something that's fantastic, you fall in love with it, right? Like you, you know, this is great. This is fantastic. And you need to see how hard this was to solve. And I just try to humble myself and remember how busy my bosses are and how many, like if I have 40 projects, they have 200 projects, right? So what, how do you capture their imagination? And unfortunately it's not how cool of a problem this was that you solve. It's what is this going to do for them? How is this going to make this place better? Their life easier. That kind of thing.

And so, yeah, unfortunately I think it is like putting on your, you know, best Don Draper face and selling it, you know?

R vs. Python for different problems

So personally, I find R to be my favorite language to program in because I don't know, it may be, I think specifically kind of the tidyverse dialects. When I have to work with tabular data and I really need to take multiple sources of data and, you know, transform into information. It's like gardening. I know other people have said that, but it really is something that I find to be kind of tranquil.

So when I think of pure, yeah, data transformation, tabular data transformation, R is my go-to. And I think it will be, and I know Python has counterparts, like whether you use pandas or polars, polars is now popular. I enjoy writing in R tidyverse more than I like writing polars.

As far as Python, what I have found Python to be really better for, or just personally, personal opinion is when I have to work, if I had to do something that's object oriented, I try, I usually use Python to create classes and things like that. I know R has some of that functionality as well. I just think Python is a little cleaner.

Also, when I have to, so we orchestrate our processes using Dagster now. And so that's a Python based orchestration tool. And so we will package individual tasks, right? That have to happen, individual transformations. Those can be an R or Python. Doesn't matter. We'll either write to parquet and trans, you know, transfer between the two languages, or we will use DuckDB. For example, I brought it up earlier to kind of create a little mini database that works with both Python and R just fine. So that's kind of how we will, you know, transmit data from language to language in the same flow.

AI and the future of the team

So my question was around AI. I feel like it's all over the place right now. There's kind of a big push for everybody to spin up and become AI professionals as fast as we learn what AI is and as fast as the GPT models are being created. What are you doing in your office to kind of help your existing team scale up? Well, scale up and meet that demand.

So like, like I said earlier, I think we are slow to the party because as a company, we're not allowing analysts to use AI assistance yet. I don't think that's far away. Because just in personal usage, I find it to be incredibly helpful. I find the answers that I get out of LLM models to often be wrong or imprecise, but often helpful, right? It gets me closer. And then I can iterate. Okay, no, that's not the right question to ask. Usually by the time I get to the right question, I understand what the answer is. It's funny how that works, right?

So I do think that for senior or even for skilled analysts, that's going to be an incredibly valuable tool that's going to accelerate development time. You know, maybe not some of these people are like 60, 70, no, but maybe 30%, 20% faster to solve problems. I just don't understand how anybody can leave that on off the table.

But yeah, now for a junior analyst, right? Like when I was starting to rewind 10 years ago, I don't know if I would have known what to do with it. You know, like, I just I wouldn't know at all what questions to ask. So in my head, I haven't mapped out how people growing alongside of me, you know, how I'm people growing alongside these models, how that exactly is going to play out yet.

Remote work and internal networking

And in partnering with other teams, are you on site where you can meet at a water cooler or coffee machine? How do you network internally in the age of remote work?

Very difficult. And people don't agree on what's happening here. So we come into the office three days a week. I'm in St. Louis, and I live 25 minutes from the office. And St. Louis is a pretty easy trip for me. However, I work with people that are in Charlotte, work with people that are in New York City. So I have a little bit of both where I can, yeah, meet with people in person, really rely on that person to person communication to get things done. But I also have partners that are totally remote.

That is, I don't think there's a perfect solution to communication today. We learned that during COVID where we had to quickly learn how to do everything a different way. And now the problem is almost harder because it's not one way or the other, it's both. Everybody's trying to do both. And I think that just makes middle manager's job way harder.

So what I'm trying to do with my team is, yeah, it really depends on what the purpose of the communication is. If we have to solve a problem and it's challenging, I would prefer to be in person with an actual whiteboard. I really would. We're going to lock ourselves into a room, we're going to try to solve it. If you can't be there in person, yeah, we're going to do everything we can to get you there virtually as well.

Career lessons and patience

Thinking about your past 10 years at the company, so going from junior analyst to your role now as the vice president, were there any valuable lessons you learned along the way in progressing through the company?

Yeah, I think probably one of the larger things is patience, is understanding that when you work at a company of this size, things take time. Momentum has to be built over time. Relationships have to be sometimes built over time.

I am a just serial over-promiser or I promise things too soon. And then I have to explain why they're not there when I said they were going to be there. Because for me, I think I just, I'm a little bit of an optimist, that will be done in three months. And five months later, the project's still not done. So just, yeah, being more pragmatic about things, being more patient, that's probably been the biggest personal thing that I've had to grow into over time.

Portable skills across industries

Yeah, so I want to flip, I'd almost ask you the same question. St. Louis is kind of a health care hub, or at least we like to think we are. And I've thought, all these people are right there, data science. The skill set is portable. Honestly, I would take anybody who has a problem solving mindset, familiarity with some of these open source tools. I wouldn't care if you knew anything about a financial model, I would want you on my team. That's the state of where we are today.

Yeah, because for finance, at least where I am, they're just, we just have to model. It's statistical models. So it's, you know, whether it's predicting prepayments of mortgages, right? If a customer is going to refinance on their mortgage or not, we need some statistical confidence that they are or they aren't, based on how interest rates have changed over the last six months, right? Because we have to make, you know, we have to keep the bank running. We can't, if everybody refinanced their mortgage tomorrow, these serious issues. So, yeah, models, yeah, data, exploring just data and being able to tell data stories. I do, I think those skill sets are totally portable.

Model architecture and tooling decisions

So, yeah, we had that model is written in C++, it's got an API. So, we have several models that kind of, for our like models that we use, kind of what I would say in production, or they are used every day or every month, and they kind of feed other downstream reporting or they feed databases. We usually try to use compiled languages for that work. It doesn't have to be, but that's just kind of the culture here. We'll write that in C-sharp or C++ normally.

So, our prepayment and default models are written in C++. They feed a cash flow engine and evaluation engine that was originally written in R, but now is in C-sharp. And then though that data is written to a SQL database, right? Now, any reporting logic that we want to do or data analysis, we like to keep that flexible because that changes frequently, right? The models hopefully don't change very frequently, just the inputs to the models change or model assumptions can change. But the model logic themselves, just for governance purposes alone, should stay pretty, yeah, locked down.

It's a whole circus to get internal governance teams to sign off on model changes. It sucks. But anyway, our reporting logic, data analytics logic, we want that in R, we want that in Python and other loose, more flexible things. And we manage that like reporting code. Like reporting code, we use GitHub, like enterprise GitHub to manage all that.

GitHub adoption and Shiny

Yeah, I do too. I consider it its own skill. And it was hard for me to learn. It was not native really. It didn't click right away. It took a lot of time of brute force learning. And so that's what I tell my team. I'm like, this is going to be tough. I know that it's tough. Force, force it, force it, keep forcing it. We can do it wrong. Doesn't matter. But let's keep practicing and get so that we, and I would say we've done that for about six months now and the team now loves it. It is working fantastic.

So I totally agree that the upfront cost, the learning, it's intimidating. It's difficult. But I mean, man, once, now that we have it and we're branching off work and borrowing and re-merging and it's so slick. Yeah, I just, it's like working out. You just got to sometimes do it even when it's not fun.

Do you use Shiny? I've used Shiny in the past and right now the powers above me, probably the executive level, hear about Power BI all the time, right? And think that that's good. The same thing. It's hard for me to communicate upward or has been so far to say that they're not the same thing, that I'm a lot, I'm able to more dynamically put models into Shiny than I can into Power BI, right? Where I can look at different models and different versions of models and dynamically produce results that have kind of sophisticated calculations and things like that. So that's something that I'm continuing to advocate for.

Luckily, I've had some economists that I work with in the company that love R and love Shiny. And so they, a long time ago, got like a Linux box and they host a bunch of Shiny reporting on there for their kind of economic research. I'll borrow that from them every once in a while. Some space there. I think it should be one of the resources that any kind of mature operation has. It's just, especially now that Python plugs right into it. It's great.

Career advice and coaching

Um, I feel like my spiel earlier about trying to be collaborative because eventually technical skill doesn't scale anymore. I feel like that is kind of my really, that's my frame of thinking right now. And then I've received a lot of good advice and not, not always just even verbal. Sometimes it's just consistent support, um, coverage. I've had good bosses that have given me coverage to think about problems, um, not feel rushed to come to a conclusion. Um, and so I, I try to pass that forward, pass that on to my team. I don't want them to feel any pressure.

So if people find themselves in kind of a manager role or even a VP role or a director or whatever, I would say the best thing that you can do is try to provide some shelter for your team to take their time to, to, to find a better solution. Maybe not just the first solution because I think it pays dividends in the end.

I would say the best thing that you can do is try to provide some shelter for your team to take their time to, to, to find a better solution. Maybe not just the first solution because I think it pays dividends in the end.

I think it depends on who you're, who's the customer, who's, who's going to use it, who's going to benefit from it. If it's somebody that built this legacy process over years and this is their baby, the best approach is not to go, Hey, this is way better. You have to use this. This is going to crush your thing. Um, no, for that, I have to bring them along. It's gotta be a little bit of inception, right? You gotta, you gotta teach them a little bit about it, kind of bring them to water. Um, that's, that's how I found to be most successful in that place.

Um, I think if it is a boss or a manager and they're really more result oriented, then I think that's the language that you have to speak. Um, listen, you have a team of people that are dedicated to building this one report because it's so complicated and it, you know, if someone gets sick, you have to have coverage on it. Well, this thing that I built, it runs automatically. It has three inputs, you know, and it, it links to this, this, and this, and it's all tracked and version controlled and blah, blah, blah. You can, you can spin that story pretty easily to the people out there. And they've usually after the first 30 seconds, they've already decided, right?

Unfortunately, I think all my coaching, uh, for better or for worse, for sure, uh, is from, you know, playing sports. And then also I used to do like improv, uh, a lot. And so like that collaboration and teamwork and trying to, so, um, I feel like that's what I try to pull from is that background. Um, I probably should read more about managing people.

Um, however, lessons, I think I, I have learned to let go a little bit. I think a lot of people that come from a quantitative data science role, uh, they've spent so many times, so much time solving problems, thinking through how best to do things, how to organize things. I think we can be control freaks sometimes, and I am very guilty of that. And so learning to let go and learning to let other people make that call and really just trusting that it's good. And, and taking the result and moving on, you know, um, take the win and move on. Don't be a stickler on, on things. Don't burn a bridge for something that's worthless. You know, it's just a preference.

Would you, would you recommend improv to us for some data storytelling? Uh, I would recommend improv to anyone. Um, it's been a long time since I've done that, but man, it just forcing yourself to be a little bit more open, a little more accepting, um, listening, a lot of listening.

The year ahead

Oh man, I'm very excited, uh, about this year. Uh, we already have so much going on. I mean, I'm talking about a lot of these things, but we're working on with GitHub and, and you are using GitHub and, uh, we've been given license by my boss and my boss's boss to really, um, take, take the gloves off and just start chopping up processes. So don't get me wrong. I'm still trying to be polite when telling people, Hey, this is a fantastic, beautiful process that you've built over time. We're going to destroy it. Uh, no, really we're just going to change it.

Um, we've been given license to do that in a lot of different places. So for me, yeah, all of a sudden five problems became 40 problems. Um, now I have to have my team really churning and they're getting there. They're really like the last year was coaching, coaching, teaching, teaching, and I'm starting to really see it pay off and it's, I'm very proud of it. I'm very excited about it because, you know, my team is now doing things without me and solving things and I'm receiving now ready answers instead of having to jump into it with them. So it's fun. We're just, um, you know, I don't need to get into detail, but it's, you know, forecasting daily interest rate risk management, all of these legacy processes that are pretty fundamental to our business are getting a total overhaul. Pretty fun.

Thank you so much, Michael, for taking the time to join us today. And thank you all for the great questions as well. See a lot of comments in the chat right now about how much people enjoyed the conversation today. So thank you. Thank you. This was, this was exciting and I'm looking forward to joining going forward. We'd love to have you come back. If people want to connect with you, is LinkedIn the best place? Yeah, that's the easiest place to connect.

I just shared in the chat, but thank you all so much for joining. Hope to see you with us next week. Liz from AT&T is going to be joining us. Have a great rest of the day.