WEBVTT

00:00:00.001 --> 00:00:03.660
How often do you meet people who are looking to get into the software development space?

00:00:03.660 --> 00:00:08.640
Do they ask you for advice? Maybe they want to know your story of how you got started and

00:00:08.640 --> 00:00:12.580
landed that first big job. Maybe they want to know what they should be doing right now.

00:00:12.580 --> 00:00:17.880
This episode of Talk Python To Me is the first in a two-part series that attempts to bring a

00:00:17.880 --> 00:00:22.900
wide spectrum of thoughts on this discussion. It's Getting Your First Dev Job as a Python

00:00:22.900 --> 00:00:28.840
Developer Part 1. It's episode number 39, recorded December 10th, 2015.

00:00:28.840 --> 00:00:58.700
Welcome to Talk Python To Me, a weekly podcast on Python, the language, the libraries, the

00:00:58.700 --> 00:01:03.320
ecosystem, and the personalities. This is your host, Michael Kennedy. Follow me on Twitter

00:01:03.320 --> 00:01:08.240
where I'm @mkennedy. Keep up with the show and listen to past episodes at talkpython.fm

00:01:08.240 --> 00:01:14.120
and follow the show on Twitter via at Talk Python. This episode is brought to you by Hired and

00:01:14.120 --> 00:01:19.520
Codeship. Thank them for supporting the show on Twitter via at Hired underscore HQ and at

00:01:19.520 --> 00:01:26.560
Codeship. Hello and welcome to a special Talk Python To Me. In this Talk Python, we're not going to

00:01:26.560 --> 00:01:31.460
interview one person that's maybe done something great in the industry. This is in fact going to be

00:01:31.460 --> 00:01:38.660
a two-part series made up of panelists. And the idea is we're going to talk about how do you get

00:01:38.660 --> 00:01:45.020
started in the software industry in general and in Python as a Python developer in particular.

00:01:45.020 --> 00:01:51.240
So the overall goal of the series is going to be to help newcomers, whether they're entirely new to

00:01:51.240 --> 00:01:58.640
the development world or maybe transitioning from a related industry like going from networking into

00:01:58.640 --> 00:02:05.060
programming. Help those newcomers get their first job. We're going to interview some people who have

00:02:05.060 --> 00:02:10.780
just landed their first job and we're going to interview some people who have key roles hiring and

00:02:10.780 --> 00:02:16.460
selecting candidates at their companies. So this is going to be a two-part series. Part one, we're going to

00:02:16.460 --> 00:02:21.940
talk to the newcomers. Everyone you hear on the show today has just got a new job and we're going

00:02:21.940 --> 00:02:26.940
to talk about their experience getting there. And then the following show, we're going to talk to the

00:02:26.940 --> 00:02:34.660
experts. Now, I think one of the challenges out in the software industry is there's a large disconnect

00:02:34.660 --> 00:02:42.340
between people who have experience and people who are just getting started. If you have experience and

00:02:42.340 --> 00:02:48.800
you've done good work previously in the software industry, getting a job is pretty easy, to be honest.

00:02:48.800 --> 00:02:55.160
Just from my experience, I receive job offers unsolicited, by the way, job offers all the time.

00:02:55.160 --> 00:03:02.460
I just have one in my inbox right now. Hey, here's a great job. $115,000 plus bonuses, cool technology,

00:03:02.460 --> 00:03:07.620
lifestyle balance. You don't have to work all the time. You know, it sounds great, but I'm not interested.

00:03:07.760 --> 00:03:11.960
I actually already have a job. I like it. So in some sense, there's this feeling that there are many,

00:03:11.960 --> 00:03:16.780
many tech jobs out there. There are not enough programmers to actually fill the jobs. And there's,

00:03:16.780 --> 00:03:23.320
there's just tons of competition for good developers. But on the other side of that story is I think it's

00:03:23.320 --> 00:03:28.240
fairly hard for people getting into the industry to get started. How do they differentiate themselves?

00:03:28.240 --> 00:03:34.540
How do they prove that they're a good bet? Things like that. I feel kind of once you get started in the

00:03:34.540 --> 00:03:38.840
software industry, it's, and as long as you put in the effort, you keep learning, you keep growing,

00:03:38.840 --> 00:03:45.580
it's super easy to have a good job and just run with it. But getting that first step, that first

00:03:45.580 --> 00:03:53.140
foothold can be a super big challenge. So I'm hoping to put together this series to help more people

00:03:53.140 --> 00:03:58.540
climb that first step and get off the ground and running maybe quicker, maybe easier than they would

00:03:58.540 --> 00:04:04.480
have otherwise. So let me introduce the panelists real quick. This week, we're going to have Jess

00:04:04.480 --> 00:04:13.520
Unrein, Justin Beal, Eric Chow, Jonathan Sundquist, Elio Carrera, and Matt Yancey. Next week, we'll hear

00:04:13.520 --> 00:04:19.720
from experts at companies such as Netflix and PayPal, among others. Now, before we get to this panelist

00:04:19.720 --> 00:04:26.400
discussion, I want to recommend a few books. Now, I'm sure you're all aware of many ways to learn what

00:04:26.400 --> 00:04:31.080
you need to get a programming job, right? We could take online classes, you could go to a university

00:04:31.080 --> 00:04:38.580
program, you could buy a book on Flask, you buy a book on SQLAlchemy. But what I think people sometimes

00:04:38.580 --> 00:04:45.520
overlook are books that are a little more focused on taking a step back and looking at their career as a

00:04:45.520 --> 00:04:52.280
technical person. So I want to recommend two books that changed my thinking on this to some degree. The

00:04:52.280 --> 00:04:58.600
first one is a book called Soft Skills, the Software Developer's Life Manual. And this is a super good book by

00:04:58.600 --> 00:05:04.060
John Sonmez. I'll put the links in the show notes to both of these books that I recommend. And this book

00:05:04.060 --> 00:05:10.840
by John Sonmez really talks about how do you build up your career so that you distinguish yourself? How do

00:05:10.840 --> 00:05:16.440
you specialize in something? And how do you make that known? And he really covers what you need to sort of

00:05:16.440 --> 00:05:22.720
grow into being very successful software developers outside the technical parts, which are, I think,

00:05:22.980 --> 00:05:28.280
sometimes difficult, but more straightforward to learn. The second book I want to recommend is a book called

00:05:28.280 --> 00:05:33.780
The End of Jobs, Money, Meaning and Freedom Without the Nine to Five by a guy named Taylor Pearson.

00:05:33.780 --> 00:05:41.260
So this is one of my favorite books I've read this year. It's not exactly how do you get better at your

00:05:41.260 --> 00:05:47.680
job, but a little bit more at how do you look at employment and work for yourself in general. So

00:05:47.680 --> 00:05:53.160
to give you a sense, I'll give you a little quote from the book. There's a part where he talks about, you know,

00:05:53.160 --> 00:05:58.680
people are having a hard time finding a job doing the certain thing they want, or maybe at the right pay level

00:05:58.680 --> 00:06:02.200
or the right flexibility or something like that, and says something to the effect of

00:06:02.200 --> 00:06:09.920
the problem both for us as a society and as individuals is that we're asking the wrong question. How do I get that job?

