Brought to you by Linode - Build your next big idea @ linode.com


« Return to show page

Transcript for Episode #219:
Take a Python tour of duty at the United States Digital Service

Recorded on Wednesday, Jun 19, 2019.

0:00 Michael Kennedy: If you're a software developer who wants to take your special skills and help your country, what should you do? Join the military? That's a good option for some, but it might not be a good fit for you personally. In the United States, we have a very interesting civil option that's quite new. The United States Digital Service. This service was created by President Obama to fix broken government software systems, such as the rocky start to the healthcare system. Developers and designers can serve in this service for as a little as three months, or as long as four years, and they get paid roughly market rate. It's an interesting model indeed, and I'm excited to have David Holmes from the U.S. Digital Service here to talk about their projects and how they're using Python to make the government work for the people. This is Talk Python to Me, Episode 219, recorded June 19th, 2019. Welcome to Talk Python to Me, a weekly podcast on Python. The language, the libraries, the ecosystem, and the personalities. This is your host, Michael Kennedy. Follow me on Twitter where I'm @mkennedy, keep up with show listen to past episodes at talkpython.fm, and follow the show on Twitter via @talkpython. This episode is brought to you by the Local Maximum podcast, and Rollbar. Please check out what they're offering during their segments. It really helps support the show. Hey everyone. Before we get to the interview, I want to quickly tell you about a new course we just launched. It's our first major Flask course, and it's called Building Data-Driven Web Apps in Flask and SQLAlchemy. This one's a deep dive into Flask. We cover things like routing, models, templates, databases and migrations, and even deployment and security. And we do all this in the context of building a clone of the pypi.org website. Check it out over at training.talkpython.fm. If you're not sure if you want to choose Flask just yet for your web app, then give our Hundred Days of Web course a look. We cover many frameworks and programming models in 25 four-day projects, so you get a super wide view of what's out there, then you can pick Flask or Django or Pyramid, or somethin' else. Thanks for checkin' it out, now let's get to the interview. David, welcome to Talk Python to Me.

2:12 David Holmes: Hey, Michael, I'm glad to be on it.

2:14 Michael Kennedy: Yeah, it's an honor to have you here. It sounds like you're doing some really cool stuff at a place that, honestly, wasn't on my radar until we started talking, but it's such a cool idea, so I'm really looking forward to talking about the United States Digital Service with you and what all this is. But before we get into all that of course, let's start with your story. How'd you get into programming?

2:33 David Holmes: How'd I get into programming? So when I was a kid, I had a computer that was left to me, it was a HP 6475Z. Remember the model name and everything. I would take that computer apart and put it back together. It had a Zip Drive, like a Zip 100 megabyte drive, if you remember those.

2:48 Michael Kennedy: Yeah, were those the purple drives? Those big purple drives that were like weird, expensive disks?

2:52 David Holmes: This one I had internal, which is like pretty cool. But it was like super huge disk. It's like a floppy disk times three.

2:59 Michael Kennedy: Yeah it was like a hard drive that you could take out, sort of. It was weird. I remember those. But those were cool.

3:05 David Holmes: This was a hundred mega...

3:06 Michael Kennedy: Yeah they were huge, I mean a hundred megabytes. Those were huge, right, like I could download that now in like three seconds, but it was a big deal then.

3:12 David Holmes: At the time, it was like the best thing ever. And I would just take that computer apart, put it together, nonstop, and then like once I kind of got bored just taking it apart and putting it back together a hundred times, I started reading online about this thing, Linux, and everybody's using it, and so my grandma, so I wanted to use it, but I had dial-up at the time, and so I had to ask my grandma for some money for it and she was like, over the summer she was just like, "You're going to do a bunch of chores so you get $20, so that way I can order the CD." and it was Mandrake Linux, and I got that CD and, this is back when Linux did not have great drive support like it does now. It still could be a little bit better, but, I started having to dig deep into the C drivers and edit it and see if that worked, 'cause I wanted to get my working on Linux.

4:00 Michael Kennedy: Right, like maybe that Zip Drive doesn't have a driver, so you're out of luck, or something weird like that, right?

4:04 David Holmes: So as you know, Linux they do a lot in Python, so that was just my default choice of writing language scripts and things like that. And then over time ended up learning PHP 'cause I wanted to get more into web development and a lot of businesses use PHP. But for me Python was always my go-to when I just wanted to do something, like a quick script and stuff, and then I got into Node JS some, 'cause it was super simple to set up a server, then Flask came out for Python, so I started going back in Python, and yeah, from there I've just kind of been using Python ever since for all my personal projects. Outside of the here and there, like I want to try something new thing. I've been working on a little bit of Gull Wing stuff, which is pretty cool.

4:41 Michael Kennedy: Yeah, that's cool. Did you go to college for this, or are you pretty much self-taught?

4:46 David Holmes: Pretty much self taught. I did go to college, but I went there for business and not really for programming. And then I switched to a computer science major, but then I realized that a lot of it was teaching me was Java and things like that, I wanted to do web development. So what I ended up doing was going to a ton of hack-a-thons. I probably went to 20-plus hack-a-thons over a year.

5:02 Michael Kennedy: Oh wow, that's awesome.

5:03 David Holmes: And just started working with people, being in the community, yeah I was going every weekend at one point.

5:10 Michael Kennedy: You're like, "I got a hack-a-thon problem."

5:13 David Holmes: Yeah, at one point it kind of felt like that. My girlfriend, who's now my wife, at the time was just like "Man, you're just constantly goin' to these things." And then from we had people in the community and for me to sort of getting better at doing web development stuff, and I ended up getting my first job at an ad tech company in New York City, and that opened the doors up for me to then get into the tech industry more.

5:32 Michael Kennedy: Yeah, that's really cool. You know, I think that's interesting that you started out in business and you were kind of already doing programming, and you tried your hand at the computer science degrees. I felt personally, at least at the time when I was in college, that the computer science degrees were interesting but they were not really teaching you to build applications and websites in the sense that maybe you do as a professional developer. It was more really theoretical stuff that probably is interesting, but how often are you going to do, like, teach you how to build operating systems, or understand how quick sort works and how to maybe create new algorithms and genetic algorithms and all that stuff's super interesting, but it's not going to help me build a scalable website per se, right?

6:16 David Holmes: And that's kind of like after I did the business and the computer science courses it's like I'm making a ton of progress in the hack-a-thon world, so I sort of dropped out of college and just started pursuing my career from there.

6:27 Michael Kennedy: Yeah, that's cool, I kind of did the same thing with grad school. I'm like you know what, the stuff I'm doing on the side is way more productive so I'm going to do that. You worked in New York. There's a lot of big-time startups and tech companies in New York, so that must have been a fun scene to be in, especially with all the hack-a-thons right around there, right?

6:44 David Holmes: Yeah, and I guess from there I went from my hack-a-thon addiction to sort of a startup addiction. I just started working for tons of different startups.

6:53 Michael Kennedy: Cool.

6:54 David Holmes: It was really fun. And the scene, like you said, there is pretty amazing.

