How to Transition from Software Engineer to ML Engineer - ML 111

Today we speak with a software engineer who is interested in becoming an ML engineer. Expect to learn about ML roles that are most attainable based on a strong software engineering skill set. We also cover some tangible strategies you can leverage to make the transition.

Special Guests: Charles Max Wood

Show Notes

Today we speak with a software engineer who is interested in becoming an ML engineer. Expect to learn about ML roles that are most attainable based on a strong software engineering skill set. We also cover some tangible strategies you can leverage to make the transition.

On YouTube

Sponsors

Transcript


Michael_Berk:
Welcome back to another episode of Adventures in Machine Learning. I'm one of your hosts, Michael Burke, and I do data science and machine learning at Databricks. And I'm joined by my co-host.
 
Ben_Wilson:
Ben Wilson, I build backend stuff at Databricks.
 
Michael_Berk:
And today we have a sort of unique episode. Our guest is Charles Max Wood, and he's actually the owner of the podcast. And it's just a little bit of a window into the man behind the curtain. Both Ben and I were guests on the podcast a while back, and we got invited back as hosts. And both of us figured why not? Should be fun. Talk about nerdy stuff once a week. And we've been doing it, I think, Ben and I for about a year now, and then Ben was actually a guest about a year before, and he's been doing it much longer than I have. So that's the origin story and today our guest is Chuck Charles Maxwood, great guy. Do you mind telling us a little bit about your background?
 
Charles Max_Wood:
Yeah, so where do I start? I got into Ruby on Rails back in 2005, 2006. I've pretty much been working in that area professionally for the last, how long has it been now? 16, 17 years. There was a while there where most of my focus, income, etc. was running the podcast network, right? So I was still writing software, but I was writing it for myself. to help me manage the podcasts. And then lately, things kind of, I had kind of a rocky period, 2019, 2020, right before COVID and then during COVID. And so I wound up working for Morgan Stanley for about a year and a half, and that was about the longest year and a half of my life. And then, I picked up a contract and I was working logistics, you know, just, it was a logistics company, so it was shipping and, and... Ecommerce and stuff like that Works for them for about a year and three months and that contract ended last week. So I'm kind of focusing all of my attention on top-end devs, which is the podcast network this show runs on and Yeah, one of the things that people keep asking me for is just Content more content on a couple of different topics and I also feel like this is one area that is going to continue to grow. I think over the last year with kind of people figuring out chat GPT and some of the other systems out there that people are starting to have more of an interest in machine learning. I also find that a lot of the lay people really don't understand what's going on with chat GPT.
 
Ben_Wilson:
Mm-hmm.
 
Charles Max_Wood:
And so or whatever else they're using right mid-journey or some of the other systems that you know have an engine behind them. So anyway what I'm looking to do into this is we've had a lot of conversations about how machine learning works. I kind of have a vague idea of how it goes, but I want to start actually building some machine learning systems, right? Some ways of making decisions or pulling information out of data sets. And so, and I want to start putting out videos and start showing people, hey, here's how you get into machine learning. Here's how you. Start building the engines and stuff like that and I've looked at some books and some courses And I'm sure they can get me started, but I thought hey, I know some guys And so I thought I'd just come on here and say, okay, so, you know, how do I get started? Right? How do I get rolling? You know, and yeah, give them my background is mostly in building web backends, some web frontend stuff. You know, yeah, how do I make that transition from here?
 
Michael_Berk:
Right. So we'll use this as a case study and potentially other software engineers looking to make a similar transition can leverage the information here to do
 
Charles Max_Wood:
Hmm.
 
Michael_Berk:
something similar. So Chuck is going to be this theoretical full stack engineer with an emphasis on back end. And then we'll talk about the different paths that you can take to go from the software engineering skill set into data science or even machine learning engineering.
 
Charles Max_Wood:
right.
 
Michael_Berk:
So that's where we're starting from. But Chuck, can you elaborate a bit on what the destination looks like 
 
Charles Max_Wood:
Um, well, I think a lot of people, when they start looking at machine learning, they just see basically a decision machine, right? It's something that, um, or sometimes it's, you know, like a recommendation engine or something like that, right? Where there's, there's more to it than just a full tech search. Um, and so, yeah, I guess the destination would be, yeah, how do I give intelligent feedback to people? You know, based on data that I have or data that I can find.
 
Ben_Wilson:
Yeah, I think... Based on your background and other listeners that are doing the type of stuff that you have done for years, I think people that work in web-based product applications are more closely aligned than anybody else in software to, I'm building a product and I'm solving a particular problem that people are going to use the day after I release it or the day that I'm releasing it. So it's like you're very... Focused.
 
Charles Max_Wood:
Hang on, I'm getting my phone call just sec.
 
Ben_Wilson:
Okay, pause
 
Charles Max_Wood:
Bye.
 
Ben_Wilson:
here.
 
Charles Max_Wood:
Bye.
 
Michael_Berk:
We'll just edit that out. You might have to restart pen.
 
Ben_Wilson:
Thank you. Bye.
 
Michael_Berk:
has life.
 
Ben_Wilson:
I'm doing the pyfunk implementation right now for the Transformers flavor. So having to go through every pipeline type that is supported and that is specifically for text and look at those NLP pipelines and then determine what all of the inference-based arguments that can be applied. Compiling. I'm not going to list of those, but making sure that we can store not the default arguments, but what are the keys that we could use for overrides.
 
Charles Max_Wood:
Alright, I'm back.
 
Michael_Berk:
Everything all good?
 
Charles Max_Wood:
Sorry about that. I knew that was coming. All
 
Michael_Berk:
Yeah.
 
Charles Max_Wood:
right, so where were you been?
 
Ben_Wilson:
So
 
Michael_Berk:
You
 
Ben_Wilson:
from...
 
Michael_Berk:
said maybe restart from the beginning of like, Chuck has been doing back end web for a while, it's product focused.
 
Charles Max_Wood:
Right,
 
Ben_Wilson:
Yep.
 
Charles Max_Wood:
it's a good alignment with, yeah.
 
Michael_Berk:
Okay, I will
 
Ben_Wilson:
3,
 
Michael_Berk:
mark the clip,
 
Ben_Wilson:
2,
 
Michael_Berk:
yeah.
 
Ben_Wilson:
1. Yeah, so from the background that you have and people that have been doing the things that you've done for so long. You're very aligned to product and you're very aligned to, you're gonna be building something that people are gonna be using, which is not the same way that, definitely not all software engineers think that way, or work in that way every day. Sometimes you're creating something that it might work, or you're gonna test it out and then adapt to it and change it. You'd still do that in the front end with products, but you're more finely focused on, I have a problem, I need to find tools that can solve it or build the tools,
 