00:06:10.340 --> 00:06:13.720
What if a better question is, how do I create a job doing that?

00:06:13.720 --> 00:06:19.680
Taylor goes through sort of analyzing the tech space and talks about entrepreneurship.

00:06:19.680 --> 00:06:26.340
I think you'll get a fresh perspective on careers and employment and jobs and all those sorts of things.

00:06:26.340 --> 00:06:31.400
I'm not sure it's super helpful when you're first getting started, but it's definitely an interesting big picture book

00:06:31.400 --> 00:06:33.360
that I think fits into this conversation.

00:06:34.080 --> 00:06:40.960
So with that introduction, let's get on to our first question with our panelists of newly hired developers.

00:06:40.960 --> 00:06:47.640
In this first segment, I wanted to lay the groundwork to build all the rest of the conversation on.

00:06:47.640 --> 00:06:52.900
So I ask everybody who's participating, what job did they just land?

00:06:52.900 --> 00:07:00.680
Pretty much everyone you're going to talk to has a new job. Many of them, it's their first or one of their first programming job.

00:07:01.160 --> 00:07:05.580
So I ask, what job did you land? What kind of experience were they looking for?

00:07:05.580 --> 00:07:09.460
And what type of people and software will you be working with?

00:07:09.460 --> 00:07:13.640
Hi, my name is Jess Unruin and I work as a software engineer with ShiftGig.

00:07:13.640 --> 00:07:17.480
I got my job as a junior software engineer a little bit more than a year ago.

00:07:17.480 --> 00:07:21.440
Right now I work primarily on API development and backend infrastructure.

00:07:21.440 --> 00:07:26.840
We're using a Flask app to serve out a backend that supports multiple web and mobile applications.

00:07:27.440 --> 00:07:32.060
So they were looking to specifically hire a junior and I didn't have any Python experience.

00:07:32.060 --> 00:07:40.180
Right before I started my job search, I attended a web application development bootcamp called Dev Bootcamp located in Chicago.

00:07:40.180 --> 00:07:43.540
Dev Bootcamp's curriculum is based on Ruby and Rails.

00:07:43.540 --> 00:07:46.060
So when I interviewed, I interviewed in Ruby.

00:07:46.440 --> 00:07:51.780
So even though I didn't have any Python specific experience, I still did have some web application background.

00:07:51.780 --> 00:07:59.040
And I walked in with a final project and a few side projects that I could use as code samples for my interview.

00:07:59.040 --> 00:08:06.160
When I first started my job, my first project was to write unit tests for modules in our code base that had little to no coverage.

00:08:06.400 --> 00:08:20.580
That was a really great way to get started at the company because it not only helped me get up to speed on Python as a language, but got me involved in the code base and figuring out how things worked a lot sooner than I would have just reading through the code alone.

00:08:20.580 --> 00:08:26.600
Here's Eric Chow, who's working on the Microsoft Azure cloud computing team.

00:08:26.960 --> 00:08:31.940
I was recently hired as a software engineer at Microsoft Azure Networking.

00:08:31.940 --> 00:08:41.980
They were mostly looking for a solid network engineer who passes the minimum software developer bar with a strong bias for diving deeper into the software developer world.

00:08:41.980 --> 00:08:50.220
On a daily basis, I do a combination of network engineering, you know, configure, troubleshoot switches, routers, networks.

00:08:50.400 --> 00:08:57.340
And I also deal with the code that manage the network devices, whether it's written by somebody else or written by myself.

00:08:57.340 --> 00:09:03.200
Now let's hear from Jonathan Sundquist, who just landed his first job at Server Density.

00:09:03.200 --> 00:09:08.460
So a year ago, I landed a job at a company called Server Density.

00:09:08.460 --> 00:09:14.800
At the time, they were looking for a support engineer, which was the role I was applying for.

00:09:14.800 --> 00:09:19.160
And Server Density is a company that does server monitoring.

00:09:19.600 --> 00:09:25.620
So they needed a quite tech savvy person who could be at the same level as the customers.

00:09:25.620 --> 00:09:34.760
But as I began working there, I actually transitioned to an inter-role as a back-end engineer who worked on marketing projects.

00:09:34.760 --> 00:09:43.540
And to me, it felt like a step up as I was doing more coding than the support engineer role would have required.

00:09:43.540 --> 00:09:46.120
Next up is Justin Beal.

00:09:46.120 --> 00:09:49.300
And Justin's situation is a little bit different than the other guys.

00:09:49.300 --> 00:09:56.220
Justin has been working as a software developer in the Java space, but he's decided to make the transition over to Python.

00:09:56.220 --> 00:09:58.220
So in some sense, he's brand new.

00:09:58.220 --> 00:10:00.040
And in some sense, he has a lot of experience.

00:10:00.040 --> 00:10:01.240
Let's hear what he has to say.

00:10:02.060 --> 00:10:03.480
Hello, my name is Justin Beal.

00:10:03.480 --> 00:10:08.440
I was a Java web developer for almost 10 years before being introduced to Python.

00:10:08.980 --> 00:10:14.700
In June, I acquired a software developer position at a company called Onshift in Cleveland.

00:10:14.700 --> 00:10:19.440
In Cleveland, Ohio, it's not real easy to find someone with a lot of Python experience.

00:10:19.900 --> 00:10:25.720
So they mainly were looking for a competent, experienced developer who is willing to learn.

00:10:25.720 --> 00:10:30.320
The ability to learn has got to be one of the most important things any candidate can showcase.

00:10:30.820 --> 00:10:37.660
When I was mentored as an intern, I had a boss who I thought was a complete jerk.

00:10:37.740 --> 00:10:43.560
But he gave me one of the best pieces of advice I've ever had in my career and have been running with it since.

00:10:43.560 --> 00:10:49.120
He said, Justin, it's a sink or swim world and you will always be sinking.

00:10:49.120 --> 00:10:52.840
There will never be a time when you know enough.

00:10:53.100 --> 00:10:58.720
If you're not constantly trying to learn, you will become outdated and you'll be stuck.

00:10:58.720 --> 00:11:02.440
So that, I think, is the most important thing when you go into an interview,

00:11:02.440 --> 00:11:04.420
regardless of whether or not you know the language,

00:11:04.420 --> 00:11:08.760
is to be able to demonstrate a time that you were overwhelmed.

00:11:08.760 --> 00:11:10.380
You were able to read a book.

00:11:10.380 --> 00:11:16.760
You did some Google searching about a technology, an open source project, something,

00:11:16.760 --> 00:11:21.960
and demonstrate that I may not have the skills you need right now,

00:11:22.100 --> 00:11:23.460
but I will learn them.

00:11:23.460 --> 00:11:26.120
And it will be quick and I will be efficient.

00:11:26.120 --> 00:11:29.660
In a matter of days, I will be up and contributing to your project.

00:11:29.660 --> 00:11:32.680
Next up is Ilo Correra.

00:11:32.680 --> 00:11:39.560
Ilo was a little concerned that his English was maybe not quite up to interview format in English,

00:11:39.560 --> 00:11:43.940
but I really wanted to include a story because I think it's an interesting one

00:11:43.940 --> 00:11:47.120
and it's somewhat different and it'll probably resonate with some of you out there.

