WEBVTT

00:00:00.001 --> 00:00:03.500
Are you interested in data science, but you're not quite working in it yet?

00:00:03.500 --> 00:00:08.340
In software, getting that very first job can truly be the hardest one to land.

00:00:08.340 --> 00:00:13.560
On this episode, we have Avery Smith from Data Career Jumpstart here to share his advice

00:00:13.560 --> 00:00:20.000
for getting your first data job. This is Talk Python To Me, episode 455, recorded January 18th,

00:00:20.000 --> 00:00:21.080
2024.

00:00:21.080 --> 00:00:40.560
Welcome to Talk Python To Me, a weekly podcast on Python. This is your host, Michael Kennedy.

00:00:40.560 --> 00:00:45.640
Follow me on Mastodon, where I'm @mkennedy, and follow the podcast using @talkpython,

00:00:45.640 --> 00:00:51.620
both on fosstodon.org. Keep up with the show and listen to over seven years of past episodes

00:00:51.620 --> 00:00:57.940
at talkpython.fm. We've started streaming most of our episodes live on YouTube. Subscribe to our

00:00:57.940 --> 00:01:03.920
YouTube channel over at talkpython.fm/youtube to get notified about upcoming shows and be part of

00:01:03.920 --> 00:01:09.580
that episode. This episode is brought to you by Sentry. Don't let those errors go unnoticed.

00:01:09.580 --> 00:01:15.440
Use Sentry like we do here at Talk Python. Sign up at talkpython.fm/sentry.

00:01:15.440 --> 00:01:21.860
And it's brought to you by Posit Connect from the makers of Shiny. Publish, share, and deploy all

00:01:21.860 --> 00:01:27.640
of your data projects that you're creating using Python. Streamlit, Dash, Shiny, Bokeh, FastAPI,

00:01:27.640 --> 00:01:34.400
Flask, Quarto, Reports, Dashboards, and APIs. Posit Connect supports all of them. Try Posit Connect

00:01:34.400 --> 00:01:39.180
for free by going to talkpython.fm/Posit, P-O-S-I-T.

00:01:39.180 --> 00:01:44.800
Hey folks, before we jump in and talk about data science jobs and careers, I want to tell you

00:01:44.800 --> 00:01:50.680
really quickly about some awesome news. Back in February, I gave the keynote at PyCon Philippines.

00:01:50.680 --> 00:01:58.140
It was entitled The State of Python in 2024. Well, that is now out on YouTube. The team at

00:01:58.140 --> 00:02:02.340
PyCon Philippines did a great job. The video came out great. If you want to check out The

00:02:02.340 --> 00:02:07.060
State of Python in 2024, according to me, just click on the link in the show notes to watch

00:02:07.060 --> 00:02:11.740
it over on YouTube. Now let's talk to Avery. Avery, welcome to Talk Python To Me.

00:02:11.740 --> 00:02:15.160
Thanks so much. I'm so excited to be here and be part of the show.

00:02:15.160 --> 00:02:19.780
I'm excited to have you here as well. You know, one of the things that people reach out to me often

00:02:19.780 --> 00:02:26.300
is how do you get into data science? How do you get into programming? How do you get into Python?

00:02:26.300 --> 00:02:32.940
You know, I've been trying, or maybe they got a degree or they took some training program,

00:02:32.940 --> 00:02:39.940
bootcamp or something. And going from zero to one, I think is the biggest career step you have to make.

00:02:40.080 --> 00:02:45.340
That next job and the one after that, it only gets to be smaller steps, not bigger steps.

00:02:45.340 --> 00:02:49.840
And it's really tough because that first big step, you're brand new at it. You have no experience,

00:02:49.840 --> 00:02:54.860
right? It's your first data science job or your first programming job. And so hopefully we can

00:02:54.860 --> 00:02:59.380
give some folks out there a little bit of a hand up to help them make that jump.

00:02:59.380 --> 00:03:05.800
Yeah, totally. I like to show this graphic that says, it's a circle and it's a circle of text. And it says,

00:03:05.800 --> 00:03:11.580
I can't get a job because I don't have experience because, and then it restarts,

00:03:11.580 --> 00:03:15.980
I can't get a job. And that's the tricky part. It's like, how do you get a data science job when

00:03:15.980 --> 00:03:20.720
you have no data science experience? Because to get data science experience, that seems like you have

00:03:20.720 --> 00:03:25.920
to have a job as the prerequisite and vice versa. So it is very tricky. So happy to chime in on that

00:03:25.920 --> 00:03:26.100
today.

00:03:26.100 --> 00:03:32.340
The industry can take it too far. They can take it way too far. So a few years ago, there was a

00:03:32.340 --> 00:03:36.280
really funny tweet that went around back when they call them tweets. I don't know what they're called

00:03:36.280 --> 00:03:44.620
anymore. Sebastian Ramirez, the guy who created FastAPI, saw a job posting. When FastAPI was like a

00:03:44.620 --> 00:03:50.160
year and a half old, it said, you must have four years of experience with FastAPI to apply. He said,

00:03:50.160 --> 00:03:55.900
hey, look, I'm the creator of FastAPI and I'm unqualified for this job. What kind of world are

00:03:55.900 --> 00:03:56.520
we living in?

00:03:56.520 --> 00:04:01.980
Yeah. I don't want to live in that world, but that's unfortunately where we're at. That's so tough.

00:04:01.980 --> 00:04:06.220
And it's hilarious. These job descriptions are getting out of hand. That's for sure.

00:04:06.220 --> 00:04:08.420
Yeah. Well, with AI, it's probably not going to get better.

00:04:08.420 --> 00:04:13.400
We could talk about that more later. But before we get into that, let's just jump in with a little

00:04:13.400 --> 00:04:18.600
bit of background on you before we get to the topic. Tell us a bit about yourself. What do you do?

00:04:18.940 --> 00:04:20.160
How'd you get into Python? Things like that.

00:04:20.160 --> 00:04:27.620
Yeah, absolutely. So I'm currently a data science consultant and also a data science instructor.

00:04:27.620 --> 00:04:34.140
I run some online programs where I teach people to become data analysts mostly is what I'm focused on.

00:04:34.140 --> 00:04:39.260
But I also have this practice where I help companies solve data problems with different techniques.

00:04:39.260 --> 00:04:44.480
I started actually by studying chemical engineering in college in my undergraduate degree.

00:04:45.000 --> 00:04:50.660
And about a semester in, I realized, crap, I hate this. This is not for me.

00:04:50.660 --> 00:04:54.280
But I was a little on a little of a tough. Yeah. Do you agree? Have you felt something similar?

00:04:54.460 --> 00:04:59.160
I did a semester of chemical engineering as well. I thought, I love chemistry. I love math. Put them

00:04:59.160 --> 00:05:04.560
together. Somehow they don't go together. It's like ice cream and eggs or something. No,

00:05:04.560 --> 00:05:06.140
they don't go together for me at least.

00:05:06.140 --> 00:05:10.180
Yeah. It wasn't good for me either. I was just like, oh man, I'm actually not interested

00:05:10.180 --> 00:05:16.480
in refineries or like manufacturing. But I, like you, liked chemistry. I liked math. I thought this

00:05:16.480 --> 00:05:21.060
is perfect. But I quickly realized, oh man, I really liked this whole programming part that I get to do

00:05:21.060 --> 00:05:27.300
in MATLAB at the time when I was an undergrad. And I was on a time crunch to get through college kind of

00:05:27.300 --> 00:05:33.720
quickly through eight semesters. And the other issue I had was I didn't know what to do instead. It was

00:05:33.720 --> 00:05:37.940
like, I don't really want to study computer science. Part of the reason why is they kind of

00:05:37.940 --> 00:05:43.840
had this weed out course at the beginning, which you had to build Excel from scratch, basically like

00:05:43.840 --> 00:05:48.620
some sort of a spreadsheeting tool. And I was like, why would I rebuild something that already exists

00:05:48.620 --> 00:05:52.440
that I don't even like using in the first place? I wasn't really into it. So I didn't, I didn't know

00:05:52.440 --> 00:05:58.920
what to do. And luckily I was working as a lab technician at this company, the really cool company

00:05:58.920 --> 00:06:04.880
that makes the sensors that basically have the ability to smell. So they can sniff what's in

00:06:04.880 --> 00:06:09.300
the air and it has applications for finding drugs or bombs and airports and stuff like that.

00:06:09.300 --> 00:06:14.780
And there was a data scientist on staff and that data scientist was awesome. He was like showing me

00:06:14.780 --> 00:06:20.280
all these cool algorithms he was writing for these sensors. And then one day he got up and left and he

00:06:20.280 --> 00:06:26.000
left the company and we tried to hire another data scientist for like six months, but they were really

00:06:26.000 --> 00:06:30.520
expensive. We were a small company and none of them really wanted to move to Utah where I lived in

00:06:30.520 --> 00:06:33.800
Salt Lake City. And so we couldn't, we couldn't really find someone that would be able to do it.

00:06:33.800 --> 00:06:38.120
And so finally I was like, well, I really liked this programming stuff. And I, you know, the data

00:06:38.120 --> 00:06:42.500
scientist showed me a thing or two, maybe I could take a stab at this. And I started, I wrote like my

00:06:42.500 --> 00:06:46.980
first machine learning algorithm and I was like, oh my gosh, I'm addicted to this. And then I never

00:06:46.980 --> 00:06:49.440
looked back and had been data science since basically.

00:06:49.440 --> 00:06:55.100
What a great story. Yeah. I think, I think a lot of people fall into programming that way. And for some reason,

00:06:55.460 --> 00:07:00.720
not unexpectedly, but for some reason, a lot of people fall into Python that way as well. They're

00:07:00.720 --> 00:07:05.900
like, you know, I have a job and I got this thing I got to do. I just need a little bit more than maybe

00:07:05.900 --> 00:07:10.200
like an Excel spreadsheet or something and put it together. And you're like, actually, this is cool.

00:07:10.200 --> 00:07:14.700
After a while, like, this is cooler than what I've been doing, or maybe I'll make it a good part of what

00:07:14.700 --> 00:07:15.300
I do. Right.

00:07:15.300 --> 00:07:20.860
Yeah. A hundred percent. Even just making, it was in MATLAB, which is basically engineers version

00:07:20.860 --> 00:07:26.380
of Python or college version of Python 10 years ago. Right. And I made like tic-tac-toe and I remember

00:07:26.380 --> 00:07:29.620
playing tic-tac-toe against the computer. I think that's what it was. Or maybe it was,

00:07:29.620 --> 00:07:33.540
maybe it was Hangman. I can't remember. But I remember like the idea of like being able to play,

00:07:33.540 --> 00:07:38.800
to program games and play against the computer. And I built it. I was like, this is the coolest thing