6:56 Michael Kennedy: For sure. That brings us to today and what you're doing today, which is interesting, you know, the U.S. government doesn't sound very startup-like, but the United States Digital Service, which you have to tell us what that is, it's kind of got this sort of stealth startup skunk works mode within the government, right?

7:16 David Holmes: Yep. We treat ourselves as a startup within the government, and pretty much for those who don't know what U.S. Digital Service is, so basically we started in 2014 with healthcare.gov, if your listeners remember that, how bad it was and how much it them, and things like that, and President Obama was just asking his advisors, and he said, "Hey, how come on the campaign trail we can accept millions of donations, but when we're trying to get millions of people healthcare, like the thing crashes." And you have to explain, like, President Obama, the way we build things in privacy is different than government, and sometimes things can get very complex in government. So President Obama said "How 'about we try this, how 'about we take some people from the private industry, and just throw them at healthcare.gov and see what happens." And as the story goes over the next couple of weeks, he was able to help get healthcare.gov back up, and 20-plus million people are now on health insurance, and the President said, "This works so well, how 'about we start something like this." and that's how U.S. Digital Service was formed. We're about to be five years old this year, which is pretty amazing, we're going to be celebrating our fifth birthday in August, and yeah, ever since then we sort of did this tour of duty model, where we have people come as short as three months up to four years, from private industry, kind of take a break and help serve their country in just a different capacity, using the skills that they have.

8:27 Michael Kennedy: That's a really cool idea. And I feel like I haven't worked with the government much, but my experience there is, I don't know, there's a lot of friction, and whenever I have to go to some sort of government website, just yesterday I had to go find, I don't know, some form and fill out something for the postal service. And I was just like "Wow, this website is bad." Like why is it like this, you know what I mean? And it's just really interesting to think of how you might systematically go through these government agencies and upgrade them and modernize them, and just sort of put more lightweight systems in place. Not just systems in software, but systems in the way people work.

9:07 David Holmes: We're about 170 people strong, and we're mixing up designers, procurement folks, engineers, we have an awesome talent team, an awesome comms team, but one of the groups here, and even though I'm in engineering, one of the groups that I really take pride of is our design team, who goes out and does a ton of user research and making sure that we actually build the right thing. That sounds easy, but that's really really hard, and one of our values here at USDS is we do design with users, not for them, so we make sure that the users are included in every single conversation that we have.

9:35 Michael Kennedy: I can imagine it's easy to walk up to some antiquated system and go "Well this is written in COBOL, and it's all client server, and these things are broken, so let's make it a API with Flask." or whatever, but really maybe the idea is like the only reason this think exists is 'cause it's bridging these other systems that actually, those are the things you need to modernize. It just needs a different approach, right? Like people can get into ruts, and especially in the government, I would think. Just to sort of run it out, you work in the engineering department at United States Digital Service doing software engineering there, right?

10:07 David Holmes: So I'm the Director of Engineering, and my journey to becoming Director of Engineering, so when I first came on board to United States Digital Service, I went out to Social Security Administration to help with the disability claims processing system, and then from there I went to Department of Education where our main deed was to help with student debt in default, and then from there I went to Small Business Administration, where I helped make it easier for people to apply for the 88 program, which is just a disadvantaged program where if you are disadvantaged, historically disadvantaged business, you can apply for this program, and it would allow you to at least have a level playing field with some of these big, big vendors that the government uses, and Congress set aside billions of dollars for this program, but one of the problems was, because it was part paper and part digital, it would take people too long to figure out the process and they would hire lawyers, and at the expense of the lawyers it would turn out to be $30,000 just to hire the lawyers to fill out this free form. So what we did was make it simple. And we made it 100% digital, so that way folks don't have to pay $30,000, and as we know, if you're able to be on an equal playing field with the rest of these big businesses as a disadvantaged business, then you're able to uplift your community in hiring people. So it had these downstream effects of just, as soon as these people was apply for the program, get into it, they was able to have tremendous...

11:23 Michael Kennedy: Yeah, it just opened up all this opportunity, right? Yeah, for sure. I mean, when I think about working with these requests for proposals and other stuff that the government agencies have, it's just like well, you know big companies have people whose job it is to understand what that actually means, the flow that it actually goes... it is so opaque and challenging. So anything you can do to make that simpler seems really good, to shake up the incumbents of the big Lockheeds or whatever that are the ones who kind of know the process, right?

11:54 David Holmes: Yep, and so for that website we certified sb.gov, and after that went to FEMA where we helped with the Grants Management Modernization Project, which is we're trying to take 10 different grants system, which can be kind of confusing to navigate, and how do we shrink it down to just one system that's easy to use. And from there became Director of Engineering. I had quite a journey at USDS. Lots of impact.

12:15 Michael Kennedy: That is quite a journey, yeah. You know, one of the things I think is real interesting, like it's super fun to work at startups, you talked about that and your startup addiction for awhile, which is super cool, and you have all this fun tech, but one of the challenges as, you know, sometimes those startups they don't really go very far, right? You work really hard to build out some product, and only a couple people us it. Hopefully that's not the case, and if you were getting hired there, they'd be well beyond that. Writing software's super fun, but if people don't use it or it doesn't have an impact, then it's a whole lot less fun than, you know, what you had imagined. But I imagine working on things like FEMA, is pretty gratifying, right? There's a hurricane, it wipes out some region of the country, people are, they're like, it's an emergency, right? Federal emergency, whatever, right? So you're there to help, and I suspect that's pretty gratifying.

13:08 David Holmes: It really is. And just all the different agencies that we worked on is just really amazing that you can see the impact of it, and sometimes first hand. And I think one of the things for me is, because of our tour of duty model, I'm comin' up on my fourth year, it's just like what do I do next? There's tons of opportunity, because we have tons of alumni, but it's like where do I go next to find this impact? So what needs to happen?

13:30 Michael Kennedy: For sure, I can imagine. Like what am I going to build that's going to help 20 million people or something like that, right? So you mentioned this duty model, which I think is pretty interesting. A lot of countries have a civil service or even military service that is mandatory. Germany has it, Israel has it, Turkey has it, the U.S. doesn't really have something like that. And like say in Germany, there's the military, you can go into the military or you can go into a civil service and, say, drive an ambulance, or be and EMT or something to this effect. So in the U.S. we don't really have that. We have the military, but it's volunteer only. I don't know much else beyond that. You know, maybe Peace Corps, but that's not a U.S. thing. This duty model, I think, is pretty interesting. You want to tell us about it?

14:18 David Holmes: Yeah, so you can come as short as three months, up to four years, so you know maybe you want to take a break at your regular day job and just help create impact at the federal level in the government, maybe you see something in the news that really inspires you, and you're like, "hey, where can I go to go help with something, just for a short time?" Because maybe you don't want to move from San Francisco or Seattle to D.C. You're just coming for a short time. So we have an engineer that's coming just for three months. And is having tons of impact right now at the particular agency that they are at. And they came for three months because they have a perfect school and their child out where they live in Michigan, and they don't want to leave their child to come to D.C., and their friends and things like that, but it's summer vacation now, so he was able to take a three-month sabbatical and come help in a different way and the kids get to come enjoy some of the D.C. weather and all the free museums that we have and all those things. So I think that's really amazing that we could do that. And you can just stay up to four years and just have tons of impact at different places, and that's what I love about the tour of duty model that we have here, because then what it enables is people who maybe wouldn't want to be permanent federal employees to come and actually help the federal government in many different ways, but it also allows for folks to have that impact that they maybe not, wouldn't have had before.