00:11:47.120 --> 00:11:48.620
Ilo is from Portugal.

00:11:48.620 --> 00:11:49.660
And as you may know,

00:11:49.780 --> 00:11:53.020
Portugal has had some really tough times with their economy.

00:11:53.020 --> 00:11:58.440
Right now, I think the unemployment is 11.9% and that's much better than it has been.

00:11:58.440 --> 00:12:01.860
Over the last few years, it was somewhere close to 20%.

00:12:01.860 --> 00:12:07.020
When you're in that kind of market, finding a job takes on a different set of challenges.

00:12:07.520 --> 00:12:13.960
Add to that, Ilo lives out in the country in a small town and he's looking for a job as a software developer

00:12:13.960 --> 00:12:18.920
and doesn't really want to move to major cities where you probably can find jobs pretty easily,

00:12:18.920 --> 00:12:22.940
but then you're living in the middle of a city and that's not the lifestyle he wants.

00:12:23.480 --> 00:12:33.820
So his story is about how do you take this sort of tough situation as well as geographically located in places that maybe are a little harder to find Python jobs and make it work.

00:12:33.820 --> 00:12:34.960
Here's Ilo.

00:12:34.960 --> 00:12:36.700
Hello, Michael.

00:12:36.700 --> 00:12:37.260
Hello, Michael.

00:12:37.260 --> 00:12:39.800
Thanks for having me on the show.

00:12:39.800 --> 00:12:42.520
My name is Ilo Correa.

00:12:42.520 --> 00:12:43.940
I'm Portuguese.

00:12:45.080 --> 00:12:48.620
Iloved to code, build stuff, etc.

00:12:48.620 --> 00:13:02.400
Now, I'm currently working as a backend developer and a sysadmin for a company that do websites, web apps, digital marketing, etc.

00:13:02.400 --> 00:13:18.820
For this position, they are looking for someone with good understanding of Unix command line, Python, Django, good understanding on configuration, administration, the server.

00:13:18.820 --> 00:13:23.440
To get this job, it was a bit tricky.

00:13:23.440 --> 00:13:33.240
I live in South and in Portugal, IT jobs focus almost in the capital.

00:13:33.240 --> 00:13:37.720
With that, I had two options.

00:13:37.720 --> 00:13:42.160
Find a remote job or go to the capital.

00:13:42.160 --> 00:13:52.400
Because I like the good weather and I like to live in a peaceful place, I did want to go to the capital.

00:13:52.400 --> 00:14:01.180
And for a guy like me with almost no experience, a remote job, it is really hard.

00:14:01.180 --> 00:14:04.580
Our final guest is Matt Yancey.

00:14:04.580 --> 00:14:08.800
And Matt will bring us the data science side of the Python story.

00:14:08.800 --> 00:14:21.140
My name is Matt Yancey and I work as a data scientist at First Analytics, which is a consulting firm that specializes in using data and analytical techniques to provide services or solutions to other companies.

00:14:22.220 --> 00:14:29.160
Since joining, some of the work I've done has included predictive modeling, forecasting, text analytics, as well as data visualization.

00:14:29.160 --> 00:14:36.920
And we work in industries ranging from retail to railroad.

00:14:38.320 --> 00:14:46.260
From the perspective of the hiring process, I think First Analytics was looking for someone who had a good base knowledge of the standard analytical tools.

00:14:46.260 --> 00:14:55.140
So this includes basic statistics, linear regression, decision trees, things like that.

00:14:55.880 --> 00:15:04.240
But they also wanted someone who had kind of more niche or specific knowledge.

00:15:04.820 --> 00:15:21.560
So in my case, you know, I had some experience, you know, with text analytics and with web scraping, both of which I was able to really mainly do just through Python, using both the NLTK package and, you know, the beautiful suit package.

00:15:22.980 --> 00:15:28.880
The next thing I want to explore with our group is what did they do to prepare for this position?

00:15:28.880 --> 00:15:38.160
So everybody you're hearing from has recently landed a job that's at least some major transition, if not an entirely new career for them.

00:15:38.160 --> 00:15:39.920
And so what did they do?

00:15:40.440 --> 00:15:50.480
Did they go to the university, study for four years and get some very nice, well-rounded education, but four years of hard work before you can see whether that's going to work out?

00:15:50.480 --> 00:15:53.560
Or did they do some online video courses?

00:15:53.560 --> 00:15:54.900
Did they read books?

00:15:54.900 --> 00:15:56.880
Did they work on side projects?

00:15:56.880 --> 00:16:02.900
Where I work, we interview a lot of people, but we hire very few junior developers.

00:16:02.900 --> 00:16:06.640
Generally, everyone I work with is a software trainer.

00:16:06.820 --> 00:16:12.620
So we teach people who are already experienced software developers something new that they don't know.

00:16:12.620 --> 00:16:16.540
And so that doesn't really fit the mold of helping someone get their first job, right?

00:16:16.540 --> 00:16:17.860
You have to come with experience.

00:16:17.860 --> 00:16:20.700
In my world, we don't look at degrees.

00:16:20.700 --> 00:16:27.280
We don't really care so much about what you've studied and a lot of plaques and certifications.

00:16:27.280 --> 00:16:30.900
We just want to know what have you done and how can you present that?

00:16:31.180 --> 00:16:39.240
But I wanted to ask everybody here what they tried and what worked because they are in a very different position than the experience I have.

00:16:39.240 --> 00:16:40.740
Here's Jess again.

00:16:40.740 --> 00:16:43.280
How have you prepared for this position?

00:16:43.280 --> 00:16:47.360
To prepare for my job as a junior developer, I went through Dev Bootcamp.

00:16:47.780 --> 00:16:58.140
I'd done some self-guided learning before I got to that point, but I eventually found that I wasn't learning as quickly or effectively by myself as I would going through some sort of program.

00:16:58.140 --> 00:17:02.660
I started researching different boot camps around the country.

00:17:02.660 --> 00:17:08.880
I looked at Hackbright Academy, which is an all-women boot camp in San Francisco that does focus on Python.

00:17:08.880 --> 00:17:19.220
I also looked at App Academy and the different locations for Dev Bootcamp, but ultimately decided on going to the Chicago location of Dev Bootcamp after doing some research and price comparison.

00:17:19.220 --> 00:17:23.660
When I first started out, I wasn't looking specifically for a job in Python.

00:17:23.660 --> 00:17:28.020
I didn't know enough about the tech market to be looking at any languages in particular.

00:17:28.020 --> 00:17:38.080
I really wanted to focus my education on the fundamentals of web development and what it means to be a programmer since I was coming from a complete career change.

00:17:38.080 --> 00:17:53.460
I wasn't at all interested in going back for a two- or four-year degree because I already have my bachelor's in political science and music, and I wasn't interested in investing another two to four years of education where I was taking myself off of the job market and accumulating more debt.

00:17:53.460 --> 00:18:02.980
So boot camps looked like a really attractive option because they promised to get you through quickly and get you up to speed on being able to be a junior.

00:18:02.980 --> 00:18:06.340
Here's Eric Chow.

00:18:06.720 --> 00:18:08.880
How have you prepared for this position?

00:18:08.880 --> 00:18:14.100
I don't think I set out to be a software developer, per se.

00:18:14.100 --> 00:18:22.540
I discovered Python several years ago while trying to solve my own problem, which is something that was interesting.

00:18:22.540 --> 00:18:28.640
And again, it was solving the day-to-day problems I was facing at work.

00:18:28.780 --> 00:18:29.780
And I got really into it.

00:18:29.780 --> 00:18:34.400
And I started taking several university extension classes.

00:18:34.400 --> 00:18:39.520
I started a Python for Network Engineer blog, a Facebook page.

00:18:39.720 --> 00:18:50.420
And in general, when I finished writing some of the scripts and code, I cleaned them up and put them and published them on my blog to help others.

00:18:50.660 --> 00:18:53.760
So I think that kind of prepared me well for the job.

00:18:53.760 --> 00:18:58.360
But again, I think I never set out to be a software developer.

00:18:58.360 --> 00:19:03.960
It was just something that I was using on a daily basis to solve the problem I have.

00:19:03.960 --> 00:19:06.120
And it was something that was interesting to me.

00:19:06.600 --> 00:19:09.580
Next up is Jonathan Sundquist.

00:19:09.580 --> 00:19:17.100
So my background isn't at all in engineering, and it's not even in programming.

00:19:17.100 --> 00:19:22.960
So it all started with me discovering Udacity.

00:19:22.960 --> 00:19:26.220
They had this course called CS101.

00:19:26.220 --> 00:19:31.100
Essentially was the foundation which I built everything upon.

00:19:31.640 --> 00:19:39.180
After I did that course, I continued to learn on my own, reading online articles and trying to take other online courses.

00:19:39.180 --> 00:19:44.560
So that was something that I continued to do for like one and a half years or something like that.

00:19:44.560 --> 00:19:46.960
And eventually I heard something.

00:19:46.960 --> 00:19:48.720
I heard about boot camps.

00:19:48.720 --> 00:19:55.820
And I heard that that was a good thing to really kickstart your career into getting into the industry.

00:19:56.220 --> 00:20:01.640
And eventually I found one, which was a boot camp called Hackership.

00:20:01.640 --> 00:20:11.480
So during three months, I was able to focus quite intensively on doing programming among peers who did the same thing.

00:20:11.480 --> 00:20:14.860
And like we collaborated and did things like that.

00:20:14.860 --> 00:20:19.820
And the peer support was incredibly helpful.

00:20:19.820 --> 00:20:32.080
And having coaches around you and having a structure really helped me into getting into the habit of programming and like solving the problems that was required for this kind of thing.

00:20:32.080 --> 00:20:42.480
And having this helped me to like build a project of my own that I could talk about to like a prospective employer later on.

00:20:42.480 --> 00:20:45.060
Here's Justin Beal.

00:20:46.020 --> 00:20:49.920
When you are a competent, experienced developer, you don't stay on the market very long.

00:20:49.920 --> 00:20:56.240
The most important thing is to be able to demonstrate that competency when you actually find a position that you like.

00:20:56.240 --> 00:21:00.780
When I'm getting ready to interview, I read about big O notation for a little bit.

00:21:00.780 --> 00:21:04.680
Everybody should know that looping inside of a loop is an N-squared algorithm.

00:21:04.680 --> 00:21:12.320
But you should also know how efficient sorts are and access from a map, things of that nature.

00:21:12.320 --> 00:21:14.100
What is the big O notation of those?

00:21:15.000 --> 00:21:17.960
In addition, I like to refresh up on my data structures and algorithms.

00:21:17.960 --> 00:21:29.360
Knowing the difference between a list and a map, an array, how trees work, things of that nature, go a long way to demonstrate your understanding of computer science in general.

00:21:29.360 --> 00:21:33.640
The fundamentals are basically the most important thing.

00:21:33.640 --> 00:21:35.180
No good OO principles.

00:21:35.180 --> 00:21:38.000
If you don't know what the term solid means, look it up.

00:21:39.040 --> 00:21:44.740
Finally, as an advice to future candidates, know how to solve FizzBuzz in less than five minutes, please.

00:21:44.740 --> 00:21:47.780
Also, how to reverse a string in your language of choice.

00:21:47.780 --> 00:21:52.140
If you can't do those things, you're not ready for any interview at any level.

00:21:52.140 --> 00:21:55.120
Next up is Elio.

00:21:55.380 --> 00:22:04.740
I was really in PHP level and my focus was to get a job with that technologies.

00:22:04.740 --> 00:22:17.160
But here where I live, PHP companies work almost only with WordPress, Chumas and Drupal.

00:22:17.720 --> 00:22:22.140
It was a technology that I didn't like to work.

00:22:22.140 --> 00:22:29.320
Seeing that, I started looking for other companies without the technology in my area.

00:22:29.320 --> 00:22:33.640
For example, with C#, Python, Ruby.

00:22:34.180 --> 00:22:35.740
So I started looking.

00:22:35.740 --> 00:22:41.340
Then I found the one that I was working with Python and Django.

00:22:41.340 --> 00:22:44.640
And I tried to...

00:22:44.640 --> 00:22:47.920
And I was sending an email for...

00:22:47.920 --> 00:22:50.840
To get an interview.

00:22:50.840 --> 00:22:56.300
When I go to the interview, I didn't have much experience with Python.

00:22:57.100 --> 00:23:05.380
But I tried to prove my value showing the work I do, I did in other languages.

00:23:05.380 --> 00:23:14.020
And showing the good structure, good habits, so they can have me on the team.

00:23:14.020 --> 00:23:26.220
They say to me that I have to study a little and make something so they can see in Python.

00:23:26.880 --> 00:23:33.760
So I buy two books of Django and starting doing a simple project.

00:23:33.760 --> 00:23:35.980
After a few...

00:23:35.980 --> 00:23:43.040
After two weeks, contact them again and show my website.

00:23:43.040 --> 00:23:44.580
And they like it.

00:23:44.580 --> 00:23:51.240
They gave me a project and I start working for them as a freelancer.

00:23:52.020 --> 00:23:53.400
I start making projects.

00:23:53.400 --> 00:23:53.820
I start making projects.

00:23:53.820 --> 00:23:53.820
I start making projects.

00:23:53.820 --> 00:23:55.720
Simple websites.

00:23:55.720 --> 00:24:00.500
Then going for more like legacy code.

00:24:00.500 --> 00:24:03.120
And start improving.

00:24:03.120 --> 00:24:13.280
After a few months, the boss talked to me saying that he will need a CZ admin, DevOps, to help the current one.

00:24:13.280 --> 00:24:20.120
And if I'm history interested, he'll like me to have me on the team for good.

00:24:20.120 --> 00:24:23.560
So that's how I get my job.

00:24:23.560 --> 00:24:26.080
It's not easy.

00:24:27.660 --> 00:24:29.520
Now let's hear from Matt Yancey.

00:24:29.520 --> 00:24:38.240
When it comes to what helped prepare me for my current position, I've been very fortunate to have some really good formal education.

00:24:38.760 --> 00:24:43.860
So I recently graduated from Northwestern's Masters of Science and Analytics program.

00:24:43.860 --> 00:24:51.120
And in that program, we had courses that covered Python, Java, as well as modeling and data mining.

00:24:52.700 --> 00:24:57.940
But then we also had a practicum where we were placed in groups of four.

00:24:57.940 --> 00:25:00.580
So it was me and three other students.

00:25:00.580 --> 00:25:05.380
And then we were then assigned to work with a company that had a specific analytical problem.

00:25:05.380 --> 00:25:08.500
And they would give us the corresponding data.

00:25:08.500 --> 00:25:14.260
And then we'd apply the different techniques that we've been learning to that data set.

00:25:14.960 --> 00:25:16.860
And try to come up with a good solution.

00:25:16.860 --> 00:25:20.140
Now I know grad school doesn't work for everyone.

00:25:20.140 --> 00:25:29.280
But fortunately, there's a lot of really good alternative resources out there for getting some of those same aspects of an analytics program.

00:25:29.280 --> 00:25:38.820
When it comes to learning a programming language like Python or Java, I think anyone who's listening to this podcast knows there's a million resources out there on the web for doing that.

00:25:39.500 --> 00:25:45.580
But there's also a lot of really good resources like MOOCs and online tutorials for data science courses.

00:25:45.580 --> 00:25:47.240
They cover a lot of different topics.

00:25:47.240 --> 00:25:51.800
Kind of the more difficult thing is getting industry experience.

00:25:51.800 --> 00:25:57.380
But fortunately, we have Kaggle, which is a great resource for doing that.

00:25:57.380 --> 00:26:08.720
For those who are unfamiliar with what Kaggle is, it's simply a site where companies can post their problems along with their data that they want other people to solve.

00:26:08.720 --> 00:26:12.640
And these problems are posted actually in the form of a competition.

00:26:12.640 --> 00:26:19.060
So you can also see how you rank against other people in the data science community.

00:26:19.060 --> 00:26:22.200
And the people that can also post some of their solutions.

00:26:22.200 --> 00:26:27.060
So it's a great place for learning how to do some data science as well.

00:26:27.060 --> 00:26:33.680
But this provides a great opportunity for people to get to play with real-world company data.

00:26:33.680 --> 00:26:47.440
This episode is brought to you by Hired.

00:26:47.440 --> 00:26:53.920
Hired is a two-sided, curated marketplace that connects the world's knowledge workers to the best opportunities.

00:26:53.920 --> 00:26:58.260
Each offer you receive has salary and equity presented right up front,

00:26:58.260 --> 00:27:03.080
and you can view the offers to accept or reject them before you even talk to the company.

00:27:03.080 --> 00:27:08.700
Typically, candidates receive five or more offers in just the first week, and there are no obligations.

00:27:08.700 --> 00:27:09.440
Ever.

00:27:09.440 --> 00:27:11.540
Sounds pretty awesome, doesn't it?

00:27:11.540 --> 00:27:13.580
Well, did I mention there's a signing bonus?

00:27:13.580 --> 00:27:17.680
Everyone who accepts a job from Hired gets a $2,000 signing bonus.

00:27:17.680 --> 00:27:22.020
And as Talk Python listeners, it gets way sweeter.

00:27:22.640 --> 00:27:29.580
Use the link Hired.com slash Talk Python To Me, and Hired will double the signing bonus to $4,000.

00:27:29.580 --> 00:27:31.300
Opportunity's knocking.

00:27:31.300 --> 00:27:34.920
Visit Hired.com slash Talk Python To Me and answer the call.

00:27:44.660 --> 00:27:48.300
So you've heard the different approaches that our new hires have taken.

00:27:48.300 --> 00:27:50.100
Some of them did boot camps.

00:27:50.100 --> 00:27:51.540
Some of them did online courses.

00:27:51.540 --> 00:27:54.200
Some of them just built it up slowly over time.

00:27:54.200 --> 00:27:57.860
And we haven't had a master's degree in the mix there.

00:27:57.860 --> 00:28:07.780
So I asked them, what do you think of your particular path to getting ready to get this job and get started in this industry was the most important?

00:28:08.740 --> 00:28:12.460
What part of your experience from question two made the biggest difference?

00:28:12.460 --> 00:28:24.280
So at the end of Dev Boot Camp, you spend a pretty intense eight days at the end of the program working with a small group to create a full MVP web application that you present to potential employers.

00:28:24.280 --> 00:28:30.800
Working quickly to create that MVP that you have to coherently present was an incredibly valuable experience.

00:28:31.020 --> 00:28:38.280
One of the most important things that I learned over the course of our final project was how to talk about the decisions you make as a programmer.

00:28:38.280 --> 00:28:41.620
Why does your infrastructure look the way it does?

00:28:41.620 --> 00:28:44.420
Why did you choose to use the packages that you did?

00:28:44.420 --> 00:28:48.000
Why don't you have coverage for this particular module?

00:28:48.780 --> 00:29:05.260
That was a really helpful experience because when I was interviewing, my team was looking much more for critical thinking skills, communication skills, and being able to defend your positions than they were for specific Python knowledge.

00:29:05.260 --> 00:29:17.120
So I think that boot camps do a good job of getting you to the point where you can critically analyze what you're writing and learn quickly and adapt quickly to new situations.

00:29:17.660 --> 00:29:28.460
Another thing that the instructors encouraged us to do while we were at Dev Boot Camp was to consider things we might have done differently if we had the chance to start our project over or if we had more time to refactor.

00:29:28.460 --> 00:29:39.260
Being able to think about editing and critical analysis was a really great skill that I think they did a good job of instilling in my nine weeks at Dev Boot Camp.

00:29:39.260 --> 00:29:44.100
What part of your experience made the biggest difference?

00:29:44.380 --> 00:29:53.980
I think the blog really showed my dedication toward learning how to code and shows kind of this practical side of what I can do.

00:29:53.980 --> 00:30:01.340
I mean, it takes time and effort to write the code, clean it up, add comment, and format it correctly for the web.

00:30:01.780 --> 00:30:04.380
Also, you know, I know this wasn't going to make me any money.

00:30:04.380 --> 00:30:14.040
And I just wanted to do this for, you know, one, to track my own effort, and two, to possibly help others in the same situation.

00:30:14.040 --> 00:30:21.880
So I think that really helped me in a way to differentiate myself from other candidates.

00:30:23.600 --> 00:30:34.420
So what made the biggest difference was really being able to have this kind of immersive experience as I had in hackership.

00:30:35.260 --> 00:30:43.520
And it gave me the kind of confidence boost that made me feel that programming was something that I could actually do.

00:30:43.520 --> 00:30:56.000
As I said earlier, at the end of the three months, I had something that I could actually talk about with an employer and show him that this is what I've learned during these three months.

00:30:56.400 --> 00:30:58.660
And this is what I actually can do.

00:30:58.660 --> 00:31:07.280
I think the thing that makes the biggest difference in an interview is demonstrating that this is a lifestyle choice for you.

00:31:07.280 --> 00:31:08.960
It's not just a nine-to-five job.

00:31:08.960 --> 00:31:12.400
When I go home, I read about programming.

00:31:12.400 --> 00:31:14.320
When I work, I program.

00:31:14.320 --> 00:31:15.820
When I dream, I program.

00:31:15.820 --> 00:31:21.700
It's one of those things where this is my niche, and I want to be an expert in it.

00:31:21.700 --> 00:31:24.680
Prove to people that that is true for you also.

00:31:25.380 --> 00:31:28.020
If you feel like you're weak on something, read about it.

00:31:28.020 --> 00:31:36.320
Most recently, I was told that I don't know what I'm doing as far as being a manager, so I've been listening to audio books at work.

00:31:36.320 --> 00:31:38.760
Most recently, Leading Snowflakes.

00:31:38.760 --> 00:31:45.380
But I've also listened to The Leadership Secrets of Attila Hunt, The Lean Startup, The Toyota Way.

00:31:45.380 --> 00:31:52.000
If there is something you feel like you are weak in, master it, and don't let anybody tell you that they are better than you.

00:31:54.360 --> 00:31:55.360
To help others.

00:31:55.360 --> 00:31:55.500
To help others.

00:31:55.500 --> 00:31:59.860
This job as a developer, I think it's our job.

00:31:59.860 --> 00:32:03.780
It's something that you have to love it to be successful.

00:32:03.780 --> 00:32:07.960
It's not something you can pick.

00:32:07.960 --> 00:32:11.340
To be a good professional, you have to be an internal student.

00:32:11.340 --> 00:32:17.920
You have to have passion for what are you doing, or you were not.

00:32:18.880 --> 00:32:23.460
Saying that if you have this, you don't have any excuse.

00:32:23.460 --> 00:32:31.180
No matter where you live, the crisis, you have how to be a good programmer and person.

00:32:31.180 --> 00:32:33.720
You just need to be patient.

00:32:37.480 --> 00:32:55.920
With regard to what part of my experience made the biggest difference in the interview process, if I had to take a guess, I would probably say it was those experiences that were either creative or kind of outside the norm or involved new technology.

00:32:56.740 --> 00:33:02.740
Basically anything that really kind of distinguished me from the different candidates that were also interviewing.

00:33:02.740 --> 00:33:08.780
So one project I would kind of always point to was the text analytics project that I did.

00:33:08.780 --> 00:33:16.860
Text analytics, while it's kind of popular, it's still very much outside that essential skill set for data scientists.

00:33:17.260 --> 00:33:20.460
So that was something that I felt like definitely differentiated me.

00:33:20.460 --> 00:33:29.880
And for my project, it wasn't necessarily super complex, but it was something that was kind of creative and fun, I thought.

00:33:29.880 --> 00:33:37.220
What I did was I wrote some script that could take the transcripts from a television show.

00:33:38.020 --> 00:33:51.680
And then, you know, break it up by the different characters and then analyze what those characters said and produce a metric for either how positive or negative that character was, you know, during a certain episode.

00:33:51.680 --> 00:34:00.300
And so what you can then do is, you know, you can plot these over time and see, you know, what characters, you know, become more positive or more negative as, you know, the show progresses.

00:34:00.680 --> 00:34:08.620
So it was, you know, just something, you know, kind of fun and creative, but, you know, also showed that, you know, I had this skill that, you know, not every data scientist has.

00:34:08.620 --> 00:34:22.280
If I were looking for a job now, maybe I'd want to focus on Google's TensorFlow, which is their new package for Python for doing all of their deep learning computation.

00:34:23.840 --> 00:34:25.300
So you have a couple benefits there.

00:34:25.300 --> 00:34:27.460
You know, one, it's, it's, you know, very new.

00:34:27.460 --> 00:34:31.120
So not that many people know or have experience with it.

00:34:31.120 --> 00:34:38.820
But then also, you know, it would demonstrate that, hey, this is someone that, you know, is kind of up to date on like what is coming out.

00:34:38.820 --> 00:34:44.800
You know, their hand is kind of on the pulse for those new tools and packages that are being released to the data science community.

00:34:45.580 --> 00:34:54.680
Keeping with the theme that I'd like to help everyone out there looking for a job or trying to get into a career, trying to help them be successful.

00:34:54.680 --> 00:35:05.060
I asked our panelists what it was about their experience or them or the interview process that they felt was key to them actually landing this job they're in.

00:35:05.060 --> 00:35:06.780
So let's hear what they have to say.

00:35:06.780 --> 00:35:10.720
Why do you think they chose you over the other applicants?

00:35:12.000 --> 00:35:24.200
Most junior developers are going to walk into their first job with largely the same skill set, especially if you come from a boot camp education, you're going to miss out on a lot of the theoretical knowledge that somebody with a four year CS degree is going to walk in with.

00:35:24.200 --> 00:35:37.960
Although you might have a little bit more practical application with the web development side, especially in terms of JavaScript or some micro frameworks that aren't necessarily adopted in college curriculum yet.

00:35:37.960 --> 00:35:43.460
So there are tradeoffs that you'll experience in a boot camp versus a computer science education.

00:35:43.460 --> 00:35:47.520
But generally, juniors are going to walk in looking pretty much the same.

00:35:47.520 --> 00:35:58.340
So the thing that I found that really helped differentiate me as a candidate was walking in with a strong code sample that I felt proud of and was able to defend very clearly.

00:35:58.700 --> 00:36:09.340
So in my final project, we used an API to gather tweets from geofence locations and another API to run a sentiment analysis on that social media output.

00:36:09.440 --> 00:36:31.640
And it was very important for me to be able to talk in my interview about why I chose the APIs that I did, why we use the Ruby gems that we did, and talk about some of the alternatives to the APIs or the packages that we used and be able to talk clearly and concisely about the decisions we made during our project, pivots that we made when things weren't working.

00:36:32.180 --> 00:36:41.560
And then in a couple cases, talk about decisions that we regretted, but were unable to course correct for due to the abbreviated nature of the program.

00:36:42.100 --> 00:36:53.720
And again, because most juniors are going to walk into a job interview knowing a lot of the same things, a hugely important factor in finding my first Python job was the culture fit at my company.

00:36:53.720 --> 00:37:05.460
We all got along right away, and that's something that's incredibly important when you find a junior, because juniors are getting paid to learn and might not offer much direct business value right off the bat.

00:37:06.200 --> 00:37:14.420
And employers understand this when they're hiring juniors, but it means that finding a company where you're a good culture fit is maybe more important than it will be in subsequent jobs.

00:37:14.420 --> 00:37:20.520
You're going to spend a lot of time in direct contact with your team lead as you learn about the company and the code base.

00:37:20.520 --> 00:37:25.180
So hiring a junior developer is a big investment, especially for small development teams.

00:37:25.180 --> 00:37:29.200
So they want to make sure that you're somebody that they really want to work with every day.

00:37:30.340 --> 00:37:34.040
Why do you think they chose me over the other applicants?

00:37:34.040 --> 00:37:36.980
I think the diverse background really helped.

00:37:36.980 --> 00:37:44.520
I guess they could say, hey, you know, if this software engineering thing doesn't work out, we'll go as you seem as a network engineer.

00:37:47.520 --> 00:37:56.640
I think the other experience I had had had before definitely mattered in getting me chosen as an applicant.

00:37:56.640 --> 00:38:05.680
I had done some writing professionally, so I could give a hand with that in marketing when it was needed.

00:38:05.900 --> 00:38:17.220
And as I also knew Python, it would also help contributing with developing things in marketing and related projects in programming.

00:38:17.220 --> 00:38:23.780
I believe the reason I was picked for the position is that I was able to easily demonstrate my competency.

00:38:23.780 --> 00:38:35.880
I have a GitHub repository with almost a dozen or so different projects, ranging from JavaScript and Angular to web services to encryption, things that interest me.

00:38:35.880 --> 00:38:39.900
Most recently, I started one trying to do an OAuth 2.0 implementation.

00:38:39.900 --> 00:38:43.820
In addition to GitHub, I also like to blog.

00:38:44.200 --> 00:38:54.100
So I have many blog posts on my brother's site where I just basically talk about the technology that I picked up, what I did to master it, and how to apply it.

00:38:54.100 --> 00:39:00.020
Finally, I believe they picked me because their bar was not as high as it should have been.

00:39:00.020 --> 00:39:07.200
If you go into an interview and they give you a fizz buzz, as I mentioned, you should be able to do that with your eyes closed.

00:39:07.200 --> 00:39:10.680
Mod 3, Mod 5, get the results.

00:39:10.680 --> 00:39:11.580
It's that simple.

00:39:11.580 --> 00:39:14.360
I mean, it really should take you about the time to talk to it to solve it.

00:39:14.360 --> 00:39:15.920
Same goes reversing a string.

00:39:15.920 --> 00:39:31.980
This episode is brought to you by Codeship.

00:39:31.980 --> 00:39:40.820
Codeship has launched organizations, create teams, set permissions for specific team members, and improve collaboration in your continuous delivery workflow.

00:39:41.420 --> 00:39:46.740
Maintain centralized control over your organization's projects and teams with Codeship's new organizations plan.

00:39:46.740 --> 00:39:52.260
And as Talk Python listeners, you can save 20% off any premium plan for the next three months.

00:39:52.260 --> 00:39:55.780
Just use the code TALKPYTHON, all caps, no spaces.

00:39:55.780 --> 00:40:01.520
Check them out at Codeship.com and tell them thanks for supporting the show on Twitter where they're at Codeship.

00:40:08.420 --> 00:40:22.040
In this last question, I basically asked the panelists to speak directly to you, the developers and potential developers or soon-to-be developers, about what advice they had for you to help you get started.

00:40:22.040 --> 00:40:23.180
Here they are.

00:40:25.180 --> 00:40:34.460
So I actually wish I had done more research and experimentation prior to starting my first Python job since I wrote my first line of Python on my first day of the job.

00:40:35.180 --> 00:40:37.020
It ended up working out really well for me.

00:40:37.020 --> 00:40:45.480
And like I said, I think it helped that I had strong fundamentals in web development and I had a good grasp of Ruby at the time.

00:40:45.480 --> 00:40:48.220
So it was a pretty easy transition from Ruby to Python.

00:40:48.220 --> 00:40:54.040
But I wish I had done more self-guided learning specifically on Python before starting the job.

00:40:54.040 --> 00:40:59.920
I think side projects are a really great way to get some experience with a language.

00:40:59.920 --> 00:41:11.240
And something that I like to tell a lot of people when I hear that they're looking for their first job in Python is to pick out some popular libraries and dive into the source code for those libraries.

00:41:11.960 --> 00:41:19.200
I like to point to requests as a particularly good library that's well-structured and well-maintained that's easy to dive into as a beginner.

00:41:19.200 --> 00:41:25.860
I think it's important to look at the tools that you're using and think critically about the ways that those libraries are structured.

00:41:25.860 --> 00:41:36.080
Try to find a few specific things that you really like in that library or find a few things that you might do differently or that you question the implementation and you want to learn more about.

00:41:36.560 --> 00:41:42.200
One of the best things that you can do to prepare yourself for a development job is to be opinionated about the tools you work with.

00:41:42.200 --> 00:41:47.840
Be able to identify one or two of your favorite packages and talk about why in the interview.

00:41:47.840 --> 00:41:53.000
Being opinionated shows that you're passionate and considerate about your craft.

00:41:53.000 --> 00:42:03.320
Even if your interviewers don't agree with your assessment of a particular tool, they're going to appreciate that you're investing time and resources toward critically evaluating your own work and the tools that you use.

00:42:04.180 --> 00:42:08.740
Another thing that I would recommend is joining local user groups and getting a feel for the job market.

00:42:08.740 --> 00:42:16.200
User groups can be a little bit difficult to break into, but group organizers usually have their contact info publicly available somewhere.

00:42:16.200 --> 00:42:22.060
And group organizers are a great resource for people looking to break into a development community.

00:42:22.060 --> 00:42:28.420
They're usually group organizers because they like providing that connection for people and seeing people get started.

00:42:29.540 --> 00:42:38.040
User groups are also a great way to find about free classes or professional development opportunities that are going on your area for either low or no cost.

00:42:38.040 --> 00:42:42.840
I really regret that I didn't do as much networking as I should have prior to my job search.

00:42:42.840 --> 00:42:49.260
And I wish I'd taken advantage of more of the publicly available resources in the Chicago Python community.

00:42:49.260 --> 00:42:57.400
Most major metropolitan areas are going to have some great public resources and people who really want to help you get out there.

00:42:57.800 --> 00:43:03.300
Especially women's user groups are a really friendly way for women who want to transition careers.

00:43:03.300 --> 00:43:08.700
Especially if you're not ready to dive right into a boot camp education or you don't want to go back to college yet.

00:43:08.700 --> 00:43:17.740
Checking out the Python community where you live is a really great way to get started and to find out what other people are looking for in juniors.

00:43:18.740 --> 00:43:24.220
Often a lot of people who are looking to recruit new developers will recruit through user groups.

00:43:24.220 --> 00:43:32.460
So that's also a great way to get your foot in the door and get some name recognition before you walk into your interview, which is a great experience to have.

00:43:32.460 --> 00:43:38.300
What advice do you have for other new developers looking for their first job?

00:43:38.300 --> 00:43:46.780
I think trying to solve your own problem, whether it's the problem you face at school, at work, is really important.

00:43:46.780 --> 00:43:57.100
Because I think by solving your own problem, you will have the highest satisfaction when you're finally able to solve the problem, get a solution going.

00:43:57.220 --> 00:44:05.480
And also that you will find out that other people who may have the similar experience as you and have the same problem.

00:44:05.480 --> 00:44:14.980
And that will kind of expand your network and expand your vision into those different fields that will make connections, lend your jobs.

00:44:15.640 --> 00:44:24.500
And I also think that it's important to keep in mind that, you know, software engineering skill is a, just like anything else, it's a learned skill set.

00:44:24.500 --> 00:44:27.900
You will get better with time and practice and effort.

00:44:27.900 --> 00:44:35.880
And so it's important to just, you know, kind of keep your chin up and don't get discouraged and go from there.

00:44:38.260 --> 00:44:47.060
So for new developers who are looking for the first job, I would really recommend to get out there and socialize with other developers.

00:44:47.060 --> 00:44:54.500
Go to meetups and see what it's like talking with other developers and learn at these meetups.

00:44:54.500 --> 00:45:05.360
And I also think that it's really helpful to have, to actually have a concrete project that you've made yourself and that you can talk about.

00:45:05.560 --> 00:45:12.600
That way you can mention it in a cover letter later on, or you can talk about it during an interview.

00:45:12.600 --> 00:45:23.460
And having built something from the ground up really helps to understand all the different parts, which will also help you land a job.

00:45:23.460 --> 00:45:34.220
The most important advice that I can give someone who is finally landing their job or looking for their job is to make sure you negotiate your market value correctly.

00:45:34.220 --> 00:45:38.800
One of my favorite positions starting off, I was underpaid.

00:45:38.800 --> 00:45:43.860
And as a result, I felt like I wasn't being valued as much as I should have been.

00:45:43.860 --> 00:45:46.840
Don't take the first job because you're desperate.

00:45:46.840 --> 00:45:50.220
Each hop in your career, you're going to learn.

00:45:50.220 --> 00:45:51.780
You're going to pick up new tricks.

00:45:52.660 --> 00:46:00.340
And if you're stuck in a place without good mentors, without competent business people, you'll be wasting your time.

00:46:00.340 --> 00:46:05.520
I know, especially when you have your first job, anything seems acceptable.

00:46:05.520 --> 00:46:07.560
But make sure you land the right one.

00:46:07.560 --> 00:46:09.940
You don't want to be known as a job hopper.

00:46:09.940 --> 00:46:11.920
So plan on staying for at least two years.

00:46:11.920 --> 00:46:24.420
For people who are looking for their first job, I would recommend two things.

00:46:24.420 --> 00:46:27.880
First, be familiar with the technology that is out there.

00:46:28.560 --> 00:46:35.760
So if you're planning on going into data science, then by technology, I mean the software.

00:46:35.760 --> 00:46:39.000
So Python, R, SAS, Tableau.

00:46:39.000 --> 00:46:44.920
But I also mean the different methodologies for analyzing data.

00:46:44.920 --> 00:46:48.280
So regression analysis, decision trees, and clustering.

00:46:49.380 --> 00:46:51.660
Now, you don't need to be a master of all these things.

00:46:51.660 --> 00:46:55.060
But it helps to have at least some experience in most of them.

00:46:55.060 --> 00:46:59.640
And then to have kind of a more advanced level knowledge in a few areas.

00:46:59.640 --> 00:47:03.780
So maybe you want to aim for being kind of a jack-of-all-traits master of a few, I guess.

00:47:03.780 --> 00:47:14.860
And if you are going to specialize in Python, then I definitely recommend being familiar with some of the really core and fundamental packages for data analysis.

00:47:15.980 --> 00:47:22.860
So that would include scikit-learn, numpy, pandas for manipulating your data.

00:47:22.860 --> 00:47:28.400
The NLTK package is great for if you're doing text analytics.

00:47:28.400 --> 00:47:32.480
I also use a lot of – I do a lot of web scraping.

00:47:32.480 --> 00:47:35.160
So I use requests and beautiful soup.

00:47:35.160 --> 00:47:42.440
But then also Google recently announced their TensorFlow package for doing deep learning.

00:47:43.000 --> 00:47:48.700
So having a good foundational knowledge of those things is definitely key.

00:47:48.700 --> 00:47:54.480
And the second part of advice is that I would say to have like an online portfolio.

00:47:54.480 --> 00:48:03.200
For me, when I was interviewing, a lot of these job interviews were either phone interviews or Skype interviews.

00:48:04.300 --> 00:48:12.780
And so when this is the case, having a well-designed website is kind of the same as going to an interview dressed in a nice suit.

00:48:12.780 --> 00:48:14.920
It's your visual presence.

00:48:14.920 --> 00:48:25.660
And in data science, it can also show them that you have an eye for displaying data or displaying analysis in a way that's catching and insightful.

00:48:27.120 --> 00:48:30.780
And to have an online portfolio, it's hardly costing anything nowadays.

00:48:30.780 --> 00:48:37.020
I mean, I think I paid $30 or something to get my site hosted for a full year.

00:48:39.020 --> 00:48:46.000
But these – it's extremely helpful because when you're in an interview, you and the interviewer can both be looking at the same thing.

00:48:46.000 --> 00:48:49.340
You might be looking at a table or a graph that you designed.

00:48:49.340 --> 00:48:57.580
And it works really well for generating discussion as well as presenting some project that you worked on.

00:48:59.640 --> 00:49:02.260
This has been another episode of Talk Python To Me.

00:49:02.260 --> 00:49:05.880
Thank you to all the panelists who participated in today's show.

00:49:05.880 --> 00:49:08.540
It has been sponsored by Hired and CodeChip.

00:49:08.540 --> 00:49:11.220
It's great to have their help bringing this show to you every week.

00:49:11.220 --> 00:49:14.620
Are you looking for a new job or considering a change?

00:49:14.620 --> 00:49:18.320
Well, as always, Hired wants to help you find your next big thing.

00:49:18.320 --> 00:49:24.580
Visit Hired.com slash Talk Python To Me to get five or more offers with salary and equity presented right up front

00:49:24.580 --> 00:49:27.600
and a special listener signing bonus of $4,000.

00:49:28.580 --> 00:49:30.580
CodeChip wants you to always keep shipping.

00:49:30.580 --> 00:49:34.620
Check them out at CodeChip.com and thank them on Twitter via at CodeChip.

00:49:34.620 --> 00:49:36.500
Don't forget the discount code for listeners.

00:49:36.500 --> 00:49:37.220
It's easy.

00:49:37.220 --> 00:49:38.160
Talk Python.

00:49:38.160 --> 00:49:38.800
All caps.

00:49:38.800 --> 00:49:39.520
No spaces.

00:49:39.520 --> 00:49:42.220
Did you know you can personally support the show too?

00:49:42.220 --> 00:49:49.420
Just visit Patreon.com slash mkennedy and join over 60 listeners who contribute on average about $2 per episode.

00:49:49.420 --> 00:49:56.040
You can find the links from today's show at talkpython.fm/episodes slash show slash 39.

00:49:56.040 --> 00:49:58.400
And be sure to subscribe to the show.

00:49:58.400 --> 00:50:01.060
Open your favorite podcatcher and search for Python.

00:50:01.060 --> 00:50:02.240
We should be right at the top.

00:50:02.240 --> 00:50:06.780
You can find the iTunes and direct RSS feeds in the footer of the website.

00:50:07.320 --> 00:50:11.640
Our theme music is Developers, Developers, Developers by Corey Smith who goes by Smix.

00:50:11.640 --> 00:50:14.740
You can hear the entire song on talkpython.fm.

00:50:14.740 --> 00:50:16.880
This is your host, Michael Kennedy.

00:50:16.880 --> 00:50:18.580
Thanks so much for listening to everyone.

00:50:18.580 --> 00:50:20.580
Smix, take us out of here.

00:50:21.160 --> 00:50:22.860
I'm stating with my voice.

00:50:22.860 --> 00:50:24.640
There's no norm that I can fill within.

00:50:24.640 --> 00:50:25.840
Haven't been sleeping.

00:50:25.840 --> 00:50:27.480
I've been using lots of rest.

00:50:27.480 --> 00:50:30.380
I'll pass the mic back to who rocked it best.

00:50:30.380 --> 00:50:42.660
I'll pass the mic back to who rocked it best.

00:50:42.660 --> 00:51:12.640
Thank you.