00:07:38.800 --> 00:07:40.280
ever. I got to, I got to do more of this.

00:07:40.460 --> 00:07:44.780
Absolutely. You know, I think I've done some MATLAB too, when I was younger and it's not that

00:07:44.780 --> 00:07:49.660
different from Python, but it's, I think one of the big differences other than it just being like

00:07:49.660 --> 00:07:54.460
embedded in a big expensive app is it's not a general purpose programming language, right? You

00:07:54.460 --> 00:08:00.380
wouldn't go, you know, that was fun, but let me go build this website in MATLAB or let me create

00:08:00.380 --> 00:08:06.220
Airbnb and MATLAB or, you know, like there's, you just don't want to sort, Azure has this like

00:08:06.220 --> 00:08:08.860
self-prescribed limit to what you can do with it.

00:08:08.860 --> 00:08:13.740
That's one of the coolest parts about Python is it's really a Swiss army knife and you can pretty

00:08:13.740 --> 00:08:19.100
much do, I don't want to say anything, but pretty close to anything in Python, which makes it really

00:08:19.100 --> 00:08:23.660
neat. And obviously one of the huge limitations of MATLAB is one, it costs thousands of dollars,

00:08:23.660 --> 00:08:27.020
but two, you're right. It's not going to do cybersecurity for you. It's not going to build

00:08:27.020 --> 00:08:32.300
websites, but the syntax at the end of the day was, was really quick. It was, it was easy for me to

00:08:32.300 --> 00:08:35.980
transition from MATLAB to Python because the syntax isn't all that different.

00:08:35.980 --> 00:08:41.260
No, it's not all that different. More math focused, but pretty similar. So I think maybe that's a good

00:08:41.260 --> 00:08:46.220
place to start discussing and exploring the topic of your first data science job. And

00:08:46.220 --> 00:08:50.860
wouldn't necessarily plan on starting here, but let's, let's start with before you even necessarily know

00:08:50.860 --> 00:08:57.660
programming language, right? Maybe you've dabbled in MATLAB or you've dabbled in Excel or even dabbled in,

00:08:57.660 --> 00:09:02.700
I don't know, JavaScript or something. This thing we've been talking about with MATLAB and it applies to other areas as well,

00:09:02.700 --> 00:09:08.940
like through programming languages per se, like Julia or something like that, is how,

00:09:08.940 --> 00:09:16.220
if you invest your time into learning one of these things really well, like how broadly industry-wide

00:09:16.220 --> 00:09:21.420
of a skill, high demand skill is that going to be, right? If you learn MATLAB, you put yourself in a box,

00:09:21.420 --> 00:09:25.420
you learn a more general programming language, you kind of have more options afterwards, right?

00:09:25.420 --> 00:09:31.260
Yeah, totally. I think like the more broad of a language you learn, the more useful you are to,

00:09:31.260 --> 00:09:37.180
to more industries in general. But I might take that even a step further and just say, you know,

00:09:37.180 --> 00:09:43.340
learning MATLAB, not a whole lot of companies use MATLAB, but just like landing your first data job,

00:09:43.340 --> 00:09:48.460
going from zero to one is the hardest, learning your first language, zero to one is the hardest as well.

00:09:48.460 --> 00:09:52.940
And then once you have that first language, the next language becomes so much easier. So

00:09:52.940 --> 00:09:57.740
one of the first things I learned was MATLAB. And then I moved to Python and that was easier. And then

00:09:57.740 --> 00:10:02.540
I learned SQL and then I learned R and then I learned JavaScript. And every time I added like a new tool

00:10:02.540 --> 00:10:07.820
to my toolkit, it was quite, not almost, it was easy, but it got easier with each one. I think that's true

00:10:07.820 --> 00:10:12.940
with foreign languages as well. Once you learn one foreign language, then the third and the fourth become

00:10:12.940 --> 00:10:17.980
quite easy. At least that's, that's what I heard. I speak kind of through two and a half languages,

00:10:17.980 --> 00:10:21.500
but like I, there's people who speak like seven and they always say like the sixth and the seventh

00:10:21.500 --> 00:10:22.060
become easier.

00:10:22.060 --> 00:10:25.340
Yeah. You wonder how could you probably, because learning the first one is so hard,

00:10:25.340 --> 00:10:29.420
first foreign language. So you're like, well, how could you possibly take that on for this many

00:10:29.420 --> 00:10:32.300
languages? And it's that it's not the same challenge each time, right?

00:10:32.300 --> 00:10:32.860
Yeah, exactly.

00:10:32.860 --> 00:10:38.140
Yeah. So I think when people are considering getting into data science, they really want to consider

00:10:38.140 --> 00:10:42.540
what language they choose and where they go. Like you're coming out of a

00:10:42.540 --> 00:10:47.020
college program. You might feel like MATLAB or something like that's real popular. And yet

00:10:47.020 --> 00:10:51.740
that's because it's popular amongst professors who forced their students to do it. That doesn't

00:10:51.740 --> 00:10:57.020
necessarily mean that's the world, the broad worldview. What do you think about R? You know, both.

00:10:57.020 --> 00:11:03.020
I like R. I'm not, I sometimes troll R on LinkedIn. So I guess that's another thing I should say is I post

00:11:03.020 --> 00:11:08.700
a lot on LinkedIn, kind of a LinkedIn guy. And so a lot of the times, honestly, just for jokes and kicks

00:11:08.700 --> 00:11:13.180
and giggles, I'll kind of roast R on LinkedIn just to get the trolls angry in the comments.

00:11:13.180 --> 00:11:18.780
I've invented it. It's quite fun. It's quite a fun experience, but I'm not that big of a hater. I

00:11:18.780 --> 00:11:23.180
think that's really interesting about R versus Python is obviously a big debate in the data

00:11:23.180 --> 00:11:29.420
science community is R is kind of that does one thing really well. And it's getting a little less

00:11:29.420 --> 00:11:34.860
of that as like more packages and libraries are added to R, but R does the statistics and machine

00:11:34.860 --> 00:11:39.660
learning very well. But obviously I don't think once again, I don't know any websites, any like

00:11:39.660 --> 00:11:44.060
super functioning websites that are built on R. I don't know any cybersecurity that's really done

00:11:44.060 --> 00:11:49.580
done, done VR. So I think R does what it does well. The syntax sometimes is a lot easier for

00:11:49.580 --> 00:11:54.540
people to go from Excel, which a lot of people are more familiar with in the finance or banking world,

00:11:54.540 --> 00:12:00.460
for example. The syntax in R is a little bit more similar to those Excel formulas than it is to Python.

00:12:00.460 --> 00:12:04.540
So I think sometimes people have a little bit more success just because, oh, this kind of feels like

00:12:04.540 --> 00:12:10.140
our formulas are sorry. This feels like Excel formulas. And so people really get there. I think what

00:12:10.140 --> 00:12:14.700
you're kind of alluding to is if you're going to learn one skill, you might as well learn the one

00:12:14.700 --> 00:12:20.220
skill that's applicable to the most, the widest net, right? And so that way you're fishing in the

00:12:20.220 --> 00:12:27.260
biggest lake you possibly could versus in a smaller pond of R. I think that's worth looking at. And one

00:12:27.260 --> 00:12:31.180
of the things I actually really enjoy doing, because you know, you mentioned, oh, you might think MATLAB

00:12:31.180 --> 00:12:35.580
is popular because that's what the professors taught you. And there's actually not a whole lot of

00:12:35.580 --> 00:12:41.100
data out there about, well, what should you learn? So I don't know if you know who Luke Bruce is. He's a data

00:12:41.100 --> 00:12:45.580
analyst YouTuber. I was going to say YouTuber on YouTube, but that's kind of redundant on YouTube. And

00:12:45.580 --> 00:12:50.940
one of the things he's done is he's actually built this tool where he's web scraping thousands of jobs,

00:12:50.940 --> 00:12:56.780
different data jobs every week, and then displaying and analyzing the skills required for those jobs.

00:12:56.780 --> 00:13:01.340
So it's actually like a data driven way of saying, if you want to be a data scientist, what skills should you

00:13:01.340 --> 00:13:07.660
actually be focusing on as you go, as opposed to just listening to what a professor will say,

00:13:07.660 --> 00:13:13.820
or what a LinkedIn influencer will say, or what your bootcamp will say. Like actually getting some

00:13:13.820 --> 00:13:19.660
data on, I think is pretty neat. That is super cool. And I'm not familiar with Luke. So we're going to dig

00:13:19.660 --> 00:13:23.420
him up and put him in the show notes for later so people can check that out. For sure. Do you remember

00:13:23.420 --> 00:13:27.980
any of the trends you've recently talked about? It's datanerd.tech, I think is the website there.

00:13:27.980 --> 00:13:33.180
I look at it mostly for data analysts because that's who I work with the most. So I know the

00:13:33.180 --> 00:13:40.460
data analyst data very well. SQL is number one at 50%. I think Python is number two at like 30%.

00:13:40.460 --> 00:13:47.180
I think Python might've jumped it. Well, this is for all data positions right here. So the job title,

00:13:47.180 --> 00:13:51.180
you can choose. So which one do you think I should pick here? Data?

00:13:51.180 --> 00:13:53.820
Maybe data scientist. Data scientist. Yeah. Right.

00:13:53.820 --> 00:13:56.380
What's that? Yeah, you're right. Wow.

00:13:56.380 --> 00:14:04.060
Whoa, Python 69%. Look at that. That's huge. So like, that's even, that's even what? 20% more than SQL,

00:14:04.060 --> 00:14:07.020
which a lot of people are like, if you were going to be a data scientist, you have to know SQL.

00:14:07.020 --> 00:14:11.660
Yeah. If you look at the job descriptions, Python's mentioned a lot more. So if you're going to learn,

00:14:11.660 --> 00:14:15.420
if you're brand new and you're going to learn one, you might as well start with Python. Because that's

00:14:15.420 --> 00:14:18.460
probably the most in demand skill that there is right now for a data scientist.

00:14:18.460 --> 00:14:22.860
Yeah. And it's pretty easy, right? It's not like, well, why don't you just learn C++ for

00:14:22.860 --> 00:14:26.700
embedded devices? You're like, you know what? Maybe I'll pick something else to start with. Right. But

00:14:26.700 --> 00:14:31.020
you know, Python's pretty easy. I agree with you. I think Python's great. I actually think,

00:14:31.020 --> 00:14:35.980
I think SQL is probably easier to learn if I'm being honest, because really, especially for like

00:14:35.980 --> 00:14:40.380
data science stuff, there's only about like 20 commands that you need to know in SQL. But it's,

00:14:40.380 --> 00:14:44.780
once again, SQL's a lot more, there's no websites built on SQL. I'll tell you that much. So