15:36 Michael Kennedy: Right, you know, maybe you're a super good developer at some tech company in San Francisco or Portland, or whatever, and you see kind of what I described, you're like "Whoa, this stuff is messed up. I could probably really improve this if I just worked on this for three or four weeks. We could really help this process or whatever." But you don't necessarily want to, say, leave the west coast, drop out of your tech position and say "I'm just going to become a government employee." That's great that some people want that, but a lot of people I can see that as like, "You know, that's just a deal breaker for me." But the fact that you could drop in for, say, a summer, and come work on something, like that actually sounds super cool to me.

16:16 David Holmes: One of the things that's amazing and why I love our tour of duty model again, is because you can come in and actually bring in new stuff from the private industry. So sometimes you find that people in government who work there 20-plus years, they know what they only know. And maybe it's COBOL, maybe it's Mainframe, and it's great that we can have this constant revolving door of new people, new ideas, fresh ideas. 'Cause as we know, tech industry's changing every year. And we can have these new folks come in and actually question the status quo and say, "Okay, this should be better. In the private industry this is what we do today." And some folks are just increasingly questioning impact at tech companies. And we have just a clear approach where we, where anything you do in the federal government, you have a chance to impact millions and millions of people to make their lives a little bit easier and better.

17:04 Michael Kennedy: This portion of Talk Python to Me is brought to you by the Local Maximum podcast. The Local Maximum is dedicated to examining emerging technologies, software, and social trends, through the perspective of machine learning engineer Max Sklar and his guests. Max talks to creative engineers and entrepreneurs about building products in emerging technology. The Local Maximum takes concepts from the machine learning and data science world, and applies them to current events and everyday life. The shows speaks specifically to people working in the software industry, and challenges you to think critically about the projects you work on and the teams you join, as well as practical advice for growing your career. That's why engineers and product developers are tuning in to the Local Maximum. And you can get it anywhere you listen to podcasts, or just visit talkpython.fm/max. And if I can recommend an episode, you should check out number 73. That's interesting, maybe we could dig into that for a second. I would say, you talked about taking this computer apart, and getting the zip drive, and just all the early days. And I felt like, in the early days, just technology was just clearly a good. It was going to connect people, it was going to empower people who maybe didn't live in a big city or, there's just so many cool things that it made possible. Like the first time I used Shazam. My mind was just blown. It knows what song is playing, it's like magic in my hand. But I feel like it's a bit of more of a mixed bag these days.

18:28 David Holmes: Yeah, and like a huge thing is data and privacy and why are we building this? And one of the things that the government is like we are privacy by default, so everywhere you'll see signs like PII, don't do a PII, and that's a huge thing in government to make sure that privacy's enabled. And that's one thing I didn't understand when I came into government originally, I thought that, like, the IRS talks to everybody, right? I just assumed every federal agency had my tax information and could just easily get it and...

18:54 Michael Kennedy: Right. The DMV knows, they know.

18:57 David Holmes: Yeah they just know me. I have to fill out app 36 and I'm like "Don't you have all this information on me?" And the reality is no, the government's pretty siloed because the government by default tries to be as privacy-concerned as possible, so, for example, they have a law called 6103, where people just can't get access to your tax returns. And that's a good thing. For me that's like a huge benefit, and even in my personal life I'm super privacy-concerned, when I'm using social media or I don't have social media because I care about my privacy a lot, and it's interesting when I came into government, I assumed everything was open to federal employees and that's just not true.

19:32 Michael Kennedy: That's pretty interesting. So a few more questions on the duty model. You talked about this person coming from Michigan, people come from the tech industry, it sounds like these are paid positions that people can come and take. They can take them for three months, but they could also take them for four years. One, is that right? Are these regular, paid jobs with all the benefits? Or do you guys accept interns? What experience do you have to have? Can you come in as like, "Hey, I took a bootcamp, I know some stuff but I'm not really quite that great yet but I'd love to be part of this." What's the spectrum look like there?

20:08 David Holmes: So we try to do mid-level career folks, just looking as an in-between, just 'cause they come with that experience they can sit in the room with a secretary and folks like that, but we do hire exceptional engineers who are young. But the salaries are competitive. It is a federal job and you do get paid for it. You can't work for the government for free. And it maxes out at a GS-15, Step 10, which is about $164,000 a year. So that's pretty competitive in the industry I see. The only thing is, you get really really good benefits, but you don't get the stock options that you may get in a startup.

20:42 Michael Kennedy: You know, that could be good or that might, that might just go to zero. You might pay taxes on it and then it goes to zero. Or it might even be worse than zero. I think that's interesting. Obviously you don't get the equity, I mean, maybe you do, but what are you going to do? Sell the government? It doesn't matter. I do think it's an interesting model and it's cool that it's a paid program with somewhat competitive rates. Competitive's always relative. Competitive to somebody working downtown San Francisco and competitive to somebody working the outskirts of Kansas City, those are multiples of different salaries that might be competitive. But it's still, it's cool that it's accessible to most folks in terms of salary.

21:26 David Holmes: On the equity part, we all have equity in this country. We want to make sure this country's as great as possible. So the impact that you can have here is just amazing.

21:35 Michael Kennedy: Yeah, for sure, that's cool. One of the things I think that is cool about places like Stanford and Harvard and some of these high-end education places is not so much what you learn. You and I are both significantly self-taught in programming and I feel like we could probably hang with a lot of those folks, but what's really interesting is the connections you make, and sort of the groups you get to run in, and so on. I feel like there might be something kind of like this here. Do you feel like there's a lot of, you talked about alumni, a lot of interesting connections, or even companies that get started after these tours of duty?

22:12 David Holmes: Definitely. Before USDS, I felt I can run with the best of 'em, but now I feel like after USDS I'm going to have tons of connections and networks, so, because we hire people from all places around the country, and from all different types of companies from big, huge ones from Google to small startups, and some folks go back into the company they came from originally, 'cause they just did a short tour of duty model, but one of the things that's amazing that I find here is how many people go out and start their own companies. We have people who successfully got into Y Combinator after USDS. We have people who said, "Once I've done my tour of duty, I find that the problem may be easy to tackle from the outside than the inside." And has started startups that's now part of this thing called the Digital Coalition. Some people stay in public service. The former Director of Engineering here at USDS became Deputy CIO over at OPM. We have one of our former private folks, startup folks, became the CIO over at Center for Medicare and Medicaid Services.

23:14 Michael Kennedy: Yeah, cool.