Charles Max_Wood:
Thank you. Thank you.
 
Ben_Wilson:
but I'm going to always find the tools before building them Because it's faster and more reliable generally
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
the people that are building the models that you might use for AI, machine learning, they're not trained or programmed generally to think that way. Usually it's an abstract problem that is handed to a data scientist or a team of data scientists. The business says, I want us to do this thing. And it might be something a human is doing right now or a whole team is doing, or it's a functionality that just doesn't exist. If we go off of the most recent hype train and everybody's talking about these big LLMs, and they are super
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
cool and super useful. But let's say that we wanted to have the ability to have a front end web app or mobile app that we can do on the fly translation so that people can chat with one another in their native language without needing
 
Charles Max_Wood:
Hmm.
 
Ben_Wilson:
to translate it themselves So I can write in English
 
Charles Max_Wood:
Oh that'd be cool. Yeah.
 
Ben_Wilson:
You can write in Italian and Michael can write in German and to each of us. We're only seeing our native language and an
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
LLM can do that and they can I mean there's language models that are built specifically for that translation service and they're very sophisticated The data scientists when hearing about that problem they're say, well, I need to train a model, a deep learning model, a very big and complex one with potentially tens of millions, hundreds of millions or billions of parameters.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
If they have, you know, Scrooge McDuck money, they might build that architecture themselves, curate
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
a data
 
Charles Max_Wood:
Bye.
 
Ben_Wilson:
set or thousands of data sets and train from scratch on a new architecture. It'll take them a year, maybe two years to build all that and train it and vet
 
Charles Max_Wood:
All right.
 
Ben_Wilson:
it. or they're going to go and pull a pre-trained model from somewhere, take their own training data and augment that and run that training. But they're not thinking about the product. They're not thinking, how does this integrate with chat? Do I need to filter any words here? How do I format stuff if the translation is off? Or provide an uncertainty indicator to say, like the sentence you typed, I tried to translate it, I wasn't really sure
 
Charles Max_Wood:
Hmm.
 
Ben_Wilson:
if this is And so that's more like the product focused stuff. And when we're talking about the difference between data science and machine learning engineering, data science is all
 
Charles Max_Wood:
Hmm.
 
Ben_Wilson:
about that model and the training data. And it's a lot of failed experiments, a lot of time, a lot of chaos, and just a lot of statistics of evaluating results and measuring them. But then the product side of that is a whole different discipline. is that machine learning engineering component, which is, how do I serve this? Where do I serve this? Where does this model live in the cloud? How many times do I have to replicate this model and how many different VMs? What infrastructure do I need to build around a REST API? How do I handle fall back? How do I handle errors
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
and retries? All of that stuff is something that data scientists would never do. They just don't know how to do that generally, unless
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
they're a corn, which is rare.
 
Charles Max_Wood:
Right, so I guess my question is, is how do I approach this, right? Because you're talking about how the data scientist will pull in a lot of this data and things like that. And honestly, it's a little overwhelming to really think about, because I don't even know what kind of data you would put in for a natural language model like this. But...
 
Ben_Wilson:
And that's the trick
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
where a lot of companies who are thinking about applying these big models, these deep learning models, like, well,
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
we're gonna retrain it. You know, like retrain it on what? Like,
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
oh, there's open source datasets that we can use. Like, what do you think the original model that you're using trained on? Like that.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
So it's stuff like chat, GPT, open AI, they have a
 
Charles Max_Wood:
Huh.
 
Ben_Wilson:
repository of all the free, clean text datasets that are out there.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
for training. They scraped
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
all of GitHub in public repos
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
for training data for the code part of 3.5 and NGPT4 and GitHub co-pilot. But if you're trying to do what we're talking about, that language-to-language translation, that's not one model. It's one model
 
Charles Max_Wood:
All right.
 
Ben_Wilson:
that has a, it'll have different instances of that model with different configurations. So we would, in our training set, we would have a sentence in English or an entire paragraph in English. That
 
Charles Max_Wood:
Uh-huh.
 
Ben_Wilson:
exact paragraph translated in French, that exact paragraph translated in Italian, in German,
 
Charles Max_Wood:
right.
 
Ben_Wilson:
in whatever language you choose, that's your training set. But you need millions of those. And I'm talking even if you were to take all of the text in Wikipedia, if you ever tried to crawl the entire
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
site. It's a lot
 
Charles Max_Wood:
Nope.
 
Ben_Wilson:
of text.
 
Charles Max_Wood:
I'll bet.
 
Ben_Wilson:
If you were to take that, that's not even 1-1-100th of the volume of text required to do the iteration of training for GPT-3. So
 
Charles Max_Wood:
right.
 
Ben_Wilson:
the volume that we're talking is insurmountable, but then where do you get that data from? Is models garbage in, garbage out is a very true
 
Charles Max_Wood:
Yeah it
 
Ben_Wilson:
saying
 
Charles Max_Wood:
is,
 
Ben_Wilson:
that
 
Charles Max_Wood:
I'm
 
Ben_Wilson:
people
 
Charles Max_Wood:
sure.
 
Ben_Wilson:
say. So if you have a messed up translation in there. the model is gonna learn that association. And every
 
Charles Max_Wood:
Uh huh.
 
Ben_Wilson:
time you do a prediction, it's gonna get that wrong because these models are just pattern matching machines.
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
So if you give it the wrong pattern, it generates the wrong answer. So the key is how do you leverage front end skills to work in the space of data science or machine learning? One of the ways you can do that is, if you were to ask the data science team, like, hey, we need the ability everybody at the company to generate training data. Everybody who speaks French natively, we're gonna have them
 
Charles Max_Wood:
Thank you. Thank you.
 
Ben_Wilson:
do English to French translations or German to French translations if they
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
know German as well. But if the data science team is left there on the devices to create the system for generating that training data, what's it gonna be in? Excel, Google Sheets, that sucks. Like who wants to
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
open up a shared Google Sheet you know, oh, what row was I leaving off on? 80,362. Let me scroll down there. That sucks, right? And
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
an Excel sheet, when you have, when they get to a certain size, they're just going to bomb out the heap on your machine.
 
Charles Max_Wood:
Yep,
 
Ben_Wilson:
And you'd be like,
 
Charles Max_Wood:
yep.
 