00:14:44.780 --> 00:14:46.380
it's a lot more limited on what it can do.

00:14:46.380 --> 00:14:52.060
It's a skill, but not the language. It's not enough on its own, generally. I mean,

00:14:52.060 --> 00:14:57.100
you can do reports and quite a bit with it. But you know, it's like, when you see these programming

00:14:57.100 --> 00:15:02.700
popularity, like what's the most popular language? Oh, look, CSS is the third most popular. That's not

00:15:02.700 --> 00:15:06.700
a language. That's a thing that you use with other languages, right? Like use it with all the other

00:15:06.700 --> 00:15:11.180
languages. That's why it's high up. But that doesn't mean it's high in demand. Exactly. It's just like

00:15:11.180 --> 00:15:12.780
table stakes, you know? Yeah.

00:15:12.780 --> 00:15:17.020
So you kind of got to distinguish table stakes from like picking an area, I think.

00:15:17.020 --> 00:15:22.700
That's totally true. And really, I think Pythonistas could make the argument that there's

00:15:22.700 --> 00:15:28.060
really nothing in SQL that you couldn't do in Python. That's a little somewhat true,

00:15:28.060 --> 00:15:32.940
true depending on data size and stuff like that. But regardless, there is ways that you can do

00:15:32.940 --> 00:15:36.140
most of the SQL commands in Python one way or another. Yeah. Yeah.

00:15:36.140 --> 00:15:41.980
It could be when I first became a data scientist, I didn't even know SQL and I was doing SQL commands

00:15:41.980 --> 00:15:47.020
or I was doing the aggregations or the where functions or the window functions using Python.

00:15:47.020 --> 00:15:51.260
So you definitely can. As long as your data is not like super big, then you'll totally be fine.

00:15:51.260 --> 00:15:57.660
Right. Like some kind of generator or even slices or yeah, things like that, right? List comprehensions,

00:15:57.660 --> 00:16:02.940
set comprehensions, all that kind of stuff. Kind of like, gosh, I really wish, a little bit of a

00:16:02.940 --> 00:16:08.620
sidebar, but I wish like list comprehensions and all those things had just a few more SQL features,

00:16:08.620 --> 00:16:14.060
right? Like in a list comprehension, I say, give me this thing, maybe give me this property of this class

00:16:14.620 --> 00:16:20.620
modified, like give me the user's name, uppercase. Right. So that's like select. And then for thing

00:16:20.620 --> 00:16:27.020
in collection, that's like from table or whatever. Right. And then you have the where clause with the

00:16:27.020 --> 00:16:33.820
if statement, but boy, wouldn't it be cool to have like a sort also in there and other things like that,

00:16:33.820 --> 00:16:38.460
you know? Oh, well, totally. It's so close. The cool thing is, is if you want that sort,

00:16:38.460 --> 00:16:43.740
it's what one extra line. Like it's, it's not, it's not too bad. So it, Python, I mean,

00:16:43.740 --> 00:16:47.820
I don't want to say this necessarily to hate all, to make all the data scientists and SQL lovers

00:16:47.820 --> 00:16:52.540
mad, but, but really Python can do a lot of the things that SQL that's for sure.

00:16:52.540 --> 00:16:53.340
Yeah, that's for sure.

00:16:53.740 --> 00:17:00.380
This portion of talk Python to me is brought to you by Sentry code breaks. It's a fact of life with Sentry.

00:17:00.380 --> 00:17:06.860
You can fix it faster. As I've told you all before, we use Sentry on many of our apps and APIs here at

00:17:06.860 --> 00:17:12.780
Talk Python. I recently used Sentry to help me track down one of the weirdest bugs I've run into in a long

00:17:12.780 --> 00:17:19.340
time. Here's what happened. When signing up for our mailing list, it would crash under a non-common execution

00:17:19.340 --> 00:17:25.100
past, like situations where someone was already subscribed or entered an invalid email address or

00:17:25.100 --> 00:17:32.460
something like this. The bizarre part was that our logging of that unusual condition itself was crashing.

00:17:32.460 --> 00:17:39.020
How is it possible for her log to crash? It's basically a glorified print statement. Well, Sentry to the

00:17:39.020 --> 00:17:44.300
rescue. I'm looking at the crash report right now, and I see way more information than you'd expect to

00:17:44.300 --> 00:17:48.860
find in any log statement. And because it's production, debuggers are out of the question.

00:17:48.860 --> 00:17:56.700
I see the traceback, of course, but also the browser version, client OS, server OS, server OS version,

00:17:56.700 --> 00:18:01.660
whether it's production or Q and A, the email and name of the person signing up. That's the person who

00:18:01.660 --> 00:18:06.220
actually experienced the crash. Dictionaries of data on the call stack and so much more. What was the

00:18:06.220 --> 00:18:14.300
problem? I initialized the logger with the string info for the level rather than the enumeration dot info,

00:18:14.300 --> 00:18:20.220
which was an integer based enum. So the logging statement would crash saying that I could not use

00:18:20.220 --> 00:18:27.820
less than or equal to between strings and ints. Crazy town. But with Sentry, I captured it, fixed it,

00:18:27.820 --> 00:18:33.900
and I even helped the user who experienced that crash. Don't fly blind. Fix code faster with Sentry.

00:18:33.900 --> 00:18:39.340
Create your Sentry account now at talkpython.fm/sentry. And if you sign up with the code

00:18:39.340 --> 00:18:46.060
TALKPYTHON, all capital, no spaces, it's good for two free months of Sentry's business plan,

00:18:46.060 --> 00:18:49.900
which will give you up to 20 times as many monthly events as well as other features.

00:18:51.900 --> 00:18:57.660
Probably the biggest, it's a bit of a diversion, but the biggest similarity to that I've seen in

00:18:57.660 --> 00:19:04.460
the languages is C#'s link where they actually have almost all the query operators, including

00:19:04.460 --> 00:19:09.580
joins and stuff like that built into the programming language. I'd love to see more of that kind of

00:19:09.580 --> 00:19:13.420
inspiration into Python, but you know, that's all right. It's still really good. I've got a lot of

00:19:13.420 --> 00:19:17.900
cool SQL-like features, but you're right. Once you are no longer working with data and memory,

00:19:17.900 --> 00:19:24.700
or you want indexes, right? Like this concept of indexes is not sufficiently well understood. I think

00:19:24.700 --> 00:19:28.940
every time I hit a website that takes five seconds to load, I'm like, somebody is not doing all the

00:19:28.940 --> 00:19:34.220
things they should be doing. I just know it. That's totally true. What about SQL? You know,

00:19:34.220 --> 00:19:40.460
let's talk about that for a bit, right? The SQL, the query language or databases and other things,

00:19:40.460 --> 00:19:47.580
there's ways to SQL query, not just relational databases. But you said you got away with not

00:19:47.580 --> 00:19:52.300
quite learning that, but do you think if you could start over, maybe making an effort to learn that

00:19:52.300 --> 00:19:56.780
would be really valuable? Like how, how important is this a thing in the beginning of your career?

00:19:56.780 --> 00:20:03.100
The interesting thing, you know, about landing a data job is your skills only plays, I say,

00:20:03.100 --> 00:20:09.020
a third of the role. Your portfolio or the way that you portray your skills and your network,

00:20:09.020 --> 00:20:12.460
I think are the other two thirds and they're actually more important than your skills. And that's

00:20:12.460 --> 00:20:17.260
kind of how I got away with not knowing SQL and not even being, to be honest, that good at

00:20:17.260 --> 00:20:24.060
Python at the time was because I used my network to be in the situation to get my lab technician job

00:20:24.060 --> 00:20:28.700
in the first place. And then once again, I use that same network, in this case, my coworkers,

00:20:28.700 --> 00:20:33.980
to land that first data scientist position after we couldn't hire anyone. And if I would have been

00:20:33.980 --> 00:20:39.420
applying externally for that role, chances are I wouldn't have gotten that role. I probably didn't

00:20:39.420 --> 00:20:43.900
know enough at the time to land that type of a role, but because they knew I was hardworking,

00:20:43.900 --> 00:20:49.180
they knew I wasn't like a total idiot and I really liked to learn. They took that chance on me. It

00:20:49.180 --> 00:20:53.900
paid off really well for them because at the time I was still in college. And so I wasn't getting paid

00:20:53.900 --> 00:20:58.460
that much. And I was getting, I was not getting paid like a data scientist, but I was getting results like

00:20:58.460 --> 00:21:03.260
a data scientist for them. So I think it was, it paid off for both of us. But I think if that was an

00:21:03.260 --> 00:21:07.500
external job and I applied for it, I probably didn't have enough skills for it. So I definitely think

00:21:07.500 --> 00:21:12.620
learning SQL, if you want to land data science job, isn't a bad place to start, especially because,

00:21:12.620 --> 00:21:17.420
like I said, there, I mean, any programming language, I like to think of like the iceberg,

00:21:17.420 --> 00:21:21.740
kind of like the Titanic, right? There's the parts that you see, and then there's the parts that you,

00:21:21.740 --> 00:21:26.860
that you don't even know that you, that are there. And, and really you could spend the rest of your life

00:21:26.860 --> 00:21:31.500
trying to master SQL or the rest of your life trying to learn Python. But the cool thing is,

00:21:31.500 --> 00:21:34.620
is a lot of the time you only need that top little bit that's sitting at the,

00:21:34.620 --> 00:21:40.060
the top of the surface of the water to actually get stuff done. And so for SQL, I think that's like

00:21:40.060 --> 00:21:45.420
20 commands. And I think you could learn it honestly in like a month, you could learn those,

00:21:45.420 --> 00:21:49.980
those 20 commands pretty easily, but it worked out for me. And I didn't have to use it that much

00:21:49.980 --> 00:21:54.620
at the time until I was probably about almost three years into my job. And I actually had switched jobs

00:21:54.620 --> 00:21:58.940
to a bigger company. The other thing that I was working for a smaller company where we didn't have a ton

00:21:58.940 --> 00:22:05.020
of data. So we could use CSVs kind of as our, our database, which is not great practice. But when I,

00:22:05.020 --> 00:22:09.340
when I eventually became a data scientist at Exxon mobile, I was going to say they didn't use Excel as

00:22:09.340 --> 00:22:14.460
a database, but they still did. But the point is they had much larger SQL databases with hundreds of

00:22:14.460 --> 00:22:17.740
thousands, actually millions of rows of data that I had to query.

00:22:17.740 --> 00:22:22.620
Yeah. Then you gotta be really, you need to understand it at a much deeper level. You're

00:22:22.620 --> 00:22:26.700
like, if you do a query like this, it's going to be super slow. But if you do it like that,

00:22:26.700 --> 00:22:30.060
it can use the composite index for the sort and then blah, blah, blah, blah. All right. Then

