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


« Return to show page

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

Recorded on Monday, Nov 14, 2016.

00:00 KENNEDY: Hello and welcome to Episode 2 of Python Bytes. Here we’re going to cover the headlines for November 14th, 2016.

00:00 want to start, not with a headline, but with a thank you. The reception to our first episode and the launch of this podcast has been really amazing. There’s been thousands of downloads and tons of feedback on Twitter about how you guys really appreciate the format, how you appreciate Brian and myself working together as co-hosts and keeping it fun. I just want to say thanks for listening, thanks for subscribing.

00:00 OKKEN: I really like all the feedback on Twitter. It’s been good.

00:00 going to start it off. The first headline is actually a few. We’ve had a few releases this past week that I thought were interesting. Celery came out with the 4.0 release and it is a huge release. I don’t personally use Celery, but I know it’s used a lot in Django and other projects, and so check it out.

00:00 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 it’s running. You like to kick them off to the background, too. It’s a way to do sort of queue up offline asynchronous things to be scheduled and run in the background. It’s really excellent, especially for web apps but for a lot of systems.

00:00 That was my question. Can it be used for things other than web apps?

00:00 Yes, it can. Though one thing that comes to mind, all though there’s many, there’s just the one I think I remember hearing about it the mutation testing framework that Austin Bingham and crew are working on. 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. It’s not just executing code, it’s supposed to be mutating your source code and all sorts of crazy stuff. They would kick those off to Celery queues and just wait for them to be finished.

00:00 Wow. Okay, cool. I definitely have to check that out. But this release if supposedly the last major release for (Python) 2.x Support. It will be 3.5 and above after this. So, interesting.

00:00 That’s actually super interesting, yeah. My vote is +1 for that. Well done.

00:00 The next one is a little bit more… I think it may be a lot of IT people. PSutil is a tool for process monitoring system utilization, things like that. We actually use it at my job and it came out with a 5.0.0 release. He claims it’s twice as fast as before.

00:00 Excellent.

00:00 And last up there’s a bug fix release from pytest 3.0.4. Mostly bug fixes but one of the nice new features is the now report the teardown output on test failures. On test failures, it already reports the output for setup, so that’s a nice completion.

00:00 Yep. Very nice, and the whole testing thing is going to make an appearance later as well in the headlines.

00:00 the first on that I have, this one I really want to encourage you to take action right away. Registration for PyCon U.S. 2017 is open. Last year, PyCon U.S. in Portland was such a great event that was so much good energy. I personally made so many good connections and just really, really enjoyed being there. It was a few months before PyCon 2016 kicked off, that people would send me messages that said, ‘Michael, I really want to go to PyCon but I don’t have a ticket, they’re sold out. Could you help me get in?’ And once it’s sold out, it’s sold out. They’re still doing Early Bird Registration, which means you get a little bit of a discount. They’ve got individual corporate and student levels with the discount, as so on. Get over there, it’s us.pycon.org/2017/registration.

00:00 I can’t say that enough, man. Register now if you can. I tried last year, I waited too long and didn’t get a ticket. It was really painful to live in the town where it’s going on and not be able to go.

00:00 Yes, I’m sure that was really, really painful. Super unfortunate. Don’t be in Brian’s former self’s boat. Get your tickets now and if that’s not enough of an encouragement, we’re having a podcast community booth. Right Brian?

00:00 Yeah, it’s going to be great. It’s going to be you and me and…

00:00 The podcast.__init__ guys and the Partially Derivative folks, for the data science podcast angle.

00:00 Because of this, I just started listening to Partially Derivative. That’s a pretty neat podcast.

00:00 Yeah, those guys are good. Those guys are definitely good.

00:00 It’ll be good to meet everybody up, then everybody else can come by and say, ‘Hi’ to us.

00:00 Yep, so go register straight.

00:00 your second one Brian?

00:00 Well, this is just a follow-up of that. The PyCon tutorial proposals for this 2017 PyCon are due at the end of the month. And so, please don’t hesitate. The tutorials coming up, the end of the month. Proposals for talks and posters, you’ve got until January 3rd. But I would recommend getting those early in because I’ve heard if you get them in early, sometimes you get some help if there’s a few problems with it.

00:00 you given a talk at PyCon before?

00:00 Not a stand up on stage talk, although last year Tobias Macy and I did an open session for podcasts. We had about 25 or 30 people come and give their feedback, where they liked to see the direction of the podcast go. With us having 5 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. There’s an open session board, we’ll let you know and keep your eye on that.