23:15 David Holmes: And former alumni Charles Worthington became CTO of the VA. Some people stay in government, some people go back into private industry. But I find that those connections and that network of people just invaluable. And today, like I said before, we're 170 people strong, but our alumni now is at 200 strong.

23:34 Michael Kennedy: I'm sure that's, that's really interesting. You know, once you get inside the system, I'm sure it opens your eyes to ways things could be done better, like the big deal with a lot of startups is disrupting, like, semi-broken models. We have Airbnb with hotels, Uber super, like, taxis make me crazy. I feel like I'm being both ripped off and inconvenienced at the same time. It's just like ahh, these taxis. And you know, they came along, and for better or worse they've done a lot to smooth over those edges. But if you were inside the government and you work at, with these agencies, I'm sure there's a ton of opportunities to see how you could create a business that would kind of do the same, but in that space. What do you think?

24:17 David Holmes: Yeah, I think there's tons of opportunity. And sometimes it's hard to make change from inside, and sometimes it's easier to make a change from outside depending on your project. And you mentioned a couple of companies, and some people don't want to make the next Uber for dog walkers. You get an opportunity to have some amazing impact.

24:36 Michael Kennedy: Yeah, I too feel like startups are interesting, but a lot of times they're kind of, I don't know what's the right way to put it, but they're not contributing a whole ton of value to the world, they're just, I don't know, making some little tiny tech thing better, or more fun, but it's not the same as like helping veterans or whatever. You talked about this article on Hacker News in your profile, which I thought was pretty interesting. I'm going to link to this Hacker News article. Maybe you could summarize it a little bit for us, but I'm going to do a little excerpt from it. So talking about what the USDS is trying to solve, and some of these tech problems that people run into. So one of the commenters on here said, "Yeah, my friend described a process in one government department where digital documents were received, they were printed, and then they were physically mailed to some back office site, and then manually entered into a system by typing. The contract for scanning was worth millions of dollars, and the contract for the back end was also worth millions. And peoples' jobs depend on this whole useless exercise." But the reason it was super hard to reform because why would that company that has this whole business of people entering stuff want to just make it an API that's one one-thousandth the revenue. That sounds like a lot of those problems. That's kind of what I was think of when, like, you could disrupt those things if you were not part of that system.

26:00 David Holmes: And you can also disrupt it internally. So we can come in and say "Maybe you shouldn't do that."

26:06 Michael Kennedy: Why are you doing this?

26:07 David Holmes: And here's a better way of doing that. And one of the things we've become super successful at is sometimes we just build prototypes and just show the agency and say "Look, here's a better way of doing it. Here's this prototype with an API that can make the lives a lot easier."

26:20 Michael Kennedy: Yeah, an example that's really recent and was just in the news, I don't know if it has anything at all to do with you guys, but there was this proposal for the United States Tax Service, the IRS, to basically make a online system so it's super easy for most people to file their taxes online, just fill out a few forms and you're good. If you don't have really complicated consulting, and there was a huge pushback. Even in Congress there was a pushback, like "We don't want that. We don't want people to have this for free. There's businesses that are built on this. What is Intuit going to do?" Things like this. That was crazy.

27:03 David Holmes: That's one of the things that we hope to make an impact on from the inside.

27:05 Michael Kennedy: Yeah, that's cool. I definitely, I do think that that one out that they said "No, actually, this is bad." But there's really sketchy stuff, like some of the companies that were supposed to be filling that gap and providing the free stuff, they were putting like a robots.txt to say, "Don't index the free stuff so you can't Google for it." and it was really weird. So I'm really glad to see that that's making progress. But let's talk about some of the projects that you guys are working on. So it sounds like the genesis of this whole thing was let's come in and fix healthcare.gov. That was sort of the origin, huh?

27:36 David Holmes: Yep. Pretty much the origin of let's go in and see if we can take people from the private industry, drop them into government, and see if they can fix healthcare.gov. And that turned out to be successful and then it was just like "hey, let's see if we can replicate this across different agencies."

27:58 Michael Kennedy: There's a lot of stuff that's like that. Let's just start going from one to one and start fixin' 'em. That's super. Another one was va.gov, which is the Veteran's Association, right, for veterans of the military service. That involved a lot of Python fixing it up, right? Tell us about that one.

28:05 David Holmes: Tech stack for that is like Ruby on Rails, but a lot of the DevOps involved Python. And that's so much Python, one of the things that we found when we go to these different agencies is they already have a team established, and we like to try to use the tools that they're familiar with, so in my personal capacity I love Python, in a different agency they may be a Ruby on Rails shop or a Java shop, or in some cases a COBOL shop. And it just makes sense to try and work with what they currently are using, so that way you don't have to rebuild everything from scratch, and on top of that, training all the engineers on the same thing.

28:38 Michael Kennedy: This portion of Talk Python to Me is brought to you by Rollbar. Got a question for you. Have you been outsourcing your bug discovery to your users? Have you been making them send you bug reports? You know, there's two problems with that. You can't discover all the bugs this way, and some users don't bother reporting bugs at all. They just leave. Sometimes forever. The best software teams practice proactive error monitoring. They detect all the errors in their production apps and services in real time, and debug important errors in minutes or hours, sometimes before users even notice. Teams from companies like Twilio and InstaCart and Circle CI use Rollbar to do this. With Rollbar, you get a realtime feed of all the errors, so you know exactly what's broken in production. And, Rollbar automatically collects all the relevant data and metadata you need to debug the errors, so you don't have to sift through logs. If you aren't using Rollbar yet, they have a special offer for you, and it's really awesome. Sign up and install Rollbar at talkpython.fm/rollbar, and Rollbar will send you a $100 gift card to use at the Open Collective, where you can donate to any of the 900-plus projects listen under the open source collective, or to the Women who Code organization. Get notified of errors in realtime, and make a difference in open source. Visit talkpython.fm/rollbar today. That makes a lot of sense. 'Cause you don't just want to go in there and say, "Well, we're throwing out all your code, here's a bunch of Python and yeah, I know you know Java, but too bad, Python."

30:04 David Holmes: Yep.

30:05 Michael Kennedy: Then leave, right? And say "Now go be productive." It's not really exactly what the mission is.

30:10 David Holmes: Yeah, so we just try to work with our stakeholders and our partners on what's the best solution for not just them, but also for the American people.

30:17 Michael Kennedy: So it sounds like part of that project was this wait times API, to help build systems around understanding if you can go see a doctor or something like that? Is that right?

30:26 David Holmes: One of the things is developers.va.gov, where there was a lot of work that we helped with that just setting up APIs and making sure that the people on the ground can deploy these APIs in an efficient way. And one of 'em is the wait time one. So you can actually build an app right now, you get an API key, to help veterans figure out the wait times for, I think you can go down into details of like wait times for what specific doctor you're looking for, too. And you can pick the best around you.

30:53 Michael Kennedy: Yeah, cool, so yeah there's even a developer.va.gov. That's pretty cool, the whole API platform and stuff. Nice. Another one was Medicare and Medicaid?