Ben_Wilson:
all right, my computer crashed, or I can't save this file anymore. So
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
the best place to get involved in that, in my opinion, is use what you know and your solution to something like that would be, I'm going to take a full stack for a web app. I'm going to whip together a website in an afternoon. And all it's going to do is display, you know, the thing that I need to do the translation for and then a text box to the right of it and some buttons that allow me to move to the next one to save my translation so you could save a team weeks, if not months of effort and work by just building something like that.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
for you to do, but for them, they wouldn't even know where to get started.
 
Charles Max_Wood:
So I guess... You know, you said, yeah, I could just throw up some website that, you know, um, pulls together some of this stuff. And yeah, I mean, I could stick it into database because that's what I do all day long every day, right? Um, but yeah, so let's say that I have my own data set because it seems like the data sets part of what's kind of crazy overwhelming, you know, and, and I don't know if it's a large enough data set or whatever, right? But let's say that I have, um, you know, a data set of like all of the NPA packages out there or something like that, right? And, you know, and so I've pulled all that in and I want to recommend to people, hey, if you're using these three, maybe you want to look at this fourth one, right? Or things like that, right? So my question is, is, yeah, you know, let's say that I can find a data set that I want to use, like, how do I begin to build the model, right? And I know that there are systems out there where I can effectively take their model, you know, feed up self, but yeah.
 
Ben_Wilson:
So I guess where I was going with my previous answer was the best way to learn how to fit into that new profession or work with those teams
 
Charles Max_Wood:
Uh huh.
 
Ben_Wilson:
is to work at a company where you're embedded with them. So
 
Charles Max_Wood:
right.
 
Ben_Wilson:
the most high functioning data science or ML, departments at companies are the ones that, yeah, they have some data scientists, usually a lot of them. They'll have a bunch of ML engineers who are data scientists who learn how to code really well But then the big successful ones, they'll have six or seven front-engineers or full-stack developers
 
Charles Max_Wood:
right.
 
Ben_Wilson:
who are embedded to build tooling to assist.
 
Charles Max_Wood:
Aha,
 
Ben_Wilson:
But
 
Charles Max_Wood:
yep.
 
Ben_Wilson:
when you're in there, you're going to get exposed to all the things. And at first,
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
it'll be so overwhelming. But it's the same as if you take one of those data scientists, just one of them, and say, hey, you're going to attend our front-end stand-up. They're going to be like,
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
what is going on? about. I don't understand. So it'll seem
 
Charles Max_Wood:
Yeah
 
Ben_Wilson:
like that, but you'll be working so closely with the ML engineers more than the data scientists, building tooling to assist them or building the actual, like they have a model, they built the infrastructure
 
Charles Max_Wood:
Uh huh.
 
Ben_Wilson:
for serving it and you're building the
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
interface. They'll be like, Hey,
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
I'm in JSON land, I'm going to pass you JSON, you're going to give me back some JSON, I'm going to display
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
it. And then I'm going to take that, like both parts of that, and I'm going to write it to a database. because that's our training data for the future,
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
for the next iteration or the retraining. But
 
Charles Max_Wood:
All right.
 
Ben_Wilson:
in that collaborative environment, within six months, you'll know the tooling of how to build that model. And you'll probably have
 
Charles Max_Wood:
right.
 
Ben_Wilson:
access to the raw source code of how they did it. And you can just start poking around and running stuff and being like,
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
oh, that's how that works.
 
Charles Max_Wood:
So I like that. And I like the approach just because, I mean, that's how I've learned everything else pretty much in my career, right?
 
Ben_Wilson:
Mm-hmm.
 
Charles Max_Wood:
Because I've worked with, either worked on a team where we were doing it and so I had to pick it up or worked on a team where somebody was doing it and I could go and I could kind of pick their brain because usually people are pretty good about, hey, you're on the team, oh, you want to more deeply understand what we're doing here. Okay, here are the things that you need to know. You know, this is why we do it this way. it this way. And then I really, really like that. So I guess the question that follows to that is, how do you find those jobs? Right? Because, you know, if I go out and look at jobs now, you know, it's real easy for me to find a job saying, hey, we want another Rails engineer to come in and work on our back end, right? Or if I wanted to transition to front end and do something like React, you know, same deal, I can find those jobs pretty easy. What I'm not seeing a lot of is, want you to come in and interface with our ML team or be part of the ML team as an interface engineer. So how do you find those?
 
Ben_Wilson:
So one of the
 
Michael_Berk:
Let
 
Ben_Wilson:
things
 
Michael_Berk:
me...
 
Ben_Wilson:
you can do that qualifies you for not for data science work, nobody,
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
I'll tell you right now, nobody's gonna hire you as a data scientist. And you wouldn't wanna do that anyway, because it would be so frustrating of like, yeah, I know how to query data, I know how to manipulate data, I can do aggregations, I can do rollups, I can parse it.
 
Charles Max_Wood:
Thank you. Bye.
 
Ben_Wilson:
But if you're just said, if somebody's like, that recommends NPM models of like, hey, you're using these five packages. What are the four most complimentary ones? And then rank them by the one thing that JavaScript developers seem to care about most of all, which is what is the total package size for deployed artifact. And if you were given that task without any context and background, it'd be pretty overwhelming. Where do I
 
Charles Max_Wood:
right.
 
Ben_Wilson:
go? What do I even attempt to do? There's no documentation out there. I'm like, here's how you solve this exact problem. So I wouldn't try to apply for that. What I would try to do is look for those ML engineer positions because the job requirements are mostly what software engineers need, particularly full stack people that have done backend work.
 
Charles Max_Wood:
her.
 
Ben_Wilson:
It's like, well, how do you take, how do you set up like EC2 instances, how do
 
Charles Max_Wood:
Great.
 
Ben_Wilson:
you set up load balancers, how do you set up a rest API endpoint, and how do you put traffic protection modules in front of that. So setting up that infra, that's the way to get into those teams. Because the data scientists, they don't know how to do that most of the time.
 
Michael_Berk:
Right, so it's sort of a slow transition from doing software for whatever you're doing it now versus doing software for ML specific applications. Once you start picking up ML skill sets and ML knowledge, then maybe you could continue the transition to a full data scientist if you want. But I know Ben has thoughts on that.
 
Ben_Wilson:
So it...
 