00:22:30.060 --> 00:22:33.740
you're getting to the bottom of the iceberg in SQL, or maybe not the bottom,

00:22:33.740 --> 00:22:37.500
maybe like the middle chunk under the water, but there's so much to learn for both of them.

00:22:37.500 --> 00:22:42.300
Amir at the audience asks, you know, like when you talk data job, like what kind of jobs are out

00:22:42.300 --> 00:22:46.700
there? Right. So we talked to both about how we did chemical engineering and then we saw like

00:22:46.700 --> 00:22:49.420
chemical factories, like, yeah, I don't really want to work here anymore. I'm out.

00:22:49.420 --> 00:22:55.740
So thinking about like, well, what are the kinds of jobs you do? I think that's really important because

00:22:55.740 --> 00:23:02.220
it's easy to get focused in on like the FANG companies. Like I want to work for like some super

00:23:02.220 --> 00:23:07.660
big tech company. I want to move to San Francisco and like that, that, that, right. Like there's not just

00:23:07.660 --> 00:23:12.140
plenty of other jobs, but the opportunities, just like you described, and as well as

00:23:12.140 --> 00:23:17.260
like my first job, I worked at a company that had like eight people and it was awesome. Right.

00:23:17.260 --> 00:23:22.620
They didn't expect me to be, you know, running Kubernetes clusters and doing all sorts of great.

00:23:22.620 --> 00:23:26.140
They're just like, I need you to make this thing happen. Can you do like, I'm pretty new,

00:23:26.140 --> 00:23:30.700
but that thing I can make that happen. Like, let's go. Right. And I feel like the possibilities

00:23:30.700 --> 00:23:37.180
to get in, especially with these maybe more niche type of industries and companies might even be easier

00:23:37.180 --> 00:23:41.980
for a first job. People seem to be really obsessed with, with the FANG. And I don't know if that's

00:23:41.980 --> 00:23:46.300
like a societal thing, or if it's just, those are the companies that we use a lot. And so we're

00:23:46.300 --> 00:23:51.500
excited about them, but yeah, there's so many more data jobs outside of FANG than there are inside of

00:23:51.500 --> 00:23:57.100
FANG, even though there's, there's quite a bit inside of FANG. And oftentimes those roles can be

00:23:57.100 --> 00:24:02.300
much more interesting and you can do a lot bigger of an impact. When, when I was working at the small

00:24:02.300 --> 00:24:08.540
company, VaporSense, I like, I had so much power. I didn't even realize it. I had such a big effect on the

00:24:08.540 --> 00:24:14.700
company. I was presenting to, you know, Fortune 500 companies and what I did really made a difference.

00:24:14.700 --> 00:24:20.460
And when it came to the point where ExxonMobil offered me to go be a data scientist for Exxon,

00:24:20.460 --> 00:24:26.220
I said, Oh, I want to go work for the big company with the nice desk and the nice laptop and, you know,

00:24:26.220 --> 00:24:31.820
try something new. And when I got there, I really, I had some pretty cool opportunities when I was at

00:24:31.820 --> 00:24:36.620
ExxonMobil, but ultimately I left pretty shortly after two years of being there because I just felt like a

00:24:36.620 --> 00:24:40.620
cog in the machine and I didn't feel like I was actually making a difference. And that was really

00:24:40.620 --> 00:24:45.820
important to my work satisfaction of like, is what I'm doing being used? Is it being used to better the

00:24:45.820 --> 00:24:50.300
world? Do I feel valued? And the answer was kind of no for me when I was there. So there's definitely

00:24:50.300 --> 00:24:54.220
a trade-off between the small companies and the big companies, but also to go back to your original

00:24:54.220 --> 00:24:59.820
question, there's so many freaking roles in the data world that you're not even thinking of that. Like,

00:24:59.820 --> 00:25:04.140
I'm not even thinking of, I saw a new one the other day when I was helping one of my students.

00:25:04.140 --> 00:25:08.060
It was like, it wasn't data janitor, but it was something like that where I was like, I don't

00:25:08.060 --> 00:25:12.860
even know what that role is, but there's, there's so many roles. When I was, when I was a data scientist,

00:25:12.860 --> 00:25:19.180
VaporSense, the small company, my actual title was junior chemometrician, which basically means

00:25:19.180 --> 00:25:24.060
you're doing data science with chemistry. When I was at ExxonMobil, when I was first there,

00:25:24.060 --> 00:25:29.020
I was doing data science, but my actual title was optimization engineer. And so there's so many

00:25:29.020 --> 00:25:33.660
titles that we don't even think to search of, or even to look up, but those are all data science

00:25:33.660 --> 00:25:37.820
roles. I was doing machine learning every day in both those roles. And you would maybe never guess

00:25:37.820 --> 00:25:42.700
from those titles. Yeah. You would never guess. No, that's awesome. What machine learning libraries,

00:25:42.700 --> 00:25:46.220
frameworks were you using? At VaporSense, once again, because it's a smaller company,

00:25:46.220 --> 00:25:51.020
I had a lot more say in what I was doing. We were building a bunch of machine, we were building

00:25:51.020 --> 00:25:56.700
classification models to basically to take the data from our sensors and sniff if something was in the

00:25:56.700 --> 00:26:02.940
air. Sometimes that was a yes, no, like, oh yes, there is ammonia in the semiconductor factory and

00:26:02.940 --> 00:26:09.420
that's bad. So that's a yes classification kind of binary, right? Other times it was, what drug is this?

00:26:09.420 --> 00:26:15.420
Is this meth or is this heroin? One of the use cases we had was, this is binary once again, but is this

00:26:15.420 --> 00:26:20.380
recreational marijuana or medicinal marijuana? And can we tell the difference between, between those?

00:26:20.380 --> 00:26:26.780
So we are usually using classification models, usually built in scikit-learn in Python, the majority of the

00:26:26.780 --> 00:26:32.700
time there. When I was at Exxon, we had a lot less say, like the data scientists had a lot less say in

00:26:32.700 --> 00:26:39.340
the decision making process. We were doing a lot of multivariate linear regression with a lot of crazy

00:26:39.340 --> 00:26:44.220
hacks and transformations kind of in the meantime for one of my positions there. And then the other time,

00:26:44.220 --> 00:26:50.220
the other position I did there, we were doing a lot of auto ML using PyCaret and letting it kind of

00:26:50.220 --> 00:26:54.700
decide what type of models to do. So. Okay. The unsupervised learning type stuff, huh?

00:26:54.700 --> 00:27:00.460
It was awesome. It was really fun to, to, I love PyCaret because it's like, okay, go make 25 models and

00:27:00.460 --> 00:27:03.820
tell me which one's the best. It's like, takes, makes my job easy, I guess.

00:27:03.820 --> 00:27:08.940
We're going to be creative with sheer numbers. That's how we're going to come up with a solution.

00:27:08.940 --> 00:27:09.980
Got it. Exactly.

00:27:09.980 --> 00:27:16.060
Well, Diego is asking like, what are some of the common stats methods as in mathematical type stuff

00:27:16.060 --> 00:27:22.140
you would use? So one of the things I know that some people getting into programming think is you've

00:27:22.140 --> 00:27:26.860
got to be really good at math to be a programmer. I think you've got to be really good at logical

00:27:26.860 --> 00:27:33.020
thinking, but you need to almost zero math be like a web developer. You know, we're talking percents

00:27:33.020 --> 00:27:40.060
for CSS, incrementing numbers from one to two to two to three for IDs and stuff like that. But for

00:27:40.060 --> 00:27:45.100
data science, maybe there's a little bit more like, where do you see that kind of background?

00:27:45.100 --> 00:27:49.500
I like what you said, you have to think logically, but maybe the math isn't as important. And I think

00:27:49.500 --> 00:27:54.380
it's actually somewhat similar in data science. I will say you probably need a little bit more math

00:27:54.380 --> 00:27:59.340
than a web developer, but I think it's a lot less than most people think. And it's probably less

00:27:59.340 --> 00:28:04.540
about being able to do the math and maybe more about understanding the mathematical concepts.

00:28:04.540 --> 00:28:10.300
And what I mean by that is a lot of, a lot of, so I also have a master's degree in data analytics.

00:28:10.300 --> 00:28:15.660
A lot of master's degrees in data science and data analytics will say you need calculus and linear

00:28:15.660 --> 00:28:19.980
algebra as kind of a background for your math. And that kind of stops people. I don't want to do any

00:28:19.980 --> 00:28:24.540
calculus. I don't want to do any linear algebra. And while both those concepts do exist in data

00:28:24.540 --> 00:28:30.300
science principles, the majority of the time, the computer, Python is doing the math. You just have

00:28:30.300 --> 00:28:36.460
to be able to interpret the results of the math and kind of know what different directions, like this is

00:28:36.460 --> 00:28:40.860
going down, an optimization problem, you know, okay, that's the derivative, you know, getting closer to

00:28:40.860 --> 00:28:46.380
zero. Like it's really less about knowing how to do the math by hand and more just understanding what the

00:28:46.380 --> 00:28:50.460
math the computer is actually doing. So I think it's actually a lot easier than most people say.

00:28:50.460 --> 00:28:55.500
That being said, knowing how to do a derivative or taking integral, those concepts, I think is

00:28:55.500 --> 00:29:00.860
probably underlying pretty important. But other than that, like a lot of the times I'm doing linear

00:29:00.860 --> 00:29:06.780
regression because it's, it's awesome. It gets the job done. A lot of the time I'm doing hypothesis

00:29:06.780 --> 00:29:12.700
testing and statistics, which you have to look like at a P score, nothing all that crazy. At Exxon,

00:29:12.700 --> 00:29:17.660
I had to do a lot of linear programming, but that's honestly, that's like the exception versus the rule.

00:29:17.660 --> 00:29:22.300
There's not a whole lot of linear programming for most data science, most data scientists. So

00:29:22.300 --> 00:29:27.180
I really don't think the math is, is all that hard. Now, of course, that's coming from someone who

00:29:27.180 --> 00:29:32.780
got a chemical engineering degree, who had to take all the calculus, all the linear algebra. So I did go

00:29:32.780 --> 00:29:37.660
through those courses. I haven't really done it from scratch from like a lot of my students are teachers,

00:29:37.660 --> 00:29:41.820
for example, who never took those courses in college. So I can't speak from that perspective,

00:29:41.820 --> 00:29:45.740
but a lot of my students are able to figure it out at the end of the day and transfer. So it happens.

00:29:45.740 --> 00:29:50.460
Yeah, yeah, for sure. I think there, you make a good point. I think it's about knowing,

00:29:50.460 --> 00:29:56.780
okay, this formula or this algorithm or this test means this thing. It applies in this situation.

