Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book


Transcript #2: PyCon, awesome python, python developer job prospects, and more

Return to episode page view on github
Recorded on Monday, Nov 14, 2016.

00:00 Hello and welcome to episode 2 of Python Bytes.

00:03 Here we're going to cover the headlines for November 14th, 2016.

00:08 And I want to start not with a headline but with a thank you.

00:11 The reception to our first episode and the launch of this podcast has been really amazing.

00:17 There's been thousands of downloads and tons of feedback on Twitter about how you guys really appreciate the format, you appreciate Brian and myself working together as a co-host and keeping it fun.

00:28 And so I just want to say thanks.

00:30 Thanks for listening.

00:31 Thanks for subscribing.

00:32 And I really like all the feedback on Twitter.

00:34 And it's been good.

00:37 So I'm going to start it off with the first headline is actually a few.

00:42 We've had a few releases this past week that I thought were interesting.

00:45 Celery came out with a 4.0 release.

00:48 And it is a huge release.

00:50 I don't personally use Celery.

00:52 But I know it's used a lot in Django and other projects.

00:57 And so check it out.

00:58 Yeah, basically the idea with Celery is there's a lot of long-running tasks and you don't want to tie up your web apps while that's running.

01:07 You'd like to kick them off to the background too.

01:09 It's a way to do sort of queue up offline asynchronous things to be scheduled and run in the background.

01:15 It's really excellent, especially for web apps, but for a lot of systems.

01:18 So that was my question.

01:20 Can it be used for things other than web apps then?

01:23 Yes, it can.

01:24 So one thing that comes to mind, although there's many, there's just the one that I think I remember hearing about is the mutation testing framework that Austin Bingham and a crew are working on.

01:37 I believe they would parse your code that's supposed to be tested, and then they would come up with a bunch of tests that are supposed to be run over different, it's not just executing code, but it's actually mutating your source code, and all sorts of crazy stuff.

01:50 They would kick those off to celery cues and then just wait for them to be finished.

01:54 - Oh, okay, cool.

01:55 I definitely have to check that out.

01:58 But this release is supposedly the last major release for 2x support.

02:02 It'll be 3.5 and above after this, so interesting.

02:06 - That's actually super interesting, yeah, and plus one.

02:09 My vote is plus one for that, well done.

02:11 - Yeah, the next one is a little bit more, I think it may be a lot of IT people.

02:17 PSUtil is a tool for process monitoring, system utilization, things like that.

02:23 We actually use it in my job and it came out with a 5.0.0 release, but he claims that it's twice as fast as before.

02:35 Excellent.

02:37 And last up is a bug fix release from pytest 304.

02:42 And mostly bug fixes, but one of the nice new features is they now report the teardown output on test failures.

02:50 They already, on test failures, it already reports the output for setup.

02:55 So that's a nice completion.

02:56 Yeah, very nice.

02:58 And the whole testing thing is going to make an appearance later as well in the headlines.

03:03 So the first one that I have, this one I really want to encourage you to take action right away.

03:09 Registration for PyCon US 2017 is open.

03:14 Last year, PyCon US in Portland was such a great event that was so much good energy.

03:20 I personally made so many good connections and just really, really enjoyed being there.

03:26 It was a few months before PyCon 2016 kicked off that people would send me messages and say, "Michael, I really want to go to PyCon, but I don't have a ticket.

03:35 They're sold out.

03:36 Could you help me get in?" And once it's sold out, it's sold out.

03:40 So, they're still doing early bird registration, which means you get a little bit of a discount.

03:45 They've got like individual, corporate, and student levels with the discount and so on.

03:50 So, get over there.

03:51 It's us.pycon.org/2017/registration.

03:56 - I can't say that enough, man.

03:58 Register now if you can.

03:59 I tried last year.

04:00 I waited too long and didn't get a ticket.

04:03 And it was really painful to live in the town where it's going on and not be able to go.

04:08 - Yes, I'm sure that was really, really painful.

04:11 Super unfortunate.

04:12 So don't be in Brian's former self's boat.

04:16 Get your tickets now.

04:17 And if that's not enough of an encouragement, we're having a podcast community booth, right Brian?

04:24 - Yeah, it's gonna be great.