Charles Max_Wood:
Yeah, he pretty much said don't do it. But yeah, I mean, that that's one thing though that I found in my career is that, you know, because I mean, even if you're just doing one technology like Ruby on Rails, right, I mean, you can do that for your career forever, at least you could so far. But you work on so many different apps have so many different requirements and concerns and things like that that. Yeah, like the core pieces of your job may remain the same. same, but you may be picking up other stuff anyway. And so I could see this as, you know, yeah, I get in, I start building, you know, support, I'm basically a support person for the ML engineers, as far as like getting their models and software out there where it can be used. And then as I get deeper and deeper and deeper, I may find my sweet spot. Oh, I went, I went way deep into the point where I, you know, was flirting with data scientist. And I got bored, where maybe it Hey, you know, I never knew that things could be ever so cool, right?
 
Ben_Wilson:
Thank you.
 
Charles Max_Wood:
You
 
Ben_Wilson:
Thank you.
 
Charles Max_Wood:
know, and so you keep going or you stop and you pull back and you say, Hey, wait a minute, I don't really enjoy this part. I really just want to be the engineer in charge of these kinds of things.
 
Ben_Wilson:
Yeah, and I haven't met anybody who I've known a bunch of people have tried to do that, who have gone from software engineering and they're like, before people are using the term machine learning engineer. And they get hired at a company as a data scientist because they're like, hey, you know how to code.
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
This is all code. So yeah, come build stuff with us. I've never known anybody who stayed more than two years in that discipline. process of development with that is not, it's such a departure from software engineering, like traditional. Okay, I write this code, I write my tests, I check my code in, I go through peer review, we get this merged into a, you know, into a main branch. That's not how it is with data science. It's, hey, I'm gonna try these eight different things, it's gonna take me three months of experimentation to I'm gonna retrain it on data 500
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
times
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
before I'm even ready to say, hey, I need some help deploying this. So everybody that I've known that has done that from software engineering has transitioned naturally to this pseudo, like these terms that people keep on throwing out that kind of annoy me, but the ML engineer, even
 
Charles Max_Wood:
Uh
 
Ben_Wilson:
though
 
Charles Max_Wood:
huh.
 
Ben_Wilson:
my freaking book is named machine learning engineering in action, But that sort of role of it's either a software engineer who's come into supporting ML, or it's a data scientist who's worked with software engineers to get good at writing code. So that department or that team of those people come from either side of that, and they each bring something very valuable to that team,
 
Charles Max_Wood:
Mm-hmm
 
Ben_Wilson:
because deploying these things is so much more complex that you can think of.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
They're insanely complicated. Just because there's no pattern to it. It's not like, oh,
 
Charles Max_Wood:
All right.
 
Ben_Wilson:
this is how we do a recommender engine. This is like the standard way that you deploy one of these. It's like, nah, I guarantee every company that has one in production right now does it differently. There's
 
Charles Max_Wood:
Well,
 
Ben_Wilson:
different
 
Charles Max_Wood:
that...
 
Ben_Wilson:
stacks, they're different.
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
It's really crazy.
 
Charles Max_Wood:
Well, that's the other thing is that, I mean, again, just going back to my web development experience, everybody has a slightly different stack. And even if you're using the same tools to deploy, a lot of times you're deploying with different dependencies, you're dealing with different database setups, you're using different libraries to give you different sets of functionality. And so what you're telling me doesn't surprise me at all, right, even if you're doing a standard sort of setup. I think as I've talked to some people I think the most close to standardized anything that I Run into is that some of them are using some of the cloud providers machine learning engines
 
Ben_Wilson:
Thank you.
 
Charles Max_Wood:
And so
 
Ben_Wilson:
Thank you.
 
Charles Max_Wood:
the way that they interface with that stuff looks more or less the same And then you know as far as like hey, we're gonna point at that. We're gonna use their apis We're using their libraries to put data in and take data out and then everything around it just You know is different and the way that they structure their data within it may actually be different too Just you know that kind of interface might be the thing that you know everybody has in common that's using it
 
Ben_Wilson:
And that stuff works fairly well for a mid-sized company. Like
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
you use an AWS, you're like, oh, we're just going to deploy our model artifact to SageMaker and we'll build a container
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
around it and we'll deploy it. No big deal. No company that has a million customers uses that.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
And the reason
 
Charles Max_Wood:
No,
 
Ben_Wilson:
is
 
Charles Max_Wood:
that makes
 
Ben_Wilson:
it's
 
Charles Max_Wood:
sense.
 
Ben_Wilson:
not because it doesn't scale. It scales really well. The reason that people don't use it is because you pay for that scaling. And if you start
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
doing budgetary math, you're like, hang on a second. The lift we got off this model is, you know, $500,000 a month in extra revenue.
 
Charles Max_Wood:
Huh,
 
Ben_Wilson:
And our
 
Charles Max_Wood:
right
 
Ben_Wilson:
AWS bill went up $2.5 million last month, shut it off
 
Charles Max_Wood:
right.
 
Ben_Wilson:
now.
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
So the only way that you can build that infrastructure that scales for ML is rolling your own. You're using open source tooling, you're using the clouds,
 
Charles Max_Wood:
right.
 
Ben_Wilson:
of course. But they need people to
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
come
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
in and help these teams build that out properly. And you
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
get exposed to all that cool data science stuff. You're like, oh, we're doing a language model and I created a chat bot that's advanced and I'm hitting this API. You can build some really cool stuff and learn at the same time. And that's it. I hope you enjoyed this video. I'll see you in the next one. Bye. Bye. Bye. Bye. Bye. Bye. Bye. Bye. Bye.
 
Charles Max_Wood:
Right. So, so yeah, and like you said before, right, I could just go look for machine learning engineer jobs and see
 
Ben_Wilson:
or MLops
 
Charles Max_Wood:
what's
 
Ben_Wilson:
engineer.
 
Charles Max_Wood:
at the ML ops. Yeah.
 
Michael_Berk:
Yeah, let me take a stab at this and I might add a little bit of flavor, but just sort of to add structure. So in my experience, there are like a variety of ML roles and then a variety of data science roles. There's
 
Charles Max_Wood:
Mm-hmm.
 
Michael_Berk:
also data analysts, data engineer and all them require different skill sets.
 
Charles Max_Wood:
right.
 
Michael_Berk:
And one of the reason that ML and quote unquote data science is so in demand is the skill sets are giant. So theoretically,
 
Charles Max_Wood:
Mm-hm.
 
Michael_Berk:
the Holy Grail ML engineer or data scientists would have engineering background, extremely strong data engineering background, pretty strong stats or pretty strong modeling or specialized in one or the other. And
 
Charles Max_Wood:
Mm-hmm.
 
Michael_Berk:
then also something that's often discounted is they need to be subject matter experts at whatever they're doing sometimes. So I've seen lots of very non-technical folks who build great models because they know the deterministic system structure that
 