00:29:56.780 --> 00:30:00.860
It doesn't apply in that situation. Here's what you're trying to get from it, right? Like,

00:30:00.860 --> 00:30:06.620
I know I need to do a fast Fourier transform. So, and this is what it tells me when I get out the other

00:30:06.620 --> 00:30:14.540
side. But do I need to be able to sit down and recreate the integral and the calculus behind it

00:30:14.540 --> 00:30:18.940
and do that on like a home, like as a homework example, like, give me a function and I'll do the

00:30:18.940 --> 00:30:23.900
Fourier transform and I'll actually do the symbolic integration. Like, no, you probably don't need that,

00:30:23.900 --> 00:30:29.580
right? But you need to know, I do the Fourier transform in this situation and this is why. And then I just say,

00:30:30.300 --> 00:30:35.020
call the function, do it, right? And interpret the results. Really, that's what being a data

00:30:35.020 --> 00:30:40.060
scientist is all about is, yeah, what does the business use case, what's the desired business

00:30:40.060 --> 00:30:45.980
use case? How do I relate that use case to the data? What technique can I use to get the outcome

00:30:45.980 --> 00:30:52.540
that I need? Computer, go do it. Interpret results, present to stakeholders. That's a data scientist,

00:30:52.540 --> 00:30:57.500
right? I think one of the challenges with that is going to be, not that it's not good, but I think

00:30:57.500 --> 00:31:04.700
it's going to be challenging because how do you learn when to use a certain statistical test or when to do

00:31:04.700 --> 00:31:10.780
some kind of funky transformation, like a Fourier transform without more traditional mathematical

00:31:10.780 --> 00:31:14.940
backgrounds? And all the academics will not just go, oh, we're just going to give you like

00:31:14.940 --> 00:31:19.340
five minute overview and they'll help you understand. They're like, nope, we're going to start with this

00:31:19.340 --> 00:31:24.620
axiom or this theorem from differential equations. I'm going to work up. You're like, no, no, no, no,

00:31:24.620 --> 00:31:30.140
no, I don't need that. I don't, I'm not on a four-year plan. I'm on a four-week plan. How do I,

00:31:30.140 --> 00:31:36.620
how do I get value from a couple of the mathematical things without being sucked into like, yeah, now I'm in

00:31:36.620 --> 00:31:39.820
differential equations at Harvard online and I don't understand how I got there.

00:31:39.820 --> 00:31:45.180
It's such a big problem and I'm so glad you brought this up and I'll be vulnerable because yeah, I felt

00:31:45.180 --> 00:31:49.580
the same, the same way. And I was like, there has to be a better way. And so about, what was it? Three

00:31:49.580 --> 00:31:53.260
years ago now, two and a half years ago, three years ago, I said, oh my gosh, I'm going to solve this

00:31:53.260 --> 00:31:58.220
problem and I'm going to start my own data science bootcamp. And so I spent about six months making the

00:31:58.220 --> 00:32:03.500
curriculum, making all the videos. I opened it up. I got some students in there and I ran it for about

00:32:03.500 --> 00:32:08.620
six months and I looked at the results and man, we weren't getting anyone into data science jobs.

00:32:08.620 --> 00:32:12.940
And I thought, ah, what the heck am I doing wrong? I had this brilliant idea of like, we're going to be

00:32:12.940 --> 00:32:19.820
less theory, more project, more hands-on. And I realized, man, the truth is people just learn better

00:32:19.820 --> 00:32:24.220
at work. That's where you learn that whole technique that you just like, how does someone learn that?

00:32:24.220 --> 00:32:28.860
The answer is by getting experience and learning it at work. And when I looked back and I said, okay,

00:32:28.860 --> 00:32:33.500
well, we have had students get jobs. What jobs did they get? And it turns out most of them were

00:32:33.500 --> 00:32:38.460
getting like business intelligence, intelligence engineer jobs or data analysts or financial

00:32:38.460 --> 00:32:43.660
analyst jobs that were a little bit below a data scientist job. And I realized, oh man,

00:32:43.660 --> 00:32:49.020
if we can just help people go from zero to one and get their foot in the door, they can go from one to

00:32:49.020 --> 00:32:54.940
five much quicker at work because work is just, I don't know, it's this magical place, right? Like,

00:32:54.940 --> 00:32:58.940
like you said, they, whatever you were working at earlier, and they're like, hey, can you do this

00:32:58.940 --> 00:33:03.100
Kubernetes thing? They just kind of throw you in the fire and you're like, figure it out. And that's

00:33:03.100 --> 00:33:07.180
somehow you do, I don't know what it is about work, but you figure it out and that's where you learn.

00:33:07.180 --> 00:33:11.100
So that's kind of what I've, why I changed my curriculum to be more focused on, you know, okay,

00:33:11.100 --> 00:33:15.340
maybe people aren't going to become data scientists, but can we get them to zero to one quickly?

00:33:15.340 --> 00:33:19.740
And then they can get paid to learn the rest of the data science stuff when they're actually in that

00:33:19.740 --> 00:33:23.740
first position. How much do you know about what you actually want to do in the industry

00:33:23.740 --> 00:33:28.860
before you've done it as well? Right? Like, you're like, oh, I thought everybody said machine

00:33:28.860 --> 00:33:34.700
learning was awesome. And I've used chat CPT and I loved it, but it turns out actually like API is

00:33:34.700 --> 00:33:39.900
better, but I've never had a chance to build an API. So until I started, I didn't even learn that one,

00:33:39.900 --> 00:33:45.100
it was a thing to that. It was cool or vice versa, right? Whatever. But until you get kind of in,

00:33:45.100 --> 00:33:50.700
you don't even know, like, actually this part is where I really am enjoying it. And so just getting that

00:33:50.700 --> 00:33:55.500
first step, that's a big deal. A hundred percent. You don't know what you don't know until you know

00:33:55.500 --> 00:34:00.780
it. That's why, I mean, really when it comes to, if we like, we go back to just SQL or just Python,

00:34:00.780 --> 00:34:06.860
you could spend, I tell people this, if you tried to master Python before you applied to a job,

00:34:06.860 --> 00:34:12.140
you'd be like 80 years old before you ever applied to a job. Same with SQL, same with machine learning.

00:34:12.140 --> 00:34:17.180
The cool thing about data is we're never going to know it all. And so just learn the bare minimum to get

00:34:17.180 --> 00:34:21.900
your foot in the door. And then you have this place where you're going to get paid to learn what

00:34:21.900 --> 00:34:26.460
you want to learn. Eventually, if you learn, oh, I love APIs. I promise you that there's a company out

00:34:26.460 --> 00:34:31.100
there that will hire you and you can learn APIs on the job. Like that's going to happen. But that first

00:34:31.100 --> 00:34:36.300
step is no true. There's a company out there that it doesn't know it needs APIs, but you could help them.

00:34:36.300 --> 00:34:40.300
And you know, they don't have huge expectations because this is the thing they just learned they needed.

00:34:40.300 --> 00:34:42.700
Right. A hundred percent. Yeah. It's wild, right?

00:34:42.700 --> 00:34:50.220
This portion of Talk Python To Me is brought to you by Posit, the makers of Shiny, formerly RStudio,

00:34:50.220 --> 00:34:56.060
and especially Shiny for Python. Let me ask you a question. Are you building awesome things? Of

00:34:56.060 --> 00:35:00.940
course you are. You're a developer or data scientist. That's what we do. And you should check out Posit

00:35:00.940 --> 00:35:06.940
Connect. Posit Connect is a way for you to publish, share, and deploy all the data products that you're

00:35:06.940 --> 00:35:12.700
building using Python. People ask me the same question all the time. Michael, I have some cool

00:35:12.700 --> 00:35:18.220
data science project or notebook that I built. How do I share it with my users, stakeholders, teammates?

00:35:18.220 --> 00:35:25.420
Do I need to learn FastAPI or Flask or maybe Vue or ReactJS? Hold on now. Those are cool technologies,

00:35:25.420 --> 00:35:30.460
and I'm sure you'd benefit from them, but maybe stay focused on the data project. Let Posit Connect handle

00:35:30.460 --> 00:35:35.980
that side of things. With Posit Connect, you can rapidly and securely deploy the things you build in Python.

00:35:35.980 --> 00:35:42.380
Posit Connect, Streamlit, Dash, Shiny, Bokeh, FastAPI, Flask, Quarto, ports, dashboards, and APIs.

00:35:42.380 --> 00:35:48.380
Posit Connect supports all of them. And Posit Connect comes with all the bells and whistles to satisfy

00:35:48.380 --> 00:35:54.940
IT and other enterprise requirements. Make deployment the easiest step in your workflow with Posit Connect.

00:35:54.940 --> 00:36:01.340
For a limited time, you can try Posit Connect for free for three months by going to talkpython.fm/posit.

00:36:01.340 --> 00:36:08.300
That's talkpython.fm/posit. The link is in your podcast player show notes. Thank you to the team at

00:36:08.300 --> 00:36:09.740
Posit for supporting Talk Python.

00:36:13.740 --> 00:36:18.060
Posit Connect: Let's talk about some career advice. I mean, I know you talked about being

00:36:18.060 --> 00:36:23.180
connected on LinkedIn pretty well and certainly having some kind of social network is important. And they

00:36:23.180 --> 00:36:29.100
maybe, it's not that you would call it not social, but a real world network of actual human beings that

00:36:29.100 --> 00:36:32.700
you're, you know, physically know somehow. Posit Connect: What's that? I don't know what that is.

00:36:32.700 --> 00:36:35.180
Posit Connect: I know. Like, we gave that up back in 2020, I thought.

00:36:35.180 --> 00:36:38.380
Posit Connect: Yeah. Posit Connect: Anyway, like, there was some stat that I saw somewhere that,

00:36:38.380 --> 00:36:44.860
you know, over half of the jobs are filled filled before even becomes a job posting, right? Maybe

00:36:44.860 --> 00:36:49.340
some of the best ones is like, hey, who knows somebody who can do this? We need some, like your

00:36:49.340 --> 00:36:54.300
data science example, data scientist example. They quit like, oh, we need somebody. Does anybody know

00:36:54.300 --> 00:36:58.860
good data science? I don't want to just go put it out on the open job market and have to have a hundred

00:36:58.860 --> 00:37:03.820
interviews and who knows what I'm going to get. Like, if you can recommend somebody, let's start there,

00:37:03.820 --> 00:37:07.580
right? So being in that group to be recommended, it's important.

00:37:07.580 --> 00:37:12.220
Posit Connect: It's the key. There was a really interesting survey done on LinkedIn and they said,

00:37:12.220 --> 00:37:16.860
it was kind of, it was done by the same person and Jordan Nelson, by the way, he said, "How do you

00:37:16.860 --> 00:37:22.860
approach getting a job?" And then the next day he said, "How did you get your last job?" And 80% of

00:37:22.860 --> 00:37:27.740
people, they use what I call the spray and pray method, which basically means you go and you apply to as

00:37:27.740 --> 00:37:32.540
many jobs as you possibly can and hope for the best. Cross your fingers. That was 80% of what

00:37:32.540 --> 00:37:38.140
people were doing. And then on the next poll, the next day, it was a total, I think of what, 70% were

00:37:38.140 --> 00:37:43.740
either headhunted, recruited or referred. And so it's like the Pareto principle here where, you know,

00:37:43.740 --> 00:37:50.060
80% of the effort is only getting you 20% of the results. And really 20% of the effort gets 80% of the

00:37:50.060 --> 00:37:55.100
results. So it's okay. We know networking and getting recruited is really important, but how do we do it?

00:37:55.100 --> 00:37:59.580
It's easier said than done. And like you said- In the industry, how do I make friends who are,

00:37:59.580 --> 00:38:02.700
right? It's like, well, my neighbors don't do it. So I guess I'm out.

00:38:02.700 --> 00:38:06.700
That's the tricky thing is, is yeah, if you're not in the industry yet, how do you get recruited

00:38:06.700 --> 00:38:11.660
into it or how do you know someone? And what I've come to learn is it actually doesn't even matter.

00:38:11.660 --> 00:38:16.060
So like, for instance, let's take, let's take your neighbor, right? Your neighbor is probably not a data

00:38:16.060 --> 00:38:20.540
scientist. Maybe you're lucky and they are, and they can refer you to a company. But what's really cool is

00:38:20.540 --> 00:38:24.540
I've learned that companies really come to trust their employees and their employees'

00:38:24.540 --> 00:38:30.860
recommendations. And so even if your neighbor, let's say is a web developer, or maybe even less

00:38:30.860 --> 00:38:35.260
technical, let's just say your recruiter is in finance, right? And if there's an opening,

00:38:35.260 --> 00:38:39.980
like a data science opening at that company, a lot of the times they will actually take their

00:38:39.980 --> 00:38:44.780
employee referrals much more seriously than any sort of cold application that they get.

00:38:44.780 --> 00:38:49.500
And so a lot of the times I've had students who just know someone that works at the company,

00:38:49.500 --> 00:38:53.420
they saw a job opening pop up. They're quickly, they message their friends. Hey,

00:38:53.420 --> 00:38:57.260
do you know a recruiter or a hiring manager? I could talk more about this role. Could you do

00:38:57.260 --> 00:39:01.740
an internal referral for me? And they were able to land jobs that they probably wouldn't have.

00:39:01.740 --> 00:39:06.860
No, they definitely wouldn't have without that internal referral. So it is tricky. It's the old

00:39:06.860 --> 00:39:08.940
cliche. It's not, it's not what you know, it's who you know.

00:39:08.940 --> 00:39:12.860
I think there's still plenty of ways, COVID notwithstanding. I think that these days,

00:39:12.860 --> 00:39:18.140
there's plenty of ways to get those connections, right? But maybe people don't know, like meetup.com

00:39:18.140 --> 00:39:25.580
is really good. If you live in a non-tiny city, there's many, many things going on that around data

00:39:25.580 --> 00:39:31.020
science, around Python, around other data engineering, whatever, right? You could go to those things.

00:39:31.020 --> 00:39:37.580
They're typically even free. Often they are free with food. They even feed you, right? And make connections,

00:39:37.580 --> 00:39:42.940
or regional conferences or national conferences, right? Like we probably, many people have heard

00:39:42.940 --> 00:39:48.780
of PyCon, right? There's US PyCon, there's EuroPython, and then there's, but that's, those are the ones

00:39:48.780 --> 00:39:54.540
that are often talked about, but there's 10, 20 little smaller regional ones in the US and many more that

00:39:54.540 --> 00:39:59.100
I'm not aware of throughout the world. Probably one of those within driving distance, right? That you could

00:39:59.100 --> 00:40:05.020
go to make connections and just also kind of take the temperature of actually what, what you see on the

00:40:05.020 --> 00:40:10.460
internet versus what you see and actually talking to real people. So I'd also say, just get out there.

00:40:10.460 --> 00:40:17.100
A hundred percent. Those places have the people who probably want to hire you because they're local,

00:40:17.100 --> 00:40:21.580
right? Which is one thing that's, that's trouble on LinkedIn. I'm, I'm big on networking on LinkedIn,

00:40:21.580 --> 00:40:26.380
but a lot of the times you're going to be networking with people who in all likelihood might never have a

00:40:26.380 --> 00:40:30.300
role that's even open to you. But the people that you're like, for instance, we have,

00:40:30.300 --> 00:40:36.620
I'm in Utah and we have Silicon Slopes that has like a tech meetup. We have a local Python

00:40:36.620 --> 00:40:41.740
meetup chapter. We have the big data and developers conference that that's free every year with tons

00:40:41.740 --> 00:40:47.260
of food. And the people who go there are people from companies around there that have the openings

00:40:47.260 --> 00:40:51.740
that you're trying to find. And they want to hire people like you who are in the area. So at least

00:40:51.740 --> 00:40:55.900
you can maybe come to the office once a week or maybe once a month or whatever. Right. And so really,

00:40:55.900 --> 00:41:00.380
like you said, going to those meetups, it's tough because networking is always difficult,

00:41:00.380 --> 00:41:05.260
either online or in person, but at least in those situations, you know, Hey, these are people that

00:41:05.260 --> 00:41:10.380
are tied to real companies that exist around me that do make data higher. So I have a chance.

00:41:10.380 --> 00:41:13.980
Definitely a much higher chance than just shooting out a resume. All right. Well, let's see.

00:41:13.980 --> 00:41:20.700
We talked about job hunting already. What about like applications and resumes? What are your thoughts on

00:41:20.700 --> 00:41:26.220
that? I think once again, with the applications, the more targeted that you can make it, the better,

00:41:26.220 --> 00:41:32.620
right? So if you can really hone in on, I really want this job, I'm going to cold message five people

00:41:32.620 --> 00:41:37.340
at this company and see if I can get that internal referral one way or another, make a real connection

00:41:37.340 --> 00:41:42.780
with them. I think that's really key. And then with resumes, resumes are more of an art than they are a

00:41:42.780 --> 00:41:49.260
science. I feel like they are so difficult to figure out. And these ATSs that are trying to match you

00:41:49.260 --> 00:41:53.260
and see if you're a good fit. I've tried a lot of them and a lot of them suck. Whoever's the data

00:41:53.260 --> 00:41:57.580
scientist behind those, we need to have a conversation with them because it's, it's a little tricky

00:41:57.580 --> 00:42:02.060
sometimes. But one of the coolest concepts I've been introduced to recently, and I have a whole

00:42:02.060 --> 00:42:10.380
episode on my podcast about it is A, B testing your resume. And basically the idea is a resume's job

00:42:10.380 --> 00:42:15.820
is just to get you a screener interview or like a beginner interview, basically. Right. That's all an

00:42:15.820 --> 00:42:19.500
interview. Like no one's seeing a resume and then hiring you. They're always going to interview.

00:42:19.500 --> 00:42:25.180
So if you think about it, a resume's job, the only job it has is to convince someone to get on the phone

00:42:25.180 --> 00:42:29.820
and talk to you. And it's just a piece of paper. And guess what? You can put whatever you want on

00:42:29.820 --> 00:42:35.340
that piece of paper. Now I'm not saying to lie, but I'm just saying you could theoretically make a

00:42:35.340 --> 00:42:39.580
perfect resume for whatever job you're trying to go for and send it out there and see what happens.

00:42:39.580 --> 00:42:43.820
Right. But I'm not saying to do that. I'm not saying to lie. My point in saying this is that the resume

00:42:43.820 --> 00:42:48.940
is just to get you the interview. And if you're not getting interviews, something's probably wrong

00:42:48.940 --> 00:42:54.460
with your resume. And so, you know, tweak something, apply to 10 more jobs, see what happens. Tweak

00:42:54.460 --> 00:42:59.980
something, apply 10 more jobs, see what happens. Until you finally have the right combination, skills

00:42:59.980 --> 00:43:04.940
of experiences of different keywords. Because a lot of the time you're just trying to beat the ATS. And

00:43:04.940 --> 00:43:10.140
that's the sad part about it is it's like, how do I prove to this random computer algorithm that they should

00:43:10.140 --> 00:43:14.620
talk to me on the phone? That's a hard game to beat. And there's a whole bunch of advice

00:43:14.620 --> 00:43:18.620
from all these different people. What I've come to learn is it's different for every company. It's

00:43:18.620 --> 00:43:22.700
different for every person. You kind of kind of a numbers game till you get lucky and you figure it

00:43:22.700 --> 00:43:28.540
out. That's good advice. I guess two thoughts. One is I know that speaking specifically to anyone,

00:43:28.540 --> 00:43:34.860
one. But in general, women wait until they match all the requirements of a position where a guy's like,

00:43:34.860 --> 00:43:41.500
I know three of those things. I'm taking a flyer. I'm sending it. I would just like to encourage the

00:43:41.500 --> 00:43:47.180
women out there to just send it as well. I 100% agree with that. And I think if you reach 60% of

00:43:47.180 --> 00:43:52.460
the requirements, I think you have a chance. Like it's a lot of the times those are wish lists and not

00:43:52.460 --> 00:43:58.380
actual requirements. And depending on, are you local to the area? Do you have a domain experience

00:43:58.380 --> 00:44:02.860
in this company? Like there's lots of other factors. What about contributing to open source

00:44:02.860 --> 00:44:08.300
or having GitHub repos that can be like projects that you can show off or what's your advice there?

00:44:08.300 --> 00:44:13.980
I'm a huge proponent of projects in the portfolio. I think if you don't have experience with something,

00:44:13.980 --> 00:44:18.940
you create your own by building a project. And if you can do that with open source,

00:44:18.940 --> 00:44:23.900
I think you should totally do that because I've benefited so much from open source. I have not

00:44:23.900 --> 00:44:29.900
given back as much as I should to open source development and projects. I definitely should do that.

00:44:29.900 --> 00:44:33.980
But if you can find a project that you're passionate about that you can help with, I think you should

00:44:33.980 --> 00:44:38.940
totally do that. Even if it's not open source and you're just building a project to showcase your skills,

00:44:38.940 --> 00:44:43.660
I'm all about that. I think you can do projects that are super fun, maybe that are good for your

00:44:43.660 --> 00:44:48.700
community or good for your life. I'm a huge fan of personal projects. I've put a Fitbit on

00:44:48.700 --> 00:44:54.460
my dog before and looked at her steps. I've found the healthiest meal at McDonald's. I've looked at,