04:25 It's gonna be you and me and the--

04:28 - Got the podcast in it.

04:30 Yeah, I got the podcast in it guys.

04:32 And the partially derivative folks for the data science podcast angle.

04:37 - Yeah, you know, I just start, because of this, I just started listening to the Partially Derivative, and that's a pretty neat podcast.

04:43 - Yeah, those guys are good.

04:44 Those guys are definitely good.

04:46 - But it'll be good to meet everybody up, and then everybody else can come by and say hi to us.

04:50 So that'll be good.

04:51 - Yep, so go register straight away.

04:53 What's your second one, Brian?

04:55 - Well, this is just a follow-up of that.

04:58 The PyCon tutorial proposals for this 2017 PyCon are due at the end of the month.

05:04 And so please don't hesitate, the tutorial's coming up at the end of the month.

05:09 Proposals for talks and posters are due, you've got until January 3rd, but I would recommend getting those early in because I've heard that if you get 'em in early, sometimes you get some help if there's a few problems with it.

05:25 Have you given a talk at PyCon before?

05:27 - Not a stand-up on stage talk, although last year Tobias Macy and I did an open session for podcasts.

05:35 You know, we had about 25 or 30 people come and give their feedback, where they'd like to see the direction of the podcast go.

05:41 And with us having five podcasts and hosts and so on featured there, I think we definitely need to plan an open session and some kind of little community event around the podcast while we're there.

05:53 So, you know, there's like an open session board and we'll let you know and keep your eye on that.

05:58 - Okay, well I think I'll submit a talk.

06:00 I think it'd be fun to talk there.

06:01 - Yeah, I'm sure it would be.

06:03 - Okay, Michael, what's your number two?

06:05 - You know, Python's pretty awesome, right?

06:08 - Yeah, definitely.

06:08 - It's pretty awesome.

06:09 So somebody actually made a GitHub project that was basically classifying, enumerating the ways in which Python is awesome.

06:17 And it's simply called awesome-python.

06:20 And what it is, is it's a curated list of awesome Python frameworks, libraries, software, and resources.

06:28 You know, a lot of times people ask me, they'll send me an email or hit me up on Twitter say hey Michael I'm trying to do like this thing and I know there's something like that in this other language but is there something like that in Python should I build something like that and so on this is really cool because you can go in and it's basically categorized by area so you can go in there's a section on like authentication libraries data validation libraries date time utilities debugging tools machine learning search like it goes on and on and on and so if you're trying to discover the best library in one of of these areas, this is a pretty cool place to start.

07:03 So it's on GitHub, and I'll link it in the show notes.

07:05 - Now is it the same as the Awesome Python newsletter?

07:09 Is that the same people?

07:10 - I believe it's the same, but I'm not 100% sure.

07:14 - I checked it out, there's a ton of stuff there.

07:18 - Yeah, you definitely gotta explore it.

07:20 - Okay, well next up we've got a blog post called Timing Tests in Python for Fun and Profit.

07:27 And I'm a sucker for fun and profit type posts, and testing, of course.

07:33 But this is about unit test, and it talks about, if you set up, if you've got, here's the problem, you've got a whole bunch of tests running, all the dots flying by, and one of them takes a while, and you're trying to figure out which one's the slow one, and basically timing your tests.

07:50 And he walks through a few solutions that would, through timing during setup and teardown, And the final solution is pretty cool, and it uses the test runner customization.

08:02 And I've never thought of a good reason to customize a test runner.

08:07 And this is a pretty cool solution.

08:10 However, I have to point out that that sort of timing is built into pytest.

08:14 So if you run the same code with a --durations, you put how many, so equals zero is default, times everything, or if you just want the slowest three, You can do durations equal three, and it just spits that same information out for you already.

08:30 - Okay, that's cool.

08:31 And can you sort?

08:32 Can you say like, show me the slowest one first, or anything like that?

08:36 Or does it just give you output and you gotta parse it yourself?

08:39 - It defaults to the slowest first.

08:40 It does sort 'em by slowest to fastest.

08:44 - Yeah, that's really cool.

08:45 - Because that's, I mean, that's the exact same reason why that feature's in place, is to try to find your slow tests.