Charles Max_Wood:
right.
 
Michael_Berk:
they're predicting against. And so there's a bunch of different ways to be space. If you're coming into this world from a software engineering perspective, you probably have strong software engineering, reasonably strong data engineering, and then probably are lower on the stats, predictive modeling, and then subject matter expertise. So
 
Charles Max_Wood:
Right.
 
Michael_Berk:
you should look for roles that cater to that, but give you an introduction to the other areas. So
 
Charles Max_Wood:
Mm-hmm.
 
Michael_Berk:
we were talking about product implementation at the beginning. That would be a very logical step. put your API token for chat GPT in, and then there's your translation model. But there's a lot of other things when serving that model that you have to think about. So maybe you need to track accuracy. Maybe you need to track how it impacts user behavior. Now you're starting to get into
 
Charles Max_Wood:
Hmm.
 
Michael_Berk:
the causal world. And then if you wanna go super technical, you can go into the ML infrastructure side, which is what Ben does, ML ops, ML infrastructure. And that stuff is really, really complex. based, but you have to sort of know the context of ML.
 
Charles Max_Wood:
Right.
 
Michael_Berk:
The other jobs which are like the prototypical data scientists, people often think of those as modeling specialists and frankly going to that from software engineering is a bunch of steps because they're just completely different skill sets and different processes
 
Charles Max_Wood:
right.
 
Michael_Berk:
as we've been talking about before. So Ben mentioned that like taking is a really good strategy and I frankly agree if you leverage the information in the skill set that you have to pick up other stuff that's a really good really good method because getting a data science job with a software engineering skill set it's hard.
 
Charles Max_Wood:
Mm-hmm.
 
Michael_Berk:
Does that make sense?
 
Ben_Wilson:
100%
 
Charles Max_Wood:
Yeah,
 
Ben_Wilson:
agree.
 
Charles Max_Wood:
it does.
 
Ben_Wilson:
I
 
Charles Max_Wood:
So,
 
Ben_Wilson:
think there's one other component that
 
Charles Max_Wood:
OK.
 
Ben_Wilson:
is a specialized flavor of data scientists. That
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
I've
 
Charles Max_Wood:
Bye.
 
Ben_Wilson:
talked to people who think that it's usually not people that have worked in industry in these groups, but it's like somebody who's still in school. He was like in a post-grad position or something
 
Charles Max_Wood:
Huh.
 
Ben_Wilson:
or they're undergrad. You're like, well, when I get to am I going to be like building my own models? I'm like, well, you're going to be applying architectures of libraries to build an implementation. So it's applied machine learning. Like, oh, I thought I was going to be building, like bespoke algorithms. Like, yeah, and like nobody does that. And I mean, people do it, but you're going to have to go
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
back to school for another eight to 12 years the foundations
 
Charles Max_Wood:
right.
 
Ben_Wilson:
of how you do like understand the structure of how these things work and you're going to be taking some very advanced math classes and some computer science classes that are very challenging in order to get that PhD and then you might get hired for at a company like Open AI or Google or Meta or LinkedIn where they have research
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
scientist groups that they're the ones of open AI and their research division,
 
Charles Max_Wood:
great.
 
Ben_Wilson:
Microsoft has a wonderful, amazing research division as well. But these are separate organizations within these larger organizations that they're just, they're tasked with sort of moving the line in technology, saying what's the next best thing. And they're, they're expected to write white papers constantly and get things published and a scientist scientist like a DSS like a true scientist those are the people that are working on that stuff and no like with
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
the exception
 
Charles Max_Wood:
Thank you.
 
Ben_Wilson:
of the huge tech and Getting hired within one of those teams at one of those companies is much harder than just getting hired at that company. So it's some of the highest bars of the highest bar in order to
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
get in there. And not a lot of people are involved in that. But I just want to add that as well. That's another side of this industry that is extremely rare. And there's not a lot of humans doing that right now.
 
Charles Max_Wood:
All right.
 
Michael_Berk:
So Chuck, we outlined a few sort of areas that typically a software engineer might go into.
 
Charles Max_Wood:
Right.
 
Michael_Berk:
When we're looking at your destination, what does it look like? Do you wanna be writing code for ML? Do you wanna be a full on data scientist that doesn't use the software engineering skillset, but instead use a subject matter expertise and statistical modeling, let's say, to build models? What are you interested in? And what are you interested in?
 
Charles Max_Wood:
Yeah, so I'm not so interested in necessarily the data scientist angle. I mean, I feel like to be competent in the machine learning, like, you know, whether it's, you know, building, using and implementing the models. I have to have some data science skills, right? I have to be somewhat competent that way. But, yeah, I mean, I'm more interested in, you know, yeah, building the system that my back end system can talk about. to and and use or you know building a system that you know other people other systems you know can also use. That being said you know it seemed like kind of the obvious way to learn these skills was to go and pick up a job right doing machine learning engineering. I have to say that the last two Morgan Stanley and you know, I loved the people I worked with, but I just didn't really enjoy working in a large organization like that. And some of the issues that were there really didn't appeal to me. And then I also, the last job I had, they actually got acquired by another large company. And like the last year, basically, of me working there, my stress levels were just off the chart because of the way that they operated. certain that I really want to go find a job, right, where I'm gonna pick this up. I think I'm a little more interested in picking some of this up myself or, you know, I know some people like Dabble in some of these models before they go a whole hog into moving to an ML team. And so, yeah, I guess that's my next question is, is can I do this without going and getting that big corporate job or that job at some company that thinks they need machine learning?
 
Ben_Wilson:
So my Socratic question to you is, how did you learn how to look at a Grails implementation of an entire full stack deployment of an app and know how to convert that to Rails in a couple of months?
 
Charles Max_Wood:
trial and error. I mean, we had a guy on the team for a long time that, you know, he'd kind of walk us through the groovy on Grails code, but for the most part, even then I just. I don't know, it was... It was still tricky to figure out, right? Cause I just did not have the depth of knowledge in how Grails worked, you know, and this is from my experience at Morgan Stanley. But yeah, you know, sometimes we just had to dive in and look at the code, right? And kind of puzzle it out. And so,
 
Ben_Wilson:
And that's how software engineers figure out how to implement something. If you're implementing something that's never been done before, you know, so it's lucky if you can, if they're like, hey, we wanna do this thing that exists on this other website or this other company does this thing, can you figure out a way to do that? We
 
Charles Max_Wood:
right.
 