31:01 David Holmes: Oh, so you're talking about the blue button API. Yeah, that's pretty cool. So, one of the things we found out is that folks don't go to government sites for everything. And doctors want to use the software that they use normally for the rest of their patients. So what we did was build this API that allows, in just a secure way, people can verify their identity just a secure way to give those healthcare records to their doctors in a systems that works best for them. And that's a huge thing, because Medicare, Medicaid has 57 million beneficiaries within it. So now these beneficiaries can be able to transfer their health records to their doctors using this API, which is really really cool.

31:38 Michael Kennedy: Yeah, that's a huge part of the economy, but also peoples' lives. On the website it says there was eight million lines of COBOL. And, this part blows my mind, 2.5 million lines of assembly code. That's crazy.

31:55 David Holmes: These are some systems that haven't been updated in 60, 70 years, so we kind of come in and, it's interesting because, particularly for this part, is we had an engineer buy a COBOL book. And learn COBOL and try to learn COBOL so they can help out with this project, and now I was talking to them before they left their tour of duty I was like, "Yeah, I know you didn't expect to come here to do COBOL, but you left now knowing COBOL and you can put it on your resume." How many places could you go to where you could do that? So you can get COBOL experience.

32:25 Michael Kennedy: Yeah, that's pretty wild. I doubt anybody, not anybody, I doubt many people want to work in COBOL, especially from, you know, scratch these days. But there's got to be a huge opportunity to know COBOL and modern stuff, and be part of that transition.

32:41 David Holmes: Huge opportunity. For me, for example, I didn't know they still wrote books about COBOL. I'm just, where you going to find one at? Like do you go to your local libraries and on Amazon? But yeah, huge, like if you could come in and even just pick up COBOL just to help modernize something. So one thing I find that's really cool that we're doing at CMS in HHS is, right now there's a Medicare payment processing system, that's all written in COBOL, for the most part. And they want to modernize it, and they tried modernizing it for multiple times. So we did, we went in there and we said, "How 'about we just take a piece of it, just a small piece of what this mainframe COBOL app does and let's put that on the cloud and let's see how that works." And we've been really, really successful in that. And now, Health and Human Services can see that okay, you can just take a piece, and you can kind of do it piecemeal. So eventually we're going to get to a point where, in a few years, we're going to be off of the mainframe, and off of COBOL and have all of that entirely into the cloud.

33:31 Michael Kennedy: I mean, that's why we still have COBOL in these mainframes running 2.5 million lines of assembly, is because people just say we have to flip the switch. And what happens when you flip the switch and, just, they've been built up and layered on top of change after change for 50 years, how hard is that to recreate from scratch? It's got to be tough.

33:52 David Holmes: Yep, it's super tough. And it's a huge program, right? And a lot of people depend on this and were worried that, a couple things, that there won't be enough COBOL developers to help maintain this, 'cause healthcare laws change every single year, and 10,000 enroll in this every single day, so it can't go down, and Medicare and Medicaid is about four percent of the GDP, so even if it goes down for an hour, you're talking hundreds of millions of dollars. And payments that's not going out to doctors.

34:17 Michael Kennedy: Right, people how have to have emergency surgery and all sorts of stuff, right? Or even worse, maybe like some kind of, you know, they didn't get that test that would've let them know they had cancer so they could've gotten early treatment. Some bad knock on effect.

34:30 David Holmes: That's like the things that sort of keep me up at night. Every day and making sure that systems don't go down. 'Cause if they go down, that really does have an affect on a ton of peoples' lives. And in some cases, it's literally life and death. That keeps me up at night, make sure we do that. And I'm glad that the team that we have over there is kind of saying like "Hey, let's not do this the way that we keep trying. That's not working. Let's try this agile way, let's do it piece by piece and eventually we'll get into the cloud and we can scale this out." So, as you know, in most places they have open enrollments. So that's when you need the most servers, so we can scale that up when we need the most servers, and scale that down as needed. And be cost effective, but also be able to help folks in need at the time of them being in need.

35:17 Michael Kennedy: Absolutely, well, and also, just hire people. Interesting, talented people. Because if you're looking around for jobs, you're like, "Oh, there's this cool robotic company in Pittsburgh I could work for, they're doing JavaScript, I'd rather do Python. Oh, there's this Medicare place that does COBOL in assembly, should I go work for that? No." Like that's just got to be a lot of the thinking. But if all of a sudden it's like "Help us move the cloud, do a bunch of microservices, it'll be fun." Like all of a sudden that's a different set of people you could reach.

35:47 David Holmes: Yep, agreed.

35:47 Michael Kennedy: Yeah for sure. Understatement, right? Other project that looked cool was the College Scorecard. Tell us about that.

35:55 David Holmes: This is a project that we did at the Department of Education. This is part of the mandate of how do we get students out of debt and default? And one of the things that we found, several things, right? A lot of people don't even apply for FAFSA for financial aid because they just assume they won't get it. So we built this to say "Hey, no, actually, on average, based upon a range of your family's income, for this particular school you can get financial aid." And another thing that we realized was that some people go into debt and default 'cause they don't realize how much the college or the program would cost. So one of the things with the College Scorecard was making sure that not only did we tell you how much, on average, a four-year degree, or a two year degree at that school would cost, but also, what is the average amount of debt people would have in that school, and what is the average monthly payment for that school, and how much people make on average after that school. And I think that goes a long way to helping you pick the right college for you that can keep you out of debt. 'Cause some people are in hundreds of thousands of dollars worth of student loan debt, and if would've just known that before they picked the school or the program, how much money they would make after that, they probably would make a, I want to say a different decision, but at least they would have a more informed decision, into their process. But one of the cool things that we worked on that project was people usually don't go to government websites for things, like I was saying before, and so we said how about we take that data and we make it open? And allow where people are actually going to learn about the colleges, allow them to have access to this data that the Department of Education has, and they can display it for their students or when the students are searching for their perfect college, they can go to the sites that they're used to going to to find that information. And what's cool about that is Google saw that, and now incorporates College Scorecard data into the search results on the side, or if you're on mobile on the top, where if you type in like Harvard University or something, it'll pull up those same things of how much the average tuition is, how much, what is the graduation rate, and the acceptance rate for the school, and all that's using College Scorecard data.

37:49 Michael Kennedy: That's super cool. It was really clearly presented to you as a 16 year old student thinking about which college you're going to pick, 16, 17 year old says look, you could apply to this out-of-state school that sounds really awesome, and you could get this degree and your average income would be, I don't know, let's say 70,000, and your debt will be 200,000 and it'll take you this long to pay that off, if you can save this much. Or if you went to your state school, yeah you'll only make 65,000, but your debt will be five. You know, something like that, right? That might be, you know, really worth considering. Like if it was really clearly laid out? I feel a lot of people just, you know, they chase their dreams and pursue their passions, and of course you go to the better school. Well, you know, define better. Academically, maybe, but is $250,000 of debt, like, I was at a restaurant here in Oregon, and a waitress, it was summertime, she was home, back from college, she was like a senior in college. She was talking to me and said, person next to me started talking to her about her school and what she was studying, and I don't know, she was just oversharing I guess, or frustrated, need to let some steam off, but she's like "Yeah, I'm studying, I'm going to become a music teacher, I'm at this, one of the elite music schools in Seattle, and it's, just home for the summer, it's really great. I almost got my degree, I'm going to be a music teacher next year, it's going to be so fun, only downside is I have $250,000 in student debt." And I thought how does it make any sense if you want to be a music teacher, like a middle school or high school, to have that much debt? But I don't know, I think some data would be great.