08:51 - Yeah, 'cause you want your tests to run fast, 'cause you don't wanna wait five minutes, then? It's probably a few of them that are causing the problem, right?

08:57 Yeah, well, I don't know. I've got a lot of them that are long, but the nice thing about the pytest... One of the things I'm not sure about the example that was given in the blog post was whether or not the setup and teardown are included.

09:09 And in the pytest durations, it shows it splits out the setup and teardown and all the fixture code separate so that you know exactly where the time is being spent. Nice. Do you have to use pytest for this?

09:21 to use unit test?

09:22 - Well, the example in the blog post is a unit test example using unit test, and the durations is just through pytest.

09:32 But you can, I mean, you can use unit test code.

09:34 You just run it with pytest.

09:35 - Right, just use the pytest runner against it 'cause it'll run that as well.

09:39 Yeah, okay, fantastic.

09:41 Another one that I wanted to cover was this article that came out, and it's a bit of a content marketing play by this hiring company or this HR company, but nonetheless, they put together a bunch of good research So I'm going to link to it anyway.

09:53 And it's called "Why is Python so popular anyway?" So it goes through many different sources.

09:59 It goes through Stack Overflow.

10:00 It goes from something called Guru.

10:02 It goes through Indeed.

10:03 And it goes through all these different places.

10:05 And it talks about the areas where Python is being used, the areas where Python is growing in popularity.

10:12 It talks about the relative pay scale of people on different roles.

10:16 Like if you're a data scientist versus in DevOps versus a web developer doing Python, things like that.

10:23 So basically they say in 2015 and 2016, it's been really from a hiring and job outlook perspective big years for Python.

10:32 Right?

10:33 They said on Stack Overflow it ranks the sixth most popular language in the world and on some others it ranks even higher.

10:39 So Brian, do people ask you about how to get into Python or get your advice on like what what they should focus on?

10:47 - No, mostly I'm trying to push people and tell everybody they should learn Python.

10:52 - Yeah, it's like, you need to know Python, you don't know it, what's going on?

10:56 - Yeah, and actually there's a lot of people, I have a teenage daughter that's almost 20 and she's in college and all of her friends I try to encourage in the college, at least while they're in college, if they're not in high school, no matter what you're into, if you're gonna do psychology or anything, learn a programming language, and Python's a good one to learn as a corollary to any other thing you're studying.

11:25 - Yeah, I totally agree.

11:26 I think the world needs more creators and fewer consumers.

11:30 - Yeah. - And I think a little bit of programming skills lets you become a creator in whatever your specialty is, not necessarily programming.

11:37 - One of the things I think is interesting is when people use the popularity of Stack Overflow for it, And that is an interesting indicator, but it also is like how much people are confused by the language.

11:51 - That's an interesting point, yeah.

11:54 Yeah, yeah.

11:54 And so they had a couple of things to back up their article that I thought was interesting, worth pulling out.

12:00 So they said, according to Dice, Python is one of the hottest skills to have because demand is slightly outstripping supply.

12:08 And that's great.

12:09 We all want to work with Python and not some other language.

12:12 So this is really good news.

12:14 It's one of the highest programming languages in the US.

12:17 So in fact, it's number two, the only one higher is Ruby.

12:22 So they say, according to two different sources, one being, I think Guru is like 103,000 a year, and Indeed said 116,000 a year on average for a Python programmer.

12:33 And the only one higher was Ruby, and I feel like that might be because Ruby's really focused in the Bay Area, and so salaries are just naturally high there.

12:41 could be wrong about that.

12:43 - Like for instance, Seattle and Portland are, which I'm more familiar with, it's the same goes here.

12:50 I was at the conference a couple weeks ago, PNSQC.

12:55 I was talking with a recruiter there because I'm actually looking for a Python person, and, or sometimes I am.

13:01 Anyway, they said Python and Ruby in the Portland and Seattle area are really hard to fill.

13:06 And I'm not sure if it's just the lack of people or if everybody is already in a full-time job and doesn't want to contract work, I'm not sure.

13:15 - That's really interesting.

13:16 I can tell you, relative to other cities, Python is more popular as a percentage in Portland than it is in many other cities, based on some stuff I wrote up a couple years ago, a bunch of data mining off of meetup.com and things like that.