00:44:54.460 --> 00:44:59.740
like visualized my weight over time and tried to create like different, like forecasting models and

00:44:59.740 --> 00:45:03.660
stuff like that. There's so much data in our lives that you can use to make really cool projects.

00:45:03.660 --> 00:45:08.460
Oh, absolutely. You talked about, okay, you get your first job and that's where you kind of really

00:45:08.460 --> 00:45:14.300
learn. But if you don't have your first job, you can effectively simulate that. Say, I would have gone

00:45:14.300 --> 00:45:18.780
on to a job and been given a project to analyze something. I'm just interested in this thing. I've got

00:45:18.780 --> 00:45:24.060
two hours a day until I get a job that I can be inspired about this and just get going on it. Maybe

00:45:24.060 --> 00:45:29.980
create a website and publish your results and it can draw more people in to actually see that, right?

00:45:29.980 --> 00:45:34.060
And start to appreciate it. They could even ask like, all right, who's behind this cool project?

00:45:34.060 --> 00:45:39.340
Maybe I want them to come work for me. Little did they know you're doing all this work because you got

00:45:39.340 --> 00:45:43.580
some spare time and you're trying to build up your experience and a self-guided study, right?

00:45:43.580 --> 00:45:49.020
Yeah. If you can build a cool project and flip the job hunt where you're not applying for jobs, but jobs

00:45:49.020 --> 00:45:54.460
start to apply for you, you're in such a good position and doing really cool projects can help you get there.

00:45:54.460 --> 00:45:59.260
Now it's hard to do cool projects. It's hard to publish projects, which is one of the things

00:45:59.260 --> 00:46:04.300
that people really struggle with. For all you Python listeners out there, let me just tell you,

00:46:04.300 --> 00:46:12.620
Streamlit is absolutely amazing because it makes the deployment process so easy. It's free. It's a

00:46:12.620 --> 00:46:17.900
little tricky to deploy at first, but compared to what you used to have to do it back in the day,

00:46:17.900 --> 00:46:23.020
I'm saying back in the day, like four years ago, basically. But it was really hard to deploy

00:46:23.020 --> 00:46:27.020
something where you could send someone a URL. Hey, check out my web application, machine learning

00:46:27.020 --> 00:46:33.500
application. Streamlit is such a cool app that makes it so easy and so intuitive to make these

00:46:33.500 --> 00:46:38.460
cool little apps that you could just put on your resume, put on your portfolio, send to recruiters. I'm

00:46:38.460 --> 00:46:40.300
such a fan of the Streamlit app. I love it.

00:46:40.300 --> 00:46:44.540
Yeah, it's super cool. There's a couple of those and Streamlit is definitely one of the really nice

00:46:44.540 --> 00:46:51.740
ones there. There's also some hosting behind Streamlit as well these days, right? You don't even

00:46:51.740 --> 00:46:54.540
have to set up a server or anything and just create it and put it up there.

00:46:54.540 --> 00:46:59.980
That's what I'm saying. Back in the day, I used Dash a lot and I'm still a big fan of Dash. Dash

00:46:59.980 --> 00:47:06.380
is more customizable than Streamlit and can do quite a bit more, but it's a lot more work to deploy it.

00:47:06.380 --> 00:47:07.660
It's more like programming.

00:47:07.660 --> 00:47:09.740
Yeah, it is more programming.

00:47:09.740 --> 00:47:12.460
Programming the UI rather than just the behind the scenes.

00:47:12.460 --> 00:47:12.700
Yeah.

00:47:12.700 --> 00:47:18.300
You have to do both and you have to know a little bit about systems and data engineering and stuff

00:47:18.300 --> 00:47:22.380
like that versus Streamlit kind of takes that, abstracts that away. But yeah, back in the day,

00:47:22.380 --> 00:47:27.420
I used to make Dash web applications and deploy them on Heroku back when they had a free tier of

00:47:27.420 --> 00:47:32.540
hosting and they've taken that away. So I don't even know what the go-to free hosting platform is

00:47:32.540 --> 00:47:35.980
nowadays. I just, I moved most of my things to Streamlit and it's so nice.

00:47:35.980 --> 00:47:38.620
Yeah. We got Shiny for Python now, which is also nice.

00:47:38.620 --> 00:47:40.220
I haven't checked that out. How is it?

00:47:40.220 --> 00:47:45.100
I haven't done too much with it either, but Joe and the team over there are doing pretty cool stuff,

00:47:45.100 --> 00:47:50.860
like adding more dynamic interactive stuff to Jupyter, like running inside Jupyter and things. Yeah,

00:47:50.860 --> 00:47:51.260
pretty cool.

00:47:51.260 --> 00:47:52.220
I'll have to check it out.

00:47:52.220 --> 00:47:56.060
I think they also do a bunch of hosting stuff over there as well, is why it came to mind.

00:47:56.060 --> 00:47:58.140
What other advice you got for folks out there?

00:47:58.140 --> 00:48:05.100
So AI is AI, not studying AI or learning to use AI, machine learning, but is there a benefit of trying

00:48:05.100 --> 00:48:12.540
to use ChatGPT to help you get this job or is there a danger? I'm thinking, for example, have ChatGPT

00:48:12.540 --> 00:48:18.460
write me an awesome resume and then the tools are like, well, we've detected this is AI generated and

00:48:18.460 --> 00:48:21.340
it's out. You know what I mean? What do you see happening there?

00:48:21.340 --> 00:48:29.260
A lot of people see AI as like an all or nothing tool as in it's either you, the human doing the

00:48:29.260 --> 00:48:33.820
work or it's the AI doing the work. But whenever, I don't know about you, but whenever I'm using

00:48:33.820 --> 00:48:40.300
ChatGPT for anything, it's very rare it's copy and paste for me or at least not iterative where I'm

00:48:40.300 --> 00:48:45.420
doing multiple prompts, prompt after prompt after prompt, trying to tweak it exactly what I want.

00:48:45.420 --> 00:48:50.300
And so the way I look at ChatGPT and other gen AI that will be coming out, that's only inevitable,

00:48:50.300 --> 00:48:55.180
is instead of looking at does this replace me? Does this, like for instance, am I going to build

00:48:55.180 --> 00:49:02.060
my whole resume using ChatGPT? Can ChatGPT build, you know, take a data scientist's job and build the

00:49:02.060 --> 00:49:07.180
whole model for them? I like to see it more as like a hammer. It's like a tool for the data scientist or

00:49:07.180 --> 00:49:13.340
a tool for the job searcher to use in conjunction with your screwdriver or anything else. It's like

00:49:13.340 --> 00:49:18.380
something to be wielded by a human, not replaced for the human, if that makes sense.

00:49:18.380 --> 00:49:22.780
You know, it's really good for stuff like, hey, I know a regular expression will do this.

00:49:22.780 --> 00:49:23.260
Yeah.

00:49:23.260 --> 00:49:27.740
The last time I studied, I completely forgot what this is about. And I know it's gnarly,

00:49:27.740 --> 00:49:32.700
but if I just ask, here's an example, here's what I want. Boom. And traditionally what you would end up

00:49:32.700 --> 00:49:35.020
doing is you'd be on Stack Overflow. Yeah.

00:49:35.020 --> 00:49:38.860
You'd be all over the internet. You'd be trying to piece it together from external information anyway.

00:49:38.860 --> 00:49:44.220
And so code is something that's a little bit more in the wheelhouse of the generative AI,

00:49:44.220 --> 00:49:50.220
because it can't really make it up as much. I know it could like do something insecure and you didn't

00:49:50.220 --> 00:49:55.340
know it was or whatever, but it's not like asking for legal advice where it makes up cases that didn't

00:49:55.340 --> 00:50:00.460
exist. Like it gives you code. You put it in the runtime of the compiler and it runs or it doesn't.

00:50:00.460 --> 00:50:01.740
And the output comes like you did.

00:50:01.740 --> 00:50:02.700
Yeah. It works or not.

00:50:02.700 --> 00:50:08.620
Yeah. So it's pretty, pretty effective for that. But yeah, for resumes, I would be more like,

00:50:08.620 --> 00:50:14.620
let me ask it. What are the in demand things? And if I know these three skills, what other skills should

00:50:14.620 --> 00:50:20.140
I know to get a, you could sort of use it in an explorative way to then come up with what you

00:50:20.140 --> 00:50:22.140
might write for yourself, right? Something like this.

00:50:22.140 --> 00:50:27.900
I find it really useful for brainstorming like action verbs on your resume bullets. Like I think

00:50:27.900 --> 00:50:33.180
it's really good at that. What's 10 different ways to say lead. So I don't say lead five times on my

00:50:33.180 --> 00:50:38.700
resume and I use some different action bullets. I think it's great at that. I personally, it's pretty

00:50:38.700 --> 00:50:44.380
rare that I start any Python code from scratch nowadays. I'm either starting hopefully from a

00:50:44.380 --> 00:50:49.740
template that I've already written, or I'm starting from a ChatGPT. Like this is what I kind of want

00:50:49.740 --> 00:50:55.260
to accomplish, right? Like the outline for it. Like one of the things I hate doing is I make a lot of

00:50:55.260 --> 00:50:59.260
streamlet apps. I probably make a streamlet app a month right now. And I hate starting from scratch

00:50:59.260 --> 00:51:03.260
with streamlet. It's super easy to start from scratch, but I'll say, Hey, ChatGPT, I want to

00:51:03.260 --> 00:51:06.860
build a streamlet app. This is like the component I want here. This is the component I want here.

00:51:06.860 --> 00:51:12.300
This is the component I want here. And it's almost like a warmup for me as a programmer. And it will

00:51:12.300 --> 00:51:18.060
create something that works. It's not what I want. And I spend the next five hours trying to make it

00:51:18.060 --> 00:51:23.740
what I want, you know, without ChatGPT, but it kind of gives me a warm start to my programming process.

00:51:23.740 --> 00:51:29.100
So I really like it. I think it's something that everyone should use. And I think if you're thinking

00:51:29.100 --> 00:51:34.540
about getting into any sort of programming, you know, whether it's data science or web development,

00:51:34.540 --> 00:51:40.940
I think you should be a little bit less worried about it taking your job and job security. I think

00:51:40.940 --> 00:51:45.820
you should almost be more excited that, wow, the bar has never been lowered to break into tech.

00:51:45.820 --> 00:51:51.900
Like this is a step up gift from the programming gods that I get to use to break into tech.

00:51:51.900 --> 00:51:56.620
Another thing to keep in mind is I imagine a lot of people listening to this podcast are not just

00:51:56.620 --> 00:52:03.820
starting a college program, right? They're coming from possibly other experiences, other specialties.

00:52:03.820 --> 00:52:07.980
You know, what's really good for job security, knowing the intersection of two things, the

00:52:07.980 --> 00:52:13.900
intersection of chemistry and programming, the intersection of geology and programming for Exxon,

00:52:13.900 --> 00:52:19.900
potentially, right? Like those things take you from a pool of a thousand to a pool of tens,

00:52:19.900 --> 00:52:24.540
tens, right? And so what's awesome about that is it means two things. You don't throw away,

00:52:24.540 --> 00:52:28.140
if you got a degree in something else like biology or whatever, you don't throw away like,

00:52:28.140 --> 00:52:33.660
well, that was wasted four years. That's out. And it slices the pool of people who could apply for

00:52:33.660 --> 00:52:36.140
certain jobs way, way smaller, right? Sounds like you agree.

00:52:36.140 --> 00:52:41.180
Oh, a thousand percent. I'll just tell a quick little anecdote. When I was at ExxonMobil,

00:52:41.180 --> 00:52:45.820
there's a lot of things I did not like at ExxonMobil, but this is something I really liked. It's about

00:52:46.460 --> 00:52:51.980
once a quarter, they would do a crowdsourced data science competition for the whole organization,

00:52:51.980 --> 00:52:56.060
like around the entire world. And they would say, this is a business problem we're trying to solve,

00:52:56.060 --> 00:53:00.460
you know, and at Exxon, we have data scientists all over the world and like all sorts of different

00:53:00.460 --> 00:53:05.100
teams and things like that. So I like did not know all the data scientists at Exxon. And they'd say,

00:53:05.100 --> 00:53:10.860
this is the problem we're facing. Here's the data go, right? And I loved participating in these. It was

00:53:10.860 --> 00:53:15.180
like right up my, my wheelhouse of like, I really enjoy exploration and all this stuff.

00:53:15.180 --> 00:53:18.700
At the time I was getting my master's degree, but I didn't have my master's degree.

00:53:18.700 --> 00:53:24.220
And I was competing against, so I'm just a chemical engineering grad, right? And I'm competing against

00:53:24.220 --> 00:53:29.660
people with PhDs in computer science and in data science and all these like people who have way

00:53:29.660 --> 00:53:35.260
more experience than me. And I actually won a few of these competitions. Thank you. I appreciate it.

00:53:35.260 --> 00:53:40.220
And it's not because I was a better programmer or a better data scientist. It's because I majored in

00:53:40.220 --> 00:53:46.460
chemical engineering and I knew the business problem, the domain extremely well. And I kind

00:53:46.460 --> 00:53:51.180
of knew the programming and the data science stuff, but the combination of them made me very valuable.

00:53:51.180 --> 00:53:56.860
Like one of the best examples I have is we're looking at crude oil properties. And I remember

00:53:56.860 --> 00:54:01.100
like there was a forum where you'd like ask your questions. And one of the, one of the data scientists

00:54:01.100 --> 00:54:06.620
asked, Hey, is sulfur bad? There's lots of sulfur in this. Is it bad? And like to a chemical engineer,

00:54:06.620 --> 00:54:11.420
that's like the most obvious thing. No, you, yes. Sulfur is very bad in crude oil. That's very,

00:54:11.420 --> 00:54:17.260
no, no, that's like such a fundamental thing to me and to him or her. That was like groundbreaking.

00:54:17.260 --> 00:54:20.700
And so, yeah, your domain can become your superpower in your career.

00:54:20.700 --> 00:54:26.940
Yeah. And it makes it way harder for ChatGPT and other types of tools to just automate you out of a

00:54:26.940 --> 00:54:31.500
job because you bring in all these skills together, which is awesome. But it also makes it easier for

00:54:31.500 --> 00:54:35.500
you to get the job. It makes it easier for you to continue your momentum of whatever you've been up

00:54:35.500 --> 00:54:39.660
to. It's just, it's good all around. Yeah. I think it's more fun too, because once again,

00:54:39.660 --> 00:54:45.180
like when I was trying to decide if I should study computer science, I was like, man, I don't really want to

00:54:45.180 --> 00:54:52.460
to build an Excel workbook for building an Excel workbook sake. That's still true for me today.

00:54:52.460 --> 00:54:57.260
I don't want to do data science for data science sake. I only like machine learning or data science

00:54:57.260 --> 00:55:01.580
when I'm doing it to solve a really fun problem I'm passionate about. That's where it's more fun.

00:55:01.580 --> 00:55:05.900
So if you can be excited about the domain and excited about the algorithms, I think that's a

00:55:05.900 --> 00:55:09.660
great place to be. Absolutely agree. All right. We're getting short on time,

00:55:09.660 --> 00:55:14.380
but maybe tell us a bit about your data career jumpstart. You've referred to it a couple of times.

00:55:14.380 --> 00:55:18.780
Yeah. I have a company called data career jumpstart. I just try to do a lot of education. So the

00:55:18.780 --> 00:55:23.180
education happens on LinkedIn happens on YouTube. And I actually forgot to mention this at the

00:55:23.180 --> 00:55:28.540
beginning, but I have my own podcast called the data career podcast, where I help people land their

00:55:28.540 --> 00:55:33.980
first data job. We're about at a hundred episodes. So not quite the groundwork that you've put in.

00:55:33.980 --> 00:55:35.260
That's still a ton. That's awesome.

00:55:35.260 --> 00:55:40.940
Yeah, we're getting there. And then, yeah, I also have a bootcamp where I try to affordably help

00:55:40.940 --> 00:55:46.700
people land their first data analyst position by teaching them the skills, the networking and the

00:55:46.700 --> 00:55:50.140
project and portfolio building that they need to do something.

00:55:50.140 --> 00:55:51.740
Like the long version of this show.

00:55:51.740 --> 00:55:56.220
Yeah. Basically. Well, yeah. Just take what we talked about today, expand on it,

00:55:56.220 --> 00:56:00.620
make it like 350 unique lessons. And that's exactly what it is.

00:56:00.620 --> 00:56:06.860
Yeah. Very cool. All right. Well, we're about out of time. So maybe just every final call to action,

00:56:06.860 --> 00:56:11.660
people maybe are inspired. I see Dave go out in the audience. That's an awesome talk. Very much so.

00:56:11.660 --> 00:56:15.420
What's next. It's easy to be inspired, but you got to take action.

00:56:15.420 --> 00:56:21.260
Yeah. I love that. I think it's always fun to listen to podcasts, but you probably benefit way

00:56:21.260 --> 00:56:26.460
more from the action you take after a podcast. So for you guys who are maybe interested in a data

00:56:26.460 --> 00:56:32.140
analytics or a data science career, explore that. If you're like, yes, I'm in, make a plan, make a

00:56:32.140 --> 00:56:36.860
roadmap. If you need help, I have a webinar that will help you make a roadmap. What skills should you

00:56:36.860 --> 00:56:40.620
learn? How should you be networking and stuff like that? But really probably if you're just getting

00:56:40.620 --> 00:56:44.220
started trying to figure out what skills you should learn, like what are the top skills that you should

00:56:44.220 --> 00:56:48.620
be learning and then learning those skills and then not only learning those skills, but take action and

00:56:48.620 --> 00:56:52.540
learning and build some sort of a project that we talked about that you could put on a portfolio,

00:56:52.540 --> 00:56:57.260
make a streamlet app or something like that. That's probably the best action you could possibly take.

00:56:57.260 --> 00:57:02.380
If you need any ideas, advice, feel free to check out my website, datacareerjumpstar.com or the

00:57:02.380 --> 00:57:07.020
podcast data career podcast. Hopefully there's a lots of free resources for you guys to check that out.

00:57:07.020 --> 00:57:09.580
If you've never seen streamlet before, I have some YouTube videos about

00:57:09.580 --> 00:57:13.660
streamlet that you guys can check out, but I love it. Just take action somehow, do something.

00:57:13.660 --> 00:57:18.540
That's one of the huge, huge differentiators is like, you might be inspired, but you just got

00:57:18.540 --> 00:57:23.260
to start taking those steps and it becomes a snowball. So thanks for sharing all your experience and your

00:57:23.260 --> 00:57:28.380
advice. Hopefully some people out there are taking action and yeah, I'll put everything we talked about

00:57:28.380 --> 00:57:30.620
in the show notes, of course. So thanks for being here, Avery.

00:57:30.620 --> 00:57:32.380
Yeah. Thank you. Thanks for having me. I appreciate it.

00:57:32.380 --> 00:57:33.180
You bet. Bye all.

00:57:33.180 --> 00:57:37.100
This has been another episode of Talk Python To Me.

00:57:37.260 --> 00:57:41.740
Thank you to our sponsors. Be sure to check out what they're offering. It really helps support the

00:57:41.740 --> 00:57:47.260
show. Take some stress out of your life. Get notified immediately about errors and performance

00:57:47.260 --> 00:57:54.060
issues in your web or mobile applications with Sentry. Just visit talkpython.fm/sentry and get

00:57:54.060 --> 00:58:00.460
started for free and be sure to use the promo code talkpython, all one word. This episode is sponsored

00:58:00.460 --> 00:58:05.900
by Posit Connect from the makers of Shiny. Publish, share and deploy all of your data projects that

00:58:05.900 --> 00:58:14.060
you're creating using Python. Streamlit, Dash, Shiny, Bokeh, FastAPI, Flask, Quarto, reports, dashboards and APIs.

00:58:14.060 --> 00:58:21.020
Posit Connect supports all of them. Try Posit Connect for free by going to talkpython.fm/posit.

00:58:21.020 --> 00:58:22.060
P-O-S-I-T.

00:58:22.060 --> 00:58:28.460
Want to level up your Python? We have one of the largest catalogs of Python video courses over at Talk Python.

00:58:28.460 --> 00:58:34.380
Our content ranges from true beginners to deeply advanced topics like memory and async. And best of all,

00:58:34.380 --> 00:58:38.860
there's not a subscription in sight. Check it out for yourself at training.talkpython.fm.

00:58:38.860 --> 00:58:43.980
Be sure to subscribe to the show, open your favorite podcast app, and search for Python.

00:58:43.980 --> 00:58:50.460
We should be right at the top. You can also find the iTunes feed at /itunes, the Google Play feed at /play,

00:58:50.460 --> 00:58:57.100
and the direct RSS feed at /rss on talkpython.fm. We're live streaming most of our recordings these

00:58:57.100 --> 00:59:01.900
days. If you want to be part of the show and have your comments featured on the air, be sure to subscribe

00:59:01.900 --> 00:59:08.060
to our YouTube channel at talkpython.fm/youtube. This is your host, Michael Kennedy. Thanks so much

00:59:08.060 --> 00:59:20.540
for listening. I really appreciate it. Now get out there and write some Python code.

00:59:20.540 --> 00:59:32.700
I'll see you next time. I'll see you next time.