39:22 David Holmes: That was like one of the things that we focused on for the first part of that mandate of just how do we help students get out of debt and default, which was, let's try preventing people from getting into default to begin with. But then we also said, okay, how do we help the people that's currently in debt and default, and one of the things we came up with was Wizard, that you can go to if you go to studentloans.gov, and it's right there on the hero page, it says find out your repayment options, and from that you just, you can answer some simple questions. Like do you have a federally-backed loan? Are you in default? And things like that. And depending on how you answer these questions, you can actually have multiple different programs that you qualify for, so one of them is a program called income-driven repayment, which just pays a percentage of your salary every single month to paying your student loans down instead of the standard 10-year plan that you're normally put into six months after your grace period of you graduating college, so basically six months after, if you don't have the perfect job for you, then you may, someone who has $150,000 in student loan debt, they may end up having to pay $2500 a month, and that's not easy for everybody. So now you can just pay based upon your income. One of the greatest parts about that particular project was that, like most people have student loan debt. My sister has loan debt, and I was just talk to her at a bar, after I moved down to D.C., we worked on this project, we launched it, the former President Obama announced it, which was really cool. I was just talking to her about it, and she's like yeah she's trying to figure out how to get out of debt, of student loan debt. So I said "Hey, have you heard of studentloans.gov/repay? This project that I worked on." then we went through it and I found out she was in default of her student loans, and she qualified for a thing called loan rehabilitation, which is you make nine payments, you make them once a month, for nine months, it could be as little as five dollars a month, and what was really cool about that was, so she did that and then she was able to fix her credit because once you get out of that program, the Department of Education will go back in your credit and say you was out of default and you was never in default and you paid this entire time.

41:23 Michael Kennedy: Oh that's awesome.

41:24 David Holmes: For some people, your student loans started three years ago, and it goes back three years, like your credit goes up. And for my sister, her credit went up, and after that she was able to buy a car because her credit was able to go up, she couldn't get a loan for a car, and then was able to find a better job 'cause she could travel further and not have to take, you know, in New York City our transportation's pretty cool, where I'm originally from, but it could take awhile. So now she had a car, she was able to travel further, and she also put my niece in basketball programs that she wouldn't have probably put her in otherwise if she didn't have a car, and all of this because of this. So it was like real interesting to me that I was able to see the effect of a project that we did, just up front and personal and up close.

42:02 Michael Kennedy: That's cool and that's part of that helping people effect you talked about, right?

42:05 David Holmes: Yep.

42:06 Michael Kennedy: It's wild how personal it was, though. That it's your sister.

42:08 David Holmes: Yeah, it is. That showed me instantly the amount of impact that can have. So we do a lot of user research and we talk to people before and after we launch something. But just like seeing my sister, and seeing the actual effects of it, 'cause it took awhile, she had to do the nine payments over nine months and things like that, but then able to see that long term progress and success is just really amazing.

42:31 Michael Kennedy: That's super cool story. So when all these projects, and just the philosophy at USDS in general, what's the story with open source? Is it something you strongly push? Is it just something you use when it makes sense? How do you guys think about open source there?

42:46 David Holmes: We try to open source as much as possible, so VA you can go to the Github, they open source as much as possible, our crime website's open source, we try to open source as much as possible. One of the hard parts is sometimes you go in and we find out that the problem isn't just the front end of the website, the problem's the back end. That's what takes awhile to rebuild. So we build those back end systems to help people get through these processes a lot faster, and that's sometimes hard to open source, because it connects to private databases and things like that.

43:13 Michael Kennedy: Sure, and it's just so tied up with all the specific details, it's not reasonable.

43:18 David Holmes: Overall, the government policy for all agencies is to open source at least 20% of their code.

43:23 Michael Kennedy: Oh, interesting, that's cool. Do you guys maintain any PyPI packages, could I pip install something from USDS?

43:29 David Holmes: Not yet, but we're working on it. And I think that something we'll double down on. But you could go to code.gov, which is just a repository of all the open source code that the government has, so code.mil, which is a repository of all the open sources the military has, so there are some potential projects.

43:46 Michael Kennedy: Yeah, yeah, that's cool. Well, and maybe something someone could do if they came for, you know, three months, would be to take those things and make them a little more stand alone, get their own, read the docs, make it sort of more developer discoverable, or something? I don't know, that sounds like a cool project, actually.

44:02 David Holmes: Yeah, if your listeners are listening or if you want to help with that, we're more than happy.

44:08 Michael Kennedy: Yeah, yeah, that'd be solid.

44:09 David Holmes: We do have an open source U.S. forms system that has been by the Austin Digital Governmental service out there, and basically what this project is, one thing we realized is government has tons and tons of forms, so trying to make it easier to just build web forms for folks. And they've been using it and it's pretty cool, and we use it internally here, too.

44:28 Michael Kennedy: Oh, that's awesome. So, one final project then I want to talk about some of your personal projects in Python, 'cause they're very interesting, they tie back to USDS. The final one that's listed, not the final one, but the final one I'm going to talk about listed on usds.gov is Hack the Pentagon. We all saw War Games, and that was, was that the Pentagon? I think it was, right? They were, Matthew Broderick hacked, with like a 300-bod modem, got into a bunch of trouble, almost started nuclear war, typically hacking the Pentagon is referred to as a bad thing, you shouldn't do it, but somehow you guys sponsored this thing, or encouraged people to hack the Pentagon? What's up with that?

45:06 David Holmes: That was extremely, you know, it's especially because of the name, you know, you go to the Secretary of Defense and say, "Hey, we want to start a program called Hack the Pentagon." You can imagine the eyes widen and just like, "Hack the Pentagon, like no."

45:18 Michael Kennedy: With how hard we work to make that not happen?

45:20 David Holmes: Yeah, and he said not to do it, so we did it. They said, "We can't have this." so he's just like "We're going to do it." 'Cause the projects about, I think, empowering high grade people, and we could come in and talk to the Sectary of Defense about it, so after we just explained to them that is not new. Netscape did it in 1995, and a whole ton of companies do it. And it actually would help make you more secure, because now people aren't selling these hacks on the black market. They can actually report them to you and you can fix them. And what's really amazing about that is we had an 18 year old kid win, and go to DevCon and all that, but win by hacking the Army I believe this program was, and that was pretty cool that we can have this range of people who can actually go in and say, "Hey, I'm going to use my security skills, my security engineering skills, to hack the Pentagon and it's going to be okay as long as I report it." And our program has been super successful, so we started with Hack the Pentagon, now we have Hack the Army, Hack the Air Force, Hack the Marines, and we're doing it every year. So it's pretty cool to see that at first it was hesitant to say let's do a program called Hack the Pentagon, but then they saw how extremely useful it was, and it's now expanding into the rest of the military branches.