13:33 So I think it's a good sign, yeah.

13:35 - I guess one last thing I'd like to add to this is if you are a Python developer and you're looking for work, don't limit yourself to just software places because Python's a popular language for lots of other fields.

13:49 There are a lot of companies that are not traditionally software companies that are looking for Python developers.

13:55 - Yeah, that's a really good point.

13:56 Don't just go to the popular web properties that you know, right?

14:00 Look much more broadly.

14:01 - Yeah. - All right.

14:02 Well, I think that wraps up the headlines for this week.

14:06 What's up with you?

14:07 - Well, I'm getting back into more podcasting.

14:10 You're pushing me along, it's good.

14:12 So, last week I released the number 24 of Testing Code with Rafael Pirzina, and that was a really good reception, good talk, and then I also recorded one, an episode with Dave Hunt.

14:25 He works at Mozilla, and he's a specialist in Python, pytest, and Selenium, and that was a really interesting conversation about what they do at Mozilla.

14:34 So, hopefully I'll get that out this week.

14:37 - Oh, that sounds really exciting.

14:38 I love these looks inside of what like cutting edge companies are doing.

14:43 You know, like how Mozilla's using testing and Selenium and Python, just sounds interesting to me.

14:48 - Well, I like the cutting edge stuff, but I also like the we're not doing it great interviews.

14:54 Like I interviewed, I'm blanking right now, one of the interviews I did was with a startup and it was, they were just talking about how they just don't really do end to end complete testing that much, and it works out okay sometimes.

15:08 But I've got holes in my schedule, so I want people to hit me up for, if there's somebody they'd like me to interview, or if they'd like to come on the show.

15:17 - Do you wanna come talk about Python and testing?

15:20 I think maybe testing code might be the place to go.

15:23 - Yeah, and even non-testing.

15:25 Like I'm trying to get David Hussman, he's from Dev Jam Studios, on, and he talks about Dude's Law and Agile and software development practices.

15:34 So that'll be fun.

15:35 - Oh yeah, I'm looking forward to that one too.

15:37 - Hey, you got some news a little bit, Michael?

15:40 - I do.

15:40 So on episode 83 of Talk Python to Me, I had Paul Logsdon on.

15:45 He's the new lead for PyVideo.

15:48 So pyvideo.org is this great catalog.

15:53 They don't actually hold the videos, but a catalog of links to, sort of like Yahoo, of Python presentations and video resources, let's say.

16:02 But everything there has to be free, right?

16:04 It can't be like paid Python courses.

16:06 If you put a video there, it has to be freely and fully available.

16:10 So they've got over 5,000 videos there.

16:12 And apparently the show that I had got a couple people interested and contributing and so on, that's really great.

16:19 I happened to put up some conference talks from NDC Oslo.

16:23 So I'll link to those on there.

16:25 one for that I did and also link to one that about the mutation testing that I mentioned earlier in the show actually. I'm also I just I'm doing a bunch of work on bootstrap and sort of web design stuff for my Python for Entrepreneurs course and this week I'm gonna release episode 85 a talk Python to me which has the the fun title of parsing horrible things with Python and that's Eric Rose so check that out as well. Oh that's awesome I always love your episodes.

16:53 >> Thanks so much. I think that's it for this week. Once again, everybody, thank you for subscribing and listening to Python Bytes. The reception for the first week was great.

17:02 Hopefully, you enjoyed this episode. If you have news you'd like us to feature, send it our way.

17:07 >> Thanks a lot.

17:08 >> Yeah. Bye, Brian. Bye, everyone.

17:09 >> Bye.

17:10 >> Thank you for listening to Python Bytes. Follow the show on Twitter via @PythonBytes.

17:16 That's Python Bytes as in B-Y-T-E-S. And get the full show notes at PythonBytes.fm. If If you have a news item you want featured, just visit PythonBytes.fm and send it our way.

17:27 We're always on the lookout for sharing something cool.

17:30 On behalf of myself and Brian Okken, this is Michael Kennedy.

17:33 Thank you for listening and sharing this podcast with your friends and colleagues.

17:36 [BLANK_AUDIO]

Back to show page