Ben_Wilson:
really like that. Sometimes it's so popular and so common that you're like, there's an actual module for this that does pretty much most of this work, awesome. I'll just use that.
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
the other 80% of your work as a software engineer is, okay, there's no solution for this that I can just get for free, I gotta build this and I gotta figure out how
 
Charles Max_Wood:
right.
 
Ben_Wilson:
to do it and oh, there's this new library that, or this new language, this new stack for JavaScript or something that has this functionality. You know, professional software engineers gonna learn that in two weeks. You're gonna go through,
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
read the docs, play around with stuff and you're gonna understand that foundation's there. You know design principles, you know structures of code,
 
Charles Max_Wood:
right.
 
Ben_Wilson:
you know how it doesn't matter what language you're looking at, you're like, I know how to iterate through a list or an array.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
I know how to sort things. I know how to, but those fundamentals that you learn as a software engineer, data scientists don't learn that. They'd never need to know how to do that. So that skill set that you bring to that, not that team, that theoretical profession. So if you start
 
Charles Max_Wood:
Thank you. Bye.
 
Ben_Wilson:
digging into, hey, I want to do that NPM package recommender. You start looking for, like, type that question
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
in to Google and say, you know, machine learning, recommend items similar to other items. And then start
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
going down that rabbit hole of, instead of looking at blog posts, because News Flash 60, 70% of the ones about ML are and they're
 
Charles Max_Wood:
Ha
 
Ben_Wilson:
either
 
Charles Max_Wood:
ha
 
Ben_Wilson:
copying
 
Charles Max_Wood:
ha!
 
Ben_Wilson:
other people's stuff or they're just flat out wrong.
 
Charles Max_Wood:
That's true about a lot of the content
 
Ben_Wilson:
Yeah.
 
Charles Max_Wood:
out there in tech. Is it's like, okay, you know, I get that you had something that eventually worked, but nobody would build it that way if they had any clue how things go together.
 
Ben_Wilson:
Right. But you know how to look through those results and
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
L software engineers do. Like I just want to know what packages offer this. And you'd
 
Charles Max_Wood:
right
 
Ben_Wilson:
be like, Oh, SK learn, huh? Well, let me look at the hello world for that. Let me check it out.
 
Charles Max_Wood:
right.
 
Ben_Wilson:
Okay. Now, oh, they have an API for recommendations. I'm
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
going to do the, you know, take the example, run it locally on my machine, see what the results
 
Charles Max_Wood:
right.
 
Ben_Wilson:
are. And now I'm going to start reading the API docs. And then
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
each term that you hit in those API docs, you're like, I've never heard of this before. What
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
is this?
 
Charles Max_Wood:
What is this?
 
Ben_Wilson:
Look it
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
up, read it, and then test it. So I think software engineers can build models much faster than people from other backgrounds, just because
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
that's what we do when we're building stuff for
 
Charles Max_Wood:
right.
 
Ben_Wilson:
anything. But if you need to do the, like the super esoteric, where there's nothing that you find online about how to do this thing, that's
 
Charles Max_Wood:
Uh-huh.
 
Ben_Wilson:
when, that's when you call and be like, how would you approach this problem? Because it might be applying an ensemble of different approaches and doing something very unique that you need to have that foundation of experimentation with models
 
Charles Max_Wood:
right.
 
Ben_Wilson:
and algorithms to be able to construct something like that. What's your
 
Charles Max_Wood:
right.
 
Ben_Wilson:
take, Michael?
 
Michael_Berk:
Yeah, I have like 50 things to say. I'll try to limit to a couple. First to answer Chuck's original question of whether you need this super fancy job. Ben, I think was hinting at yes, and I would like to disagree. But one thing that I think you just can't get anywhere else is an understanding of the scale and the types of problems you will encounter. So I can download
 
Charles Max_Wood:
Fair.
 
Michael_Berk:
the iris data
 
Charles Max_Wood:
Yeah.
 
Michael_Berk:
set in R and run linear regression. And great, I'm a data scientist. Can I do that on a terabyte of data, serve that in real time, and then deal with all the problems associated with serving that in real time, and the product use case for it?
 
Charles Max_Wood:
Uh huh.
 
Michael_Berk:
So, a lot of these dummy examples, they can get you a sort of a false sense of confidence. And I've, from the more like academic people I've worked with, especially on the stats side. They freaking hate it when a computer scientist this comes in, it builds a model and it's like, look, it has 99% accuracy. Well,
 
Charles Max_Wood:
Yeah.
 
Michael_Berk:
is that the right kind of accuracy? Is
 
Charles Max_Wood:
Uh huh.
 
Michael_Berk:
that, is that what we really want to be serving? And it takes a lot of subject matter expertise to delve into what accuracy actually means, for instance. So it really, really depends upon the use case. Uh, and I think that you can get that without working the job, but it's so much more efficient if you do want to become a quote unquote expert, or at pretty good. It really helps to have a strong environment around you and in a playground where you have data to work with and resources to serve models and that type of thing. If you're rolling everything from scratch, you're going to be limited.
 
Charles Max_Wood:
Uh huh.
 
Michael_Berk:
But you definitely can pick it all up if you work hard and read a bunch of textbooks and papers. But that's my two cents on it. So you don't really need the job to be pretty good or at least solid but to really understand how to serve a machine learning model and how to build one, I don't know that you can do it, not on a job. Maybe in an academic setting, there's large data sets, but.
 
Charles Max_Wood:
right.
 
Michael_Berk:
It's tough.
 
Ben_Wilson:
I mean, it really depends on what problem you're trying to solve. This is an endorsement for doing potentially illegal stuff or anything, but
 
Charles Max_Wood:
All right.
 
Ben_Wilson:
you
 
Charles Max_Wood:
Thanks for watching. I'll see you in the next video. Bye.
 
Ben_Wilson:
can scrape websites, you can get data from the internet.
 
Charles Max_Wood:
right.
 
Ben_Wilson:
Don't take personal identifying information or anything and certainly don't violate terms of service, but there's data out there and your example was perfect, in my opinion. You're like, hey, NPM packages, how do I determine which ones are related? That's a data science use case, but your training data is out there. It's published freely available.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
What would you do to figure out which ones are similar? The naive approach would be scrape the website that hosts it. There's some sort of card data associated with each package. You know, the first paragraph of the read me or whatever, or something that tags that are associated with it. Scrape all that data and then clean it. And then once you have that, start looking into a graph traversal algorithm. It's like, hey, how many connections do I have in this graph between this package and other similar packages and their connections to one another? So that's just a knowledge graph query. But that's data science work. It's not using
 