00:00 Okay. Well, I think I’ll submit a talk. I think it will be fun to talk there.

00:00 Yeah, I’m sure it would be.

00:00 Okay, Michael, what’s your number 2?

00:00 You know Python’s pretty awesome, right?

00:00 Yeah, definitely. (Laughing)

00:00 It’s pretty awesome. Somebody made a GitHub project that was basically classifying and enumerating the ways in which Python is awesome and it’s simply called awesome-python. What it is, is a curated list of awesome Python frameworks, libraries, software and resources. A lot of times people will ask me, they’ll send me an email or hit me up on Twitter and say, ‘Hey, Michael. I’m trying to do like, this thing and I know that there’s something like this in this other language. Is there something like that in Python? Should I build something like that?’ This is really cool because you can go in and it’s basically categorized by area. You can go in and there’s a section on authentication libraries, data validation libraries, time utilities, debugging tools, machine learning, search; it goes on and on and on. So, if you’re trying to discover the best library in one of these areas, this is a pretty cool place to start. So, it’s on GitHub and I’ll link it in the show notes.

00:00 Now, is it the same as the Awesome Python Newsletter? Is that the same people?

00:00 I believe it’s the same, but I’m not 100% sure.

00:00 I checked it out. There’s a ton of stuff there.

00:00 You definitely got to explore it.

00:00 Okay, well next up we’ve got a blog post called Timing Tests in Python for Fun and Profit. I’m a sucker for the ‘for fun and profit’ type posts, and testing of course. But this is about unit tests and it talks about… 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 ones the slow one. Basically, timing your tests. And he walks through a few solutions through timing during setup and teardown. The final solution is pretty cool and it uses the test runner customization. I’ve never thought of a good reason to customize a test runner and this is a pretty cool solution. However, I have to point out that that sort of timing is built into pytest, so if you run the same code with a - - durations, so = 0 is default times everything. Or is you just want the slowest 3, you can do durations = 3 and it just spits that same information out for you already.

00:00 Okay, that’s cool. And can you sort? Can you say, ‘Show me the slowest one first?’ or anything like that? Or does it just give you output and you’ve got to parse it yourself?

00:00 It defaults to the slowest first; it does sort them by slowest to fastest.

00:00 Yeah, that’s really cool.

00:00 Yeah, because that’s the exact same reason why that features in place, to try to find your slow tests.

00:00 Because you want your test to run fast, because you don’t want to wait 5 minutes. It’s probably a few of them that are causing a problem, right?

00:00 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. In the pytest durations, it splits out the setup and teardown and all the fixture codes separate so that you know exactly where the time is being spent.

00:00 Nice. Do you have to use pytest for this? Could you use unit test?

00:00 The example in the blog post is the unit test example, using unit test. The durations is just through pytest. You can use unit test code but just run it with pytest.

00:00 Just use the pytest runner against it, because it will run that as well.

00:00 fantastic. 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, this HR company. But nonetheless, they put out a bunch of good research so I’m going to link to it anyway. It’s called, “Why is Python So Popular, Anyway?” It goes through many different sources. It goes through StackOverflow, it goes through something called Guru, it goes through Indeed, and it goes through all these different places. It talks about the areas where Python is being used, the areas where Python is growing in popularity. It talks about the relative pay scale of people on different roles, like if you’re a data scientist versus dev ops versus a web developer doing Python, things like that. So, basically, they say in 2015 and 2016, it’s been really – from a hiring and job outlook perspective – big years for Python. They said on StackOverflow, it ranks as the 6th most popular language in the world. On some others’ it ranks even higher.

00:00 do people ask you about how to get into Python or get your advice on what they should focus on?

00:00 No, mostly I’m trying to push people and tell everybody they should learn Python.

00:00 Yeah, it’s like, ‘You need to know Python and you don’t know it. What’s going on?’

00:00 Yeah, well, I have a teenage daughter who’s almost 20 and she’s in college. All of her friends I try to encourage, at least while they’re in college, if not in high school. No matter what you’re into, if you’re going to 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.

00:00 Yeah, I totally agree. I think the world needs more creators and fewer consumers. And a little bit of programming skills lets you become a creator in whatever your specialty is, not necessarily programming.