46:37 Michael Kennedy: Yeah, that's cool. The stats you have here, like 15 bug bounties are held, over 600 hackers participated, and over 7,000 vulnerabilities discovered and presumably closed.

46:50 David Holmes: Definitely, definitely closed.

46:53 Michael Kennedy: That's cool.

46:54 David Holmes: But yeah, so that's one of the funner ones.

46:56 Michael Kennedy: Yeah, that's really cool. So a lot of neat projects there. So one of the things, we were talking earlier that you said doesn't work so well in government are some of these newer modern communication platforms. Things like Slack and other stuff. And it's not just that people resist it, but there's rules about, like, retaining all the records as just recordkeeping in case anybody wants to know what the government's up to and things like that, right?

47:23 David Holmes: I take a ton of things in the privacy and especially startups for granted since I came into government. I was just like, "Yeah, you guys just don't have G Street?" And it was like "No."

47:31 Michael Kennedy: Oh I miss my Gmail.

47:32 David Holmes: So one of the things we worked hard on for four years to get this was Slack. Because in the private industry it's just really easy and Slack makes things very very easy to communicate with everybody. But one of the problems they was having with us having Slack was well, how do you handle records? And the reason why that's important is 'cause of the Presidential Records Act and the Federal Records Act, which basically states that all records have to be kept and maintained, and also fileable and discoverable. One of the things that we said was, "Okay, how about we just create all of the Slack channels, and put them into a .email file, and then, from that .email, we'll import that into Exchange, so that way it's all discoverable and searchable and people can read it." And it's a human-friendly way, right? All these Slack records. And all of that is built on in Python. And we're hoping to open source that soon, so that way more government agencies can use Slack, 'cause one thing I find that's super useful and how our communication's changed once we got Slack was, instead of having three or four going back and forth emails, and then two one-hour long meeting, this thing could get solved in 30 seconds in a Slack channel.

48:40 Michael Kennedy: Right, right, right.

48:41 David Holmes: We're able to make decisions a lot quicker because we have Slack, and one of my small side projects is how do owe expand this to the rest of government, and I'm hoping to look forward to do that before the end of the year so that we will have guidance on how you can not only implement Slack into your agency, and some of the benefits, but also how do you handle some of these difficult things like records management.

49:04 Michael Kennedy: Yeah, that's really cool. You know, that'd probably be valuable for even outside the government. Certain large companies or something like that, who are afraid of the transient nature of Slack and things like this.

49:15 David Holmes: Slack is something really cool on enterprise grade, where you can encrypt all your conversations so only you have access to it. And that was something really important to the government, too. So that Slack doesn't actually have, can't read all of our messages or anything like that, because all the messages are encrypted and decrypted at rest.

49:31 Michael Kennedy: Yeah, that makes a lot of sense. Cool, so I suspect one of the challenges for this is even just telling other government agencies this is a thing that now works, right? Just communicating within the giant thing that is the government. It can't be that easy.

49:47 David Holmes: It is not. But because we have teams at a lot of different agencies and we have partners and stakeholders in a lot of different agencies, we're hoping that once we can provide this guidance that we can just share it with that broader community.

49:59 Michael Kennedy: For sure. You could also go on a podcast and tell people about it that way.

50:02 David Holmes: I could, I could definitely do that.

50:04 Michael Kennedy: Right on. Another thing, this is a really interesting personal story for you, but it's something I think that would be quite valuable to a lot of folks, is this project that you did for, is it your son or daughter?

50:17 David Holmes: My son.

50:18 Michael Kennedy: Yeah, it's called School Diversity Report. When you started the USDS you have to move from New York City to D.C., and with kids that's always like, that's half the hassle of moving is figuring out where the kids go to school, who's going to take care of them, what'll they do, there's just so much stuff, right?

50:33 David Holmes: Yep. And one of the things for my son was two, I believe? Two turning three. And so we had to start preparing that we're here long term, where does he go to school? And I was at the Department of Education, and we helped them with this thing called Civil Rights Data Collection, where basically Department of Education goes out to all these different schools with a survey and says, "Okay, breakdown a lot of your student involvement by gender or race, ethnicity, and a whole bunch of other different things." And schools answer back, so it's a thing that happens every two years, and it's getting ready to release its data access for our opinion. They wanted an API for this, and said, "Well, if it's only once every two years, you don't need to pay a vendor millions of dollars to do the API, just leave it as a CSV." 'Cause most people are going to use Python to the CSV or something.

51:19 Michael Kennedy: Right, or have pandas, that's always...

51:23 David Holmes: To go through it, so just release as a CSV, and that's what they did and they gave us a heads up and I was like, "Oh awesome." that a) because I worked at USDS I was able to even know about this dataset that was coming down the pipeline, and it made me think "Hey, I can actually use this to find the school for my son." since my wife and I was looking for awhile. And from that, my wife and I came up with this list of things that was really important to us. And one of the things that was important to us was looking at the datasets and one of the data elements that they had was making sure that my son had opportunities, equal opportunities as everybody in that school for things like gifted programs, making sure that it was a diverse school, that it just wasn't, that it was a broad mix of diversity at his school, and making sure that suspension rates for Black and Brown people wasn't overly high compared to the actual population that was in the school. And once you compare that against all the different ethnicities that the CRDC had, and just making sure that not only for gifted programs, for example, that it wasn't just Black and Brown kids have more of a chance of getting into these gifted programs, we wanted a school that was super diverse and that everybody had an equal chance to get into these gifted programs. 'Cause one thing we didn't want was in the case that my son did get accepted to a gifted program, that his other friends wouldn't because the statistics show that they probably won't be allowed. And we found this perfect school that was pretty much equal all around, and super great for my son, and that's how we came up with School Diversity Report. And what was really cool about that was, so I presented that at staff, 'cause I did it over a couple of days, like a 20% project here at USDS, presented that at staff, showcased everybody, everybody bought in, and then from there actually ended up meeting the former Deputy Secretary of Education, James Cole, to just kind of present him this data and say this is why data's important and people like me can actually use this data to make cool tools that other people can use, and can help make their decisions, and one of the proudest things of why I feel like this was super successful was, so, a couple of weeks ago, my son gets a letter from the school saying he's been put into the advanced reading program at his school, and I'm just really super excited about that. 'Cause my wife works really really hard making sure he can read and all of that, and he's six years old and he reads all my text messages, which is like a consequence of making sure he can read everything. Just like, "Daddy, what about this?" I'm like, "Stop reading my text messages."

53:42 Michael Kennedy: "Daddy, I know what your login password is."

53:45 David Holmes: He does, and he'll wake me up and says, "I know your password." I'm like "Wait, what?" It was really cool that he was getting able to accept this, so one of the things I did when I originally built this, I built it in Node JS, back end in 2016, was Node JS, Postgres, and all these things on my local computer, 'cause hosting something on EC2 and RDS can get a little expensive sometimes for a side project, so this year I kind of wanted to see since he got into that advanced reading program, now that this data has been updated, what are the stats now? And it's still pretty equal in his school, which is really really good. But then I ended up saying, "How can I release this to the public?" And one of the ways I did that was saying okay, how I'm doing this is pretty much a key value search. This doesn't need to have servers at all in it, so I just used Python to kind of take the CSV and go line-by-line and export the CSV to JSON files by zip code and school ID number. So that way now it's all completely server-less. Now it's on S3, and CloudFront, and I don't have to actually worry and for all your listeners, if you want to go to the site it's schooldiversity.com, and it should be able to scale, maybe we'll test out Amazon's scalability. But yeah, I was really happy about that project and how for me I was able to even have that conversation with the Dep. Secretary and say "This is why you should have open data within the agency because it's really important for us to have all that information as well."

55:07 Michael Kennedy: Yeah, it's a super cool project, it's also beautiful, which I thought that was really nice. Looking at this is a really slick little website, there's interesting insights in there and like you said it's fast. Yeah, I'll link to it in the show notes so if people want to check out their local schools, or where they may be moving, then they can definitely use this. That's great.

55:27 David Holmes: Yep, we're excited to have that project in. Thank you, I appreciate that you say it's nice looking, 'cause I try to make everything as user-friendly as possible. I think that comes from my experience at USDS, just like making sure it's actually usable by people. And not just an engineer like me.

55:43 Michael Kennedy: Yeah, exactly. Not just battleship gray with no CSS or whatever, right? This is really cool. So yeah, people check it out. You know, I feel like we're in this special place as having programming skills. It's almost like we're the modern-day magicians. You're a guy who wanted to help his son get a better school. And then all of a sudden well, this thing you built is like well I'm meeting the Deputy Secretary of Education in the U.S. because I conjured up this magic thing out of what was already there but nobody was using it. It's pretty cool.

56:14 David Holmes: I think for them, too. 'Cause sometimes they release this data and they have no idea what people are doing with it. So just being able to showcase that, look here's what people are doing with it. It's really cool.

56:22 Michael Kennedy: Absolutely. So definitely people should check that out at schooldiversityreport.com. All right David, we're pretty much running out of our time here, so I want to ask you two quick questions before we get out of here. First, if you're going to write some Python code, what editor do you use?

56:36 David Holmes: If I'm going to write some Python code, Sublime. I know people are switching to some other things, like Adam and VS Code, but Sublime's just quick and easy, and I just love it. Love the fact that it opens up very quick and I can open up large CSV files.

56:50 Michael Kennedy: Yeah, it's cool. It's definitely, I feel like, one of the originals of that genre. I don't know what to call that style of editor. It's not like a terminal-based one like Vim or Emacs, and it's not an IDE. But there's other ones like it. Like you said, Sublime, Adam, VS Code, they're all kind of that GUI, light weight GUI editors. That's pretty cool. You come across, I'm sure, ton of Python packages. If there's one out there that's notable that maybe people haven't heard of, or you just came across and thought that was pretty cool, you got any ones you want to give a shout out to?

57:21 David Holmes: So you mean outside of Flask?

57:23 Michael Kennedy: Could do Flask if you want, but if there's something else you think maybe kind of delighted you, that people don't know about.

57:29 David Holmes: I like some of the standard ones, like Requests, Pandas is pretty cool.

57:34 Michael Kennedy: I think Flask is interesting because I feel like Flask is really becoming more popular, like it just tied Django as the most popular web framework, but I think it's more interesting beyond that because all these other frameworks that are trying to be the fresh new web thing, I'm thinking Molten, Sanic, Black Sheep, you name it, there's stuff that I haven't even, just probably came out this week, I haven't even heard of. They almost all seem to adopt some flavor of Flask's API. So I feel like Flask is having a big impact. Bigger than its download credit.

58:08 David Holmes: Yeah, one thing I love about Python, there's a framework or library for everyone and everything. That's the most amazing thing about Python.

58:15 Michael Kennedy: Yeah, it really is true. Right, or it's that import antigravity XKCD cartoon, right?

58:23 David Holmes: Something for everyone and everybody and everything. Virtual environment's pretty cool to me. There's a few.

58:30 Michael Kennedy: Yeah, cool. All right, well, this is super interesting. Like I said, I didn't know very much about USDS before, but I think it is a great idea and I have definitely heard of the effects you all have been having, like I've heard of Hack the Pentagon, I heard of the team that came in and fixed healthcare.gov, and so I just didn't realize that was all you guys. That's cool. So, maybe give folks a final call to action, maybe they're interested, they want to learn more, or maybe they want to come do a short tour of duty, where do they start?

58:59 David Holmes: Yeah, if you're super interested, please go to usds.gov/apply. It's not like the other government forms where you have to go to USA Jobs, it's the same type of application you would do in the private industry. You upload your resume, we have engineers or product people who, depending on what community practice you picked, but if you're an engineer, we have engineers who actually do the resume reviews and the interviews and yeah, just go to usds.gov/apply. If this all sounds really interesting and you want to help the government, just a different capacity, and just have tons of impact.

59:28 Michael Kennedy: Yeah, awesome. Do you have to be a U.S. citizen? Or permanent resident?

59:31 David Holmes: You do have to be a U.S. Citizen. Mainly because of the background check.

59:34 Michael Kennedy: Sounds good. All right, well David thank you for being on the show, and thank you for all the good work you're doing for everyone, this is pretty cool.

59:40 David Holmes: Thank you for having me, and if all this is super interesting, we can have one of the engineers come on the show and talk about some of like more in-depth into some of the projects they're working on.

59:48 Michael Kennedy: Yeah, sounds like fun. All right, talk to you later.

59:50 David Holmes: Talk to you later.

59:51 Michael Kennedy: This has been another episode of Talk Python to Me. Our guest on this episode was David Holmes, and it's been brought to you by the Local Maximum podcast and Rollbar. Examine emerging technologies, software, and social trends through the perspective of machine learning engineer Max Sklar, with the Local Maximum podcast. Listen to an episode at talkpython.fm/max, or anywhere you listen to podcasts. Rollbar takes the pain out of errors. They give you the context and insight you need to quickly locate and fix errors that might have gone unnoticed until users complained, of course. Track a ridiculous number of errors for free as Talk Python to Me listeners at talkpython.fm/rollbar. Want to level up your Python? If you're just getting started, try my Python Jumpstart by Building 10 Apps course, or, if you're looking for something more advanced, check out our new Async course that digs into all the different types of async programming you can do in Python. And of course, if you're interested in more than one of these, be sure to check out our Everything Bundle. It's like a subscription that never expires. Be sure to subscribe to the show. Open your favorite pod catcher, and search for Python. We should be right at the top. You can also find the iTunes feed at /itunes, the Google Play feed at /play, and Direct RSS feed at /rss on talkpython.fm. This is your host, Michael Kennedy, thanks so much for listening. I really appreciate it. Now get out there and write some Python code.

Back to show page