Charles Max_Wood:
Mm-hmm.
 
Ben_Wilson:
air quote, a model to do that, but
 
Charles Max_Wood:
right.
 
Ben_Wilson:
a lot of stuff that's running in production considered AI isn't some concept of a model. By the way, models are just like numeric weights associated. It's
 
Charles Max_Wood:
right.
 
Ben_Wilson:
just metadata that's saved out that is applied to an algorithm that's making some sort of traversal decision or applying it to an equation. So... So, so, so, so, so, so, so, so, so, so, so, It's important not to, if it's like, oh, I'm not saving out like an XGBoost model. So I'm not doing ML. It's like, no, no, no. XGBoost is just a bunch of tree definitions for decisions that are being made. There's nothing super
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
fancy about it. The cool thing is how fast it is and how good it can be at doing predictions. But your interface to a graph database that solves that problem, that's ML. And it's about figuring out what are the, weights for that would be your threshold cutoff. So like how many connections do I need to return and which what's the threshold to say, hey, if this one npm package is connected to 30 other ones, very strongly,
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
do I want to return all 30 or do I want to just do
 
Charles Max_Wood:
right.
 
Ben_Wilson:
the top five or the top seven or you know, there's a lot of decisions to be made there. And that's actually what training in ML is doing is automating that process. And you can actually use an off the shelf optimizer that will do, you know, like use Bayesian methodology to figure out what those optimal values would be. And then you create your own model weights that you're saving off as JSON.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
So it's not
 
Charles Max_Wood:
Cool.
 
Ben_Wilson:
that daunting to solve
 
Charles Max_Wood:
right.
 
Ben_Wilson:
some of these problems. It's just more, how do you think through it? And do you have a buddy that you can ask when you get stuck? And that's super important. If you're doing an outside of company work, get some
 
Charles Max_Wood:
Uh
 
Ben_Wilson:
friends
 
Charles Max_Wood:
huh.
 
Ben_Wilson:
that know what they're
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
doing and that won't get annoyed at answering questions.
 
Charles Max_Wood:
You
 
Ben_Wilson:
Pro
 
Charles Max_Wood:
know,
 
Ben_Wilson:
bono.
 
Charles Max_Wood:
it's funny you say that because I've been, lately one of the things that I've been doing is coaching people on going kind of from junior to senior developer, you know, senior to whatever it is they wanna do beyond that, right? Whether they wanna be well-known or contribute to, you know, big things or speaker conferences or whatever. And that's what I tell people is go find some people that yeah, that you can be friends with that you can ask these questions of. And yeah, now I'm a little embarrassed didn't think of that in the first place, right? It was, hey, go make some friends and yeah, hey, I'm trying to do this and I'm running into this snag. And it's like, oh, right, because they've been doing it long enough that a lot of times it's, oh, well, yeah, you have to do this and this in order to make it work. Or sometimes it's, well, we need to know a little more about what you're doing, right? And so they'll ask you
 
Ben_Wilson:
Mm-hmm.
 
Charles Max_Wood:
the right questions. And some of the time it'll come out as you answer those questions. Oh, obviously this is the next right thing. And sometimes, you know, answer some of those questions, then they'll be able to point you in the right direction. So,
 
Ben_Wilson:
Люб.
 
Charles Max_Wood:
yeah, that's huge.
 
Ben_Wilson:
Yeah, and the only difference between doing that on your own versus doing that in a company is in a company, your friends are paid to be nice to you. Because
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
you know that that that team, your your team lead is like they're pretty motivated to make sure you finish that project. So they got to help you out. But if you're doing it on your own time,
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
you know, you'll just need a bigger network of people that you could have more You know, an asynchronous sort of, you know, Q&A with them. And there's some great sort
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
of public community channels out there on Slack and on Discord that you can join about ML. And some of them have industry professionals that are, okay, you know, been data scientists for 22 years, and
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
I'll answer questions for free, you know, maybe once a week. And then you have people that are ML engineers that come from software backgrounds. Like, hey, I was an engineer at Google for 12 years and working in their back end for ML serving. They
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
probably have the right answer for most of those sort of questions. So I would find that would seek those out and see if you can
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
just make friends.
 
Charles Max_Wood:
Makes sense.
 
Michael_Berk:
And one more point on that. If you have a goal in mind, often there are shortcuts. So if you're looking to build something, there's almost no, for example, our translation app or package recommender, there's no doubt implementations that get you 50 to 80% of the way there.
 
Charles Max_Wood:
Right.
 
Michael_Berk:
And so if it's just about implementation, you can do that blindly. If, I mean, it's dangerous, like you could be implementing stuff incorrectly, but the ML model itself can be a black box for a lot of projects.
 
Charles Max_Wood:
Thank you. Thank you.
 
Michael_Berk:
It's just when you need to interpret or leverage the results, then you have to get in a lot more low level and actually understand what's going on.
 
Charles Max_Wood:
Right. Well, and that's kind of what I want to cover in the videos I'm planning to put out is, hey look, you know, here's what we're putting in, here's what we're getting out, and then yeah, then dive in and say, and this is what it's doing. Right.
 
Michael_Berk:
Right. Yeah, treating models as inputs and outputs, and there's just a black box in the middle is actually really helpful. When I'm trying to
 
Charles Max_Wood:
Yeah.
 
Michael_Berk:
break down mathematical equations for an algorithm and the math is just too scary, I just am like,
 
Charles Max_Wood:
Yeah.
 
Michael_Berk:
this is a block. It has an input. It produces this output.
 
Charles Max_Wood:
Yep.
 
Michael_Berk:
I can continue.
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
I think the best way to start peaking into that box and really understanding all the components that you need to build a product that leverages ML is just build it. Build it, break it, fix it, ask people questions on it. And then if you have somebody that you know you can trust and they're not going to just hammer your Republic repo that you send a link to them to. but they're going to be constructive and be like, hey, I wouldn't do it this way. And here's a different way to do this, or here's a different way to think about that. If you can get safe code reviews from people who want to see you get better,
 
Charles Max_Wood:
Uh-huh.
 
Ben_Wilson:
the faster you build it, the better. Now,
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
that's how a lot of us that know a lot about this stuff, that's how we learned. We did it, you know, the hard way, but we didn't do the hard way in a vacuum. We did it the hard way by breaking stuff a lot, and I mean a lot,
 
Charles Max_Wood:
Yeah.
 