00:00 What I think is actually interesting is when people use the popularity of StackOverflow for it. That is an interesting indicator, but it also is how much people are confused by the language.

00:00 That’s an interesting point, yeah.

00:00 so, they had a couple things to back up their article that I thought was interesting and worth pulling out. According to Dice, Python is one of the hottest skills to have because demand is slightly outstripping supply. And that’s great; we all wanted to work with Python and not some other language, so this is really good news. It’s one of the highest-paying programming languages in the U.S., it’s in fact number 2. The only one higher is Ruby. So, they say according to two different sources, one being Guru said $103,000 a year. Indeed said $116,000 a year on average for a Python programmer. The only one higher was Ruby and I think that that might be because Ruby is really focused in the Bay Area and salaries are just naturally high there. I could be wrong about that.

00:00 For instance, Seattle and Portland, which I’m more familiar with, the same goes here. I was at the conference a couple weeks ago, PNSQC (Pacific Northwest Software Quality Conference) talking with a recruiter there because I’m actually looking for a Python person, or sometimes I am. Anyway, they said Python and Ruby in the Portland/Seattle area are really hard to fill. 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 contract work. I’m not sure.

00:00 That’s really interesting. 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. I think it’s a good sign.

00:00 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 is a popular language for lots of other fields. There are a lot of companies that are not traditionally software companies that are looking for Python developers.

00:00 Yeah, that’s a really good point. Don’t just go to the popular web properties that you know. Look much more broadly.

00:00 Yeah.

00:00 Alright. I think that wraps up the headlines for this week.

00:00 up with you?

00:00 Well, I’m getting back into more podcasting. You’re pushing me along; it’s good. Last week, I released the #24 of Testing Code with Raphael Pierzina and that was a really good reception, good talk. And then I also recorded an episode with Dave Hunt. He works at Mozilla and he’s a specialist in Python, pytest and Selenium. That was a really interesting conversation about what they do at Mozilla. Hopefully they’ll get that out this week.

00:00 That sounds really exciting. I love these looks inside of what cutting edge companies are doing. Like how Mozilla’s using testing and Selenium and Python. It just sounds interesting to me.

00:00 I like the cutting-edge stuff, but I also like the ‘we’re not doing it great’ interviews. One of the interviews I did was with a start-up. They were just talking about how they don’t really do end-to-end complete testing that much and it works out okay sometimes.

00:00 I’ve got holes in my schedule, so I want people to hit me up. If there’s somebody they’d like me to interview or if they’d like to come on the show, so.

00:00 If you want to come talk about Python and testing, I think Testing Code might be the place to go.

00:00 Yeah, and even non-testing. I’m trying to get David Hussman, he’s from Devjam Studios, on and he talks about Dude’s law and agile and software development practices. So, that will be fun.

00:00 Oh yeah, I’m looking forward to that one too.

00:00 Hey, you’ve got some news, Michael.

00:00 I do. On Episode 83 of Talk Python to Me, I had Paul Logston on, he’s the new lead for pyvideo. So pyvideo.org is this great catalog. 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. But everything. On there has to be free, it can’t be like paid Python courses. If you put a video there, it has to be freely and fully available. So, they’ve got over 5,000 videos there and apparently, the show that I had got a couple interested in contributing. I happen to put up some conference talks from NDC Oslo, so I’ll link to those on there. One that I did, and I’ll also link to one about the mutation testing I mentioned earlier in the show, actually.

00:00 did a bunch of work on Bootstrap and web design stuff for my Python Entrepreneurs course and this week I’m going to release Episode 85 of Talk Python to Me, which has the fun title of “Parsing Horrible Things with Python” and that’s Eric Rose, so check that out as well.

00:00 That’s awesome. I always love your episodes.

00:00 Thanks, so much.

00:00 think that’s it for this week. Once again, thankyou everybody for subscribing and listening to Python Bytes. The reception for the first week was great. Hopefully you enjoyed this episode. If you have news you’d like us to feature, send it way.

00:00 Thanks, a lot.

00:00 Bye, everyone.

00:00 you for listening to Python Bytes. Follow the show on Twitter via @pythonbytes and get the full show notes at pythonbytes.fm. If you have a news item you want featured, just visit pythonbyes.fm and send it our way. We’re always on the lookout for sharing something cool. On behalf of myself and Brian Okken, this is Michael Kennedy. Thank you for listening and sharing this podcast with your friends and colleagues.

Back to show page