Ben_Wilson:
generating predictions for models that make zero sense. Or it's so bad that if people actually acted on the results out of these models, the company would be losing money if they've trusted that. But evaluating that, showing it to other people and then asking people from different disciplines, that's how I learned.
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
I asked some front-end developers, like, this payload that's coming out of this and they're like, what are you doing? No, that doesn't make sense. And I'm like, oh, maybe I need to think about this and then ask a data engineer. Like, hey, having a like a little bit of trouble with this data structure that's here, is this the right way to do this? And I'm like, dude, what, what planet are you from? Like, no, don't parse a tuple like that. Like, here's how you
 
Charles Max_Wood:
Right.
 
Ben_Wilson:
do this. I'm like, oh, that's the story of my entire professional career is just asking questions and not being afraid
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
of people being like, Dude, you're dumb. And that's how I've just learned over the
 
Charles Max_Wood:
Well.
 
Ben_Wilson:
years and remembered how nice people were to me when I was
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
constantly learning. So I try to pay that back to as many people as I can. Like, hey, I can't force you to feel stupid or not feel stupid
 
Charles Max_Wood:
right.
 
Ben_Wilson:
when you ask a question. But I'm not judging because I was super dumb and now I'm just slightly less dumb because I've learned this stuff over the years. And so as people understand that, and you can provide that feedback to them, it's like a, it builds this like healthy bond, which is a
 
Charles Max_Wood:
Yep.
 
Ben_Wilson:
two-way learning street, in my opinion.
 
Charles Max_Wood:
Yeah, well, one thing that I've learned is that most of the time people are pretty happy to answer your questions and help out. Right. I mean,
 
Ben_Wilson:
Mm-hmm.
 
Charles Max_Wood:
if I'm if I'm pushing something at them, it's going to take them hours to get, you know, get me, give me feedback or whatever. Sometimes people will let me know they just don't have time, right?
 
Ben_Wilson:
Yeah.
 
Charles Max_Wood:
Or, you know, they'll, hey, you know, I can't get to this now. I'll get to it later. But in a lot of other cases, you know, if it's something that they can, you know, look at my code for 10 minutes and give me feedback or look at my code for 10 minutes. and tell me how to get unstuck. You know, even if it's something really fundamental, most people are pretty good about, you know, letting me know what it is without giving me the and you should already know this, right? Because everybody's been down that learning journey. Everybody gets,
 
Ben_Wilson:
Oh yeah.
 
Charles Max_Wood:
you know, hey, I'm kind of new to this. And so I'm going to make some rookie mistakes. Or, you know, I'm going to not understand some basic thing that everybody who's been in minutes understands. And so, yeah, I almost never get that kind of feedback. I've gotten it at different jobs.
 
Ben_Wilson:
Yeah.
 
Charles Max_Wood:
You know, some of these last couple jobs I had, right? It's like, well, how do you not know this? It's in the documentation. And sometimes the answer is what documentation, right?
 
Ben_Wilson:
Uh...
 
Charles Max_Wood:
And so, you know, again, so sometimes the answer is just going to be, here's how you find your answer. But at the end
 
Ben_Wilson:
Yeah.
 
Charles Max_Wood:
of the day, yeah, it all, you know, it, you're not going to move forward and getting that kind of feedback. And yeah, people are kind of the ultimate hack to moving forward quickly.
 
Michael_Berk:
Yeah, so I'll summarize real quick. I know we're coming up on time.
 
Charles Max_Wood:
Yeah.
 
Michael_Berk:
There was a lot of a lot of really good stuff in here. I tried to capture it all, whether it's in my mind or my notes, but starting from the baseline, basically, we're looking to figure out how software engineers can move into the ML world. The ML world is absolutely giant, and we highlighted a few professions. So there's product implementation where you just leverage a existing model. and put it into your product. There's also data science modeling specialists quote-unquote that can be predictive, they can be causal, or they can be research based. And then finally, there's ML infrastructure or ML ops, where you actually build tools that other people leverage to run models or to serve them or to train them. And the skill set for all these includes software engineering, data engineering stats, other modeling, subject matter, it continues. So your current skill set and figure out what adjacent jobs have overlap but also have some ML skills that you'll pick up. So you can sort of think of it like a Venn diagram of what do you currently have and then what do you want to learn. And you can do this on your own but I think the consensus here is that joining a company is the fastest way to become really good.
 
Charles Max_Wood:
Thank you.
 
Michael_Berk:
But
 
Charles Max_Wood:
Thank you.
 
Michael_Berk:
that said, you can definitely do a bunch of great work on your own and build really cool stuff. And there are essentially two strategies. If you want a prescriptive guide, step one is first inventory or skill set. And then from that, you can pick a destination to move towards, or you can sort of look at a very high level of where you want to be. Actually, let me do that again. Uh, Jib, I'm marking the clip. So from a strategies
 
Charles Max_Wood:
Thank you. Bye.
 
Michael_Berk:
perspective, there are essentially two, and Ben and I were chatting about this yesterday actually. So first thing you need to do is inventory your skill set, figure out where you are. Once you know where you are, you can either decide to look where you want to end up or try to find the next best step. So if you wanna end up in, let's say, a senior ML engineering role, well, you can look at all the requirements for the job description, studying and then apply for the job and get it. Or a probably more healthy approach is to figure out what in your immediate surroundings you can leverage to slowly get towards your goal or your destination. And that goal can be nebulous. You don't
 
Charles Max_Wood:
Huh.
 
Michael_Berk:
really need to know where it is. So maybe using a combination is probably optimal, but leveraging your current surroundings and current skills and moving towards a general direction is probably the most efficient solution because you frankly can't predict two or three years after. at least I can.
 
Charles Max_Wood:
Right.
 
Michael_Berk:
So Chuck, if people want to learn more about you or Top End Devs, where should they go?
 
Charles Max_Wood:
I mean, topendevs.com is probably the easiest. I'm working on updating the homepage so that it's a little easier to figure out where to go to get what you want, but yeah, that's probably the best way. I'm also on Twitter at CmaxW. We have a masted on instance that's Chuck at topendevs.social. Yeah, those are kind of the easy ones. You can also email me Chuck at topendevs.com.
 
Michael_Berk:
Cool. Well, until next time, it's been Michael Burke and my co-host.
 
Ben_Wilson:
Ben Wilson.
 
Michael_Berk:
Have a good day, everyone.
 
Ben_Wilson:
Take it easy, we'll see you next time.
 
Charles Max_Wood:
Max out everybody.
Album Art
How to Transition from Software Engineer to ML Engineer - ML 111
0:00
55:18
Playback Speed: