#219: Take a Python tour of duty at the United States Digital Service Transcript
00:00 If you're a software developer who wants to take your special skills and help your country,
00:03 what should you do? Join the military? That's a good option for some, but it might not be a good
00:07 fit for you personally. In the United States, we have a very interesting civil option that's quite
00:12 new, the United States Digital Service. This service was created by President Obama to fix
00:18 broken government software systems, such as the rocky start to the healthcare system.
00:22 Developers and designers can serve in this service for as little as three months or as
00:26 long as four years, and they get paid roughly market rates. It's an interesting model indeed,
00:31 and I'm excited to have David Holmes from the U.S. Digital Service here to talk about their projects
00:36 and how they're using Python to make the government work for the people.
00:39 This is Talk Python to Me, episode 219, recorded June 19th, 2019.
00:44 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem,
01:02 and the personalities. This is your host, Michael Kennedy. Follow me on Twitter, where I'm at,
01:07 mkennedy. Keep up with the show and listen to past episodes at talkpython.fm,
01:11 and follow the show on Twitter via at talkpython. This episode is brought to you by the Local
01:16 Maximum Podcast and Rollbar. Please check out what they're offering during their segments. It really
01:21 helps support the show. Hey, everyone. Before we get to the interview, I want to quickly tell you
01:25 about a new course we just launched. It's our first major Flask course, and it's called Building
01:30 Data-Driven Web Apps in Flask and SQLAlchemy. This one's a deep dive into Flask. We cover things like
01:35 routing models, templates, databases, and migrations, and even deployment and security. And we do all of
01:41 this in the context of building a clone of the pypi.org website. Check it out over at training.talkpython.fm.
01:49 If you're not sure if you want to choose Flask just yet for your web app, then give our 100 days of
01:54 web course a look. We cover many frameworks and programming models in 25 four-day projects,
02:01 so you get a super wide view of what's out there. Then you could pick Flask or Django or Pyramid or
02:06 something else. Thanks for checking it out. Now let's get to the interview. David, welcome to Talk
02:11 Python to Me. Hey, Michael. I'm glad to be on it. Yeah, it's an honor to have you here. It sounds like
02:16 you're doing some really cool stuff at a place that honestly wasn't on my radar until we started
02:21 talking, but it's such a cool idea. So I'm really looking forward to talking about the United States
02:25 digital service with you and what all this is. But before we get into all that, of course,
02:31 let's start with your story. How did you get into programming?
02:33 I got into programming. So when I was a kid, I had a computer that was left to me. It was the
02:38 HP 6475Z. You remember the model name and everything. I would take that computer apart and put it back
02:44 together. I had a zip drive, like a zip 100-inchabyte drive, if you remember those.
02:47 Yeah, was those the purple drives, those big purple drives that were like weird, expensive disks?
02:51 This one I had internal, which is like pretty cool, but it was like super used disks.
02:55 It's like a floppy disk times three.
02:58 Yeah, it was like a hard drive that you could take out, sort of. It was weird. I remember those.
03:03 But those were cool.
03:03 It was just 100 megabytes.
03:05 Yeah, they were huge. I mean, 100 megabytes. Those are huge, right? I could download that now
03:09 in like three seconds, but it was a big deal then.
03:11 At the time, it was like the best thing ever. And I would just take that computer apart,
03:16 put it together nonstop. And then once I kind of got bored to take it apart and put it back
03:21 together a hundred times, I started reading online about this thing, Linux,
03:25 and everybody's using it. And so my grandma, so I wanted to use it, but I had dial-up at the time.
03:31 And so I had to like ask my grandma for some money for it. And she was just like, over the
03:36 summer, she was just like, you're going to do a bunch of chores. So you get $20 for that way
03:39 I can order the CD. And it was MainTrade Linux. And then I got that CD. And this is back when
03:45 Linux did not have great drive support like it does now. I mean, it still could be a little bit better,
03:50 but so I sort of happened to like dig deep into like the C drivers and like edited and like kind
03:55 of like see if that worked. Cause I wanted to get my network in Linux.
03:59 That's right. Like maybe that zip drive doesn't have a driver. So you're out of luck or something
04:03 weird like that. Right. So as you know, my next day, they do a lot in Python. So that was just my
04:07 default choice of writing like just scripts and things like that. And then so forth over time,
04:11 ended up learning PHP because I want to get more into web development and a lot of businesses use PHP.
04:16 But for me, Python was always my go to when I wanted to just do something like a quick script
04:20 and stuff. And then I got into Node.js because it was like super simple to sort of a server. Then
04:26 like Flask came out for Python. So I started going back into Python. And yeah, from there,
04:31 I just been kind of using Python ever since for all my personal projects. Outside of like the here and
04:35 there, like I want to try something new thing. Like I had been working on a little bit of GoLang and
04:40 stuff, which is pretty cool.
04:41 Yeah, that's cool. So did you go to college for this or are you pretty much self-taught?
04:45 Pretty much self-taught. So I did go to college, but I went there for business and not really for
04:49 programming. And then I switched to a computer science major. But then I realized that a lot
04:55 of it was teaching me was Java and things like that. I wanted to do web development. So what I ended up
04:58 doing was going to a ton of hackathons. Like I probably went to 20 plus hackathons over a year.
05:02 Oh, wow. That's awesome.
05:03 And just sort of working with people in the community. I was going like every weekend at one point.
05:09 You're like, I got a hackathon problem.
05:11 Yeah, at one point, it kind of felt like that. My girlfriend was not my wife.
05:15 At the time, it's like, man, you're just constantly going to these things.
05:18 And then from there, I started meeting people in the community and from there just sort of getting
05:22 better at doing web development stuff. And I ended up getting my first job at an ad tech company in
05:27 New York City. And that opened the doors up for me to then get into the tech industry more.
05:32 Yeah, that's really cool. You know, I think that's interesting that you started out in business
05:35 and you were kind of already doing programming and you tried your hand at the computer science
05:39 degrees. I felt personally, at least the time when I was in college, that the computer science degrees
05:44 were interesting, but they were not really teaching you to build applications and websites
05:50 in the sense that maybe you do as a professional developer.
05:54 It was more like really theoretical stuff that, you know, probably is interesting.
05:58 But how often do you do like teach you how to build operating systems or like understand how like
06:04 quick sort works and how to maybe create new algorithms and genetic algorithms and like all that stuff
06:09 super interesting. But it's not going to help me, you know, build like a scalable website per se, right?
06:16 And that's what's kind of like after I did the business and the computer science courses, it's like,
06:20 look, I'm making a ton of progress in the hackathon world. So I sort of dropped out of college and just
06:25 sort of pursuing my career from there.
06:27 Yeah, that's cool. I kind of did the same thing with grad school. I'm like, you know what,
06:30 the stuff I'm doing on the side is way more productive of you. So I will go do that.
06:33 You worked in New York. There's a lot of big time startups and tech companies in New York.
06:40 And so that must have been a fun scene to be in, especially with all the hackathons right around
06:43 there, right?
06:44 Yeah. And then I guess from there, I went from my hackathon, you know, addiction to sort of
06:49 startup addiction. I just had to work with tons of different startups.
06:52 Cool.
06:53 It was really fun. And the scene, like you said, it's like pretty amazing.
06:56 For sure. That brings us to today and what you're doing today, which is interesting that,
07:01 you know, the U S government doesn't sound very startup like, but the United States digital
07:07 service, which you have to tell us what that is. It's kind of got this sort of like stealth startup
07:13 skunkworks mode within the government, right?
07:16 Yep. We treat ourselves as like a startup within the government and pretty much for those who don't
07:21 know what U S digital service is. So basically we started in 2014 with healthcare.gov. If your
07:26 listeners remember that, how bad it was and how much it was on CNN and things like that.
07:31 And president Obama was just asking his advisors and he said, Hey, how come on the campaign trail,
07:35 we can accept millions of donations. But when we were trying to get millions of people, healthcare,
07:40 like the thing crashes and they had to explain like, you know, president of Obama, the way
07:43 we build things in privacy is different than government. And sometimes things can be very
07:47 complex in government. So president Obama said, how about we try this? How about we take some
07:51 people from the private industry and just throw them to healthcare.gov and see what happens.
07:54 And as the story goes over the next couple of weeks, we was able to help get healthcare.gov
07:59 back up and 20 plus million people now on health insurance, health insurance. And the president
08:04 said, this works so well, how about we start something like this? And that's how U S digital
08:08 service formed. We're about to be five years old this year, which is pretty amazing. We're
08:12 going to be celebrating our fifth birthday in August. And yeah, ever since then, then we
08:16 sort of did this tour of duty model where we have people come as short as three months of the four
08:21 years and from private industry kind of take a break and help serve their country in just a different
08:25 capacity using the skills that they have.
08:27 That's a really cool idea. And I, you know, I feel like I have not worked with the government
08:32 very much, but my experience there is that it's, I don't know, there's a lot of friction and it,
08:36 whenever I have to go to some sort of government website, like just yesterday, I had to go find,
08:43 I don't know, some form and fill out something for the postal service. And I was like, wow,
08:48 this website is bad. Like, why is it like this? You know what I mean? And it's just,
08:52 it's really interesting to think of how you might systematically go through these government
08:57 agencies and upgrade them and modernize them and just sort of put more lightweight systems in place,
09:04 like not just systems in software, but systems as in the way people work.
09:07 We're about 170 people strong and we're a mix of designers, procurement folks, engineers.
09:11 We have an awesome talent team, awesome comms team. But one of the groups here, you know,
09:16 I'm in engineering. One of the groups here I really take pride of is our design team who goes on,
09:21 does a ton of user research and making sure that we actually build the right thing.
09:25 That sounds easy, but that's really, really hard. And one of our values here at USDS is we design
09:30 with users, not for them. So we make sure that the users are included in every single conversation
09:34 that we have.
09:35 I can imagine it's easy to walk up to some antiquated system and go, well, this is written in
09:39 Cobalt and it's all client server and these things are broken. So let's, you know, make it a API with
09:45 Flask or whatever. But really maybe the idea is like the only reason this thing exists is because it's
09:50 bridging this, these other systems that actually, those are the things you need to modernize or like,
09:55 it just needs a different approach, right? Like people can get into ruts and especially in the government,
09:59 I would think.
10:00 Yeah.
10:00 Just to sort of round out, you work in the engineering department at United States Digital
10:04 Service doing software engineering there, right?
10:06 So I'm the director of engineering and my journey to becoming director of engineering. So when I first
10:12 came on board to United States Digital Service, I went out to Social Security Administration to help
10:17 with the disability claims processing system. And then from there, I went to Department of Education
10:21 where my mandate was to help with student debt in default. And then from there, I went to Small Business
10:26 Administration where I helped make it easier for people to apply for the 8A program, which is just a
10:34 disadvantaged program where if you are disadvantaged, a historically disadvantaged business, you can apply
10:40 for this program and it would allow you to at least have a level playing field with some of these big,
10:45 big vendors that the government uses. And Congress sets aside billions of dollars for this program.
10:50 But one of the problems was because it was part paper and part digital, it would take people too long to
10:55 figure out the process and they would hire lawyers. And at the expense of the lawyers, it would turn out to be
11:00 $30,000 just to hire the lawyers. It felt it's free form. So what we did was make it simple, right? And we made it
11:05 100% digital. So that way, folks don't have to pay $30,000. And as we know, if you're able to be in an equal
11:11 playing field with the rest of these big businesses as a disadvantaged business, then you're able to uplift your
11:16 community and hiring people. So it had these downstream effects of just as soon as these people was able to apply for the
11:21 program and get into it, it was able to have tremendous...
11:24 Yeah, it opened up all this opportunity, right? Yeah, for sure. I mean, when I think about working with like these
11:29 requests for proposals and other stuff that the government agencies have, it's just like, well,
11:33 you know, big companies have people whose job it is to understand what that actually means,
11:38 the flow that it actually goes through. Like it just is so opaque and challenging. So anything you can do to make that
11:44 simpler seems really good to like, shake up the incumbents, you know, the big Lockheeds or whatever
11:51 that are like the ones that kind of know the process, right?
11:54 Yep. And so for that website, it was certified sba.gov. And then after that, I went to FEMA where we helped
11:59 with the grants management modernization project, which is we're trying to take 10 different grant
12:03 systems, which can be kind of confusing to navigate. And how do we shrink it down to just one system that's
12:08 easy to use? And then from there, I became director of engineering. So we had quite a journey at USGS.
12:14 Lots of impact.
12:15 That is quite a journey. Yeah. And, you know, one of the things I think is really interesting,
12:19 like it's super fun to work at startups. You talked about that in your startup addiction for a while,
12:24 which is super cool. And you have all this fun tech, but one of the challenges is, you know,
12:29 sometimes those startups, they don't really go very far, right? And you work really hard to build out
12:34 some product and only a couple of people use it, right? Hopefully that's not the case.
12:37 And if you're getting hired there, you know, it may be well beyond that. Writing software is super fun,
12:42 but if people don't use it or it doesn't have an impact, then it's a whole lot less fun than,
12:47 you know, what you can imagine. But I imagine working on things like FEMA is pretty gratifying,
12:53 right? You know, there's a hurricane, it wipes out, you know, some region of the country. People are,
12:59 you know, they're in a serious, they're like, it's an emergency, right? Federal emergency,
13:03 whatever, right? So you're there to help. And I suspect that's pretty gratifying.
13:08 It really is. Just all the different agencies that we worked on, this is really amazing that
13:13 you can see the impact of it and sometimes firsthand. And I think one of the things for me is,
13:19 so because of our tour of duty models, I'm coming up on my fourth year. It's like,
13:22 what do I do next? Like there's tons of opportunity to be a tons of alumni, but it's like,
13:26 where do I go next to find this impact? So it used to happen.
13:29 For sure. I can imagine like, what am I going to build? That's going to help 20 million people
13:34 or something like that, right? So you mentioned this duty model, which I think is pretty interesting.
13:39 Like a lot of countries have like a civil service or even military service that is mandatory,
13:46 right? Germany has it. Israel has it. Turkey has it. The U.S. doesn't really have something like that.
13:53 And like, say in Germany, there's the military, you could go into the military or you can go into like
13:58 a civil service and say, drive an ambulance or be an EMT or something to this effect, right?
14:04 So in the U.S., we don't really have that. We have the military, but it's, you know,
14:08 volunteer only. I don't know much else beyond that. You know, maybe Peace Corps, but that's not a U.S.
14:13 thing. So this duty model, I think is pretty interesting. You want to tell us about it?
14:18 Yeah. So you can come on short as three months up to four years. So, you know, maybe you want to
14:22 take a break at, you know, your regular day job and just help, you know, create impact at
14:26 at the federal level in the government. Maybe you see something in the news that really inspires you
14:31 and you're like, hey, where can I go to go help with something just for a short time, right? Because,
14:35 you know, maybe you don't want to move from San Francisco or Seattle to D.C.
14:40 And you can just come in for a short time. So we have an engineer right now that's coming just for
14:44 three months and it's having tons of impact right now at the particular agency that they are at.
14:49 And it came for three months because they have a perfect school and their child out where they live in
14:53 Michigan. And they're like, they don't want to leave their child, you know, to come to D.C.
14:57 and their friends and things like that. But it's summer vacation now. So they was able to,
15:01 you know, take a three-month sabbatical and come help in just a different way. And the kids get to
15:04 come enjoy some of the D.C. weather and all the free museums that we have and all those things.
15:09 So I think that's really amazing that we could do that. And you could just stay up to four years and
15:12 just have tons of impact at different places. And that's what I love about the tour of duty model
15:17 that we have here because then what enables is people who maybe wouldn't want to be permanent
15:22 federal employees to come in and actually help the federal government and in many different ways.
15:28 But it also allows for folks to have that impact that they maybe not would have had before.
15:36 Right. Maybe you're like a super good developer at some tech company in San Francisco or Portland or
15:43 whatever. And you see, you know, kind of what I described like, whoa, this stuff is messed up.
15:48 I could probably really improve this if I just worked on this for three or four weeks. Right.
15:52 We could really help this process or whatever. Right. But you don't necessarily want to say,
15:57 leave the West Coast, drop out of your tech position and say, I'm just going to become a government
16:02 employee. Like that's, you know, it's great. Some people want that. But a lot of people I can see that
16:06 as like, you know, that's just a deal breaker for me. Right. But the fact that you could drop in for,
16:11 say, a summer and come work on something like that actually sounds super cool to me.
16:16 One of the things that that's amazing and like why I love our tour to the model again is because
16:21 you can come in and actually bring in new stuff in the private industry. So sometimes you find that
16:25 people in government who work there 20 plus years, they know what they only know. And, you know,
16:31 maybe it's COBOL, maybe it's mainframes. And it's great that we can have this constant revolving door
16:36 of just new people, new ideas, fresh ideas. Because as we know, tech industry is changing every year. Right.
16:41 And we can have these new folks come in and actually question the status quo and say like,
16:45 okay, this should be better. And in the private industry, this is what we do today. And some
16:49 folks are just increasingly questioning impact at tech companies. And we have just a clear approach
16:55 where we, where anything you do in the federal government, you have a chance to impact millions
16:59 and millions of people to make their lives a little bit easier and better.
17:04 This portion of Talk Python to Me is brought to you by the Local Maximum podcast. The Local Maximum is
17:09 dedicated to examining emerging technology, software, and social trends through the perspective of machine
17:14 learning engineer, Max Sklar and his guests. Max talks to creative engineers and entrepreneurs about
17:19 building products and emerging technology. The Local Maximum takes concepts from the machine learning
17:24 and data science world and applies them to current events and everyday life. The show speaks specifically to
17:30 people working in the software industry and challenges you to think critically about the projects you work
17:34 on and the teams you join, as well as practical advice for growing your career. That's why engineers
17:39 and product developers are tuning in to the Local Maximum. And you can get it anywhere you listen to
17:43 podcasts or just visit talkpython.fm/max. And if I can recommend an episode, you should check out
17:49 number 73. That's interesting. Maybe we could dig into that for a second. Like, I would say, you know, you talked
17:57 about taking this computer apart and, and getting the zip drive and just all the early days. And I felt like
18:02 in the early days, just technology was just clearly a good, right? It was going to connect people, it was going
18:09 to empower people who maybe didn't, you know, live in a big city, or there's just so many cool things that it
18:16 made possible, right? Like the first time I used Shazam, right? My mind was just blown, right? Like
18:21 it knows what song is playing. It's like magic in my hand, right? But I feel like it's, I don't know,
18:25 it's, it's a bit of more of a mixed bag these days. Yeah. And like a huge thing is, you know, data and
18:30 privacy and like, why are we building this? And one of the things in government is like, we are privacy by
18:36 default. So everywhere you'll see signs like PII, don't, don't do PII. And like, that's a huge thing in
18:41 governments and make sure that privacy is enabled. And that's one thing I didn't understand.
18:45 I came into government originally. I thought that like the IRS talks to everybody, right? I just
18:50 assumed every federal agency had my tax information and could just easily get it.
18:53 Right. The DMV knows, they know.
18:56 They just know me. I'm like, I have to fill F-86 and I was like, don't you have all this information on me?
19:01 And the reality is, no, the government is pretty siloed because the government by default tries to do,
19:08 tries to be as privacy concerned as possible. So for example, in the IRS, they have a law called 6103,
19:14 where people just can't get access to your tax return. And that's a good thing. For me,
19:19 that's like a huge benefit. And like, even in my personal life, I'm super privacy conservative. I don't
19:23 like using social media or I don't have social media because like I care about my privacy a lot. And
19:27 like, it's interesting when I came into government, I assumed everything was open to federal employees.
19:31 And that's just not true.
19:32 That's pretty interesting. So a few more questions of the duty model. Like, do you guys, you know, you talked about this person come from Michigan,
19:39 people come from the tech industry. It sounds like these are paid positions that people can come and take.
19:47 They can take them for three months, but they could also take them for four years.
19:50 One, is that right? Are these regular paid jobs with all the benefits or do you guys accept interns?
19:57 What experience do you have to have? Like, can you come in as like, hey, I took a boot camp.
20:01 I know some stuff, but I'm not really quite that great yet, but I'd love to be part of this.
20:06 Like, what's the spectrum look like there?
20:08 So we tried to do a myth of a career folks that said looking at us in between just because they come with that experience.
20:14 I can sit in the room with like a secretary and folks like that.
20:18 But we do hire like exceptional engineers who are young, but the salaries are competitive.
20:25 It is a federal job and you do get paid for it. You can't work for the government for free.
20:29 And it maxes out at a GS-15 step 10, which is about $164,000 a year.
20:34 So that's pretty competitive in industry, I see.
20:38 The only thing is you get really, really good benefits, but you don't get the stock options that you may get in the startup.
20:42 You know, that could be good or that might, you know, that might just go to zero, right?
20:47 Like you might pay taxes on it and that it goes to zero, right?
20:51 It might even be worse than zero.
20:52 I think that's interesting, right?
20:53 Like, obviously you don't get the equity.
20:56 I mean, maybe you do, but what are you going to do?
20:58 Sell the government?
20:58 It doesn't matter, right?
20:59 So I do think it's an interesting model and it's cool that it's a paid program with somewhat competitive rates.
21:06 I mean, competitive is always relative, right?
21:09 Competitive to somebody working downtown San Francisco and competitive to somebody working the outskirts of Kansas City.
21:16 Like those are, you know, multiples of different salaries that might be competitive, right?
21:20 But it's still, it's cool that it's accessible to like most folks in terms of salary.
21:26 On the equity part, like we all have equity in this country, right?
21:28 We want to make this sure of this country that's, you know, great as possible.
21:32 So the impact that you can have here is like amazing.
21:35 Yeah, for sure.
21:36 That's cool.
21:36 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, right?
21:46 Like you and I are both significantly self-taught in programming and I feel like we could probably, you know, hang with a lot of those folks.
21:52 But what's really interesting is the connections you make and sort of the groups you get to run in and so on.
22:00 I feel like there might be something kind of like this here.
22:03 Do you feel like there's a lot of, you talked about alumni and stuff, a lot of interesting connections or even companies that get started after these tours of duty?
22:11 Definitely before USCIS.
22:13 Like, you know, I feel like I can run with the best of them.
22:16 But now I feel like after USCIS, I'm going to have tons of connections and networks.
22:20 So because we hire people from all sorts of all places around the country and from all different types of companies, from big, huge ones from Google to small startups.
22:30 And some folks go back into the company that they came from originally because they just did a short tour of duty model.
22:35 But one of the things that's amazing that I find here is how many people go out and start their own company.
22:42 So we have people who successfully got into Y Combinator at the USDS.
22:46 We have people who said, when something after my tour of duty, I find that the problem may be easy to tackle from the outside than the inside and has started startups.
22:55 That's now part of this thing called the Digital Coalition.
22:59 Some people stay in public service.
23:01 So the former director of engineering here at USCIS became deputy CIO over at OPM.
23:06 We have one of our former product folks, shout out folks, became the CIO over at Center for Medicare and Medicare Services.
23:14 And former alumni, Charles Worthington became CTO of the VA.
23:19 So some people stay in government.
23:21 Some people go back at the private industry.
23:23 But I find that those connections and that network of people is invaluable.
23:27 And today, like I said before, we are 170 people strong.
23:31 But our alumni now is at 200 strong.
23:34 I'm sure that's really interesting.
23:36 You know, once you get inside the system, I'm sure it opens your eyes to ways things could be done better.
23:42 You know, like the big deal with a lot of startups is disrupting like semi-broken models.
23:48 Right.
23:48 Like we have Airbnb with hotels, Uber, super like I taxis make me crazy.
23:54 Like I feel like I'm being both ripped off and inconvenienced at the same time.
23:58 Right.
23:58 It's just like, oh, these taxis.
24:00 And, you know, they came along and for better or worse, they've done a lot to like smooth over those edges.
24:06 But if you're 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.
24:15 But in that space, what do you think?
24:16 Yeah, I think there's tons of opportunity.
24:18 And sometimes it's hard to make change from inside.
24:21 And sometimes it's easier to make a change from outside depending on your project.
24:25 And, you know, you mentioned like a couple of companies and like some people don't want to do make the next Uber for dog walkers.
24:31 Right.
24:31 We get an opportunity to, you know, have some amazing impact.
24:36 Yeah, I do 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 like a whole ton of value to the world.
24:48 They're just, I don't know, like making some little tiny tech thing better or more fun, but it's not the same as like helping veterans or whatever.
24:57 You talked about this article on Hacker News in your profile, which I thought was pretty interesting.
25:04 I'm going to link to this Hacker News article.
25:06 Maybe you could summarize it a little bit for us, but I'm going to do a little excerpt from it.
25:09 So talking about like what the USDS is trying to solve and some of these tech problems that people run into.
25:15 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're physically mailed to some back office site and then manually entered into a system by typing.
25:31 The contract for scanning was worth millions of dollars.
25:35 And the contract for the back end was also worth millions.
25:37 And people's jobs depend on this whole useless exercise.
25:41 But the reason it was super hard to reform because like why would that company that has this whole business of people like entering stuff want to just make it an API that's like, you know, one one thousandth of revenue or whatever.
25:52 Right.
25:52 That sounds like a lot of those problems.
25:54 That's kind of what I was thinking of when like you could disrupt those things if you were not part of that system.
25:59 Right.
26:00 You can also disrupt it internally.
26:01 Right.
26:02 So then we can come in and say like, yeah, maybe you shouldn't do that.
26:05 Why are you doing this?
26:07 And like, here's a better way of doing that.
26:08 And one of the things that we become super successful at is sometimes we just build prototypes and just show the agency and say like, look, here's a better way of doing it.
26:15 Here's this prototype with an API.
26:17 Then it can make the lives a lot easier.
26:20 Yeah, you know, an example that's really recent and was just in the news.
26:23 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 an online system.
26:37 So it's super easy for most people to file their taxes online.
26:42 Just fill out, you know, like a few forms and you're good.
26:45 If you don't have like really complicated consulting or whatever.
26:48 And there was a huge pushback.
26:50 Even in Congress, there was a pushback for like, well, we don't want that.
26:54 We don't want people to have this for free.
26:56 There's businesses that are built on this.
26:58 Right.
26:58 What is Intuit going to do?
27:00 Right.
27:00 Things like this.
27:01 That was crazy.
27:02 That's one of the things that we hope to make an impact on from the inside.
27:05 Yeah, that's cool.
27:05 I definitely I do think that that one out that they said, no, actually, this is bad.
27:10 But yeah, I mean, there's really sketchy stuff like some of the companies that were supposed to be filling that gap and providing the free stuff.
27:16 They were putting like a robots TXT to say, don't index the free stuff.
27:20 So you can't Google for it.
27:21 And it was really weird.
27:23 So I'm really glad to see that that's making progress.
27:25 But let's talk about some of the projects that you guys are working on.
27:28 So it sounds like the genesis of this whole thing was let's come in and fix healthcare.gov.
27:34 Like that was sort of the origin, huh?
27:35 Yeah, 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.
27:43 And then that turned out to be successful.
27:45 And then it was just like, hey, let's see if we can replicate this across different agencies.
27:48 There's a lot of stuff that's like that.
27:50 Let's just start going from one to one and start fixing them.
27:52 That's super.
27:53 Another one was VA.gov, which is the Veterans Association, right?
27:58 For veterans of the military service, right?
28:01 That involved a lot of Python fixing up, right?
28:04 Tell us about that one.
28:05 Tech stack for that is Ruby on Rails.
28:07 But a lot of like the DevOps scripts involve Python.
28:09 Okay.
28:10 Yeah, not so much Python.
28:11 One of the things that we found when we go to these different agencies is they already have a team established.
28:15 And we like to try to use the tools that they're familiar with.
28:18 So like in my personal capacity, I love Python.
28:21 You know, in a different agency, they may be a Ruby on Rails shop or a Java shop or even in some cases a Cobalt shop.
28:27 And it just makes sense to try and work with what they currently are using.
28:31 So that way, we don't have to rebuild everything from scratch.
28:33 And on top of that, train all the engineers on this new thing.
28:38 This portion of Talk Python to Me is brought to you by Rollbar.
28:41 Got a question for you.
28:42 Have you been outsourcing your bug discovery to your users?
28:45 Have you been making them send you bug reports?
28:48 You know, there's two problems with that.
28:49 You can't discover all the bugs this way.
28:51 And some users don't bother reporting bugs at all.
28:54 They just leave, sometimes forever.
28:56 The best software teams practice proactive error monitoring.
29:00 They detect all the errors in their production apps and services in real time and debug important errors in minutes or hours,
29:06 sometimes before users even notice.
29:08 Teams from companies like Twilio, Instacart, and CircleCI use Rollbar to do this.
29:13 With Rollbar, you get a real-time feed of all the errors so you know exactly what's broken in production.
29:19 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.
29:26 If you aren't using Rollbar yet, they have a special offer for you, and it's really awesome.
29:31 Sign up and install Rollbar at talkpython.fm/Rollbar, and Rollbar will send you a $100 gift card to use at the Open Collective,
29:39 where you can donate to any of the 900-plus projects listed under the Open Source Collective or to the Women Who Code organization.
29:47 Get notified of errors in real time and make a difference in Open Source.
29:50 Visit talkpython.fm/Rollbar today.
29:56 That makes a lot of sense because you don't want to just go in there and say, well, we're throwing out all your code.
30:00 Here's a bunch of Python.
30:01 And yeah, I know you know Java, but too bad, Python.
30:04 And then leave, right?
30:06 And say, now go be productive, right?
30:07 So it's not really exactly what the mission is, yeah?
30:10 Yeah.
30:11 So we just try and work with our stakeholders and our partners on what's the best solution for not just them, but also for the American people.
30:16 Yeah.
30:17 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.
30:25 Is that right?
30:25 One of the things is developers.va.gov, where there was a lot of work that we helped with.
30:29 They're just setting up APIs and making sure that the people on the ground can deploy these APIs in an efficient way.
30:36 And one of them is the wait time one.
30:37 So you can actually build an app right now.
30:40 You get an API key to help veterans figure out the wait times.
30:43 I think it even goes even down into details of wait times for what specific doctor you're looking forward to.
30:50 And you can pick the best API around you.
30:52 Yeah, cool.
30:53 So yeah, there's even a developer.va.gov.
30:55 And that's pretty cool, the whole API platform and stuff.
30:58 Nice.
30:58 Another one was Medicare and Medicaid.
31:00 Oh, so you're talking about the blue button API.
31:02 Yeah, that's pretty cool.
31:04 One of the things we found out is that folks don't go to government sites for everything, right?
31:09 And doctors want to use their software that they use normally for the rest of the patient.
31:13 So what we did was build this API that allows, in just a secure way, people can verify their identity in just a secure way,
31:20 and give those healthcare records to the doctors and the systems that works best for them.
31:26 And that's a huge thing because Medicare and Medicaid has 57 million beneficiaries within it.
31:31 So now these beneficiaries can be able to transfer their health records to the doctors using this API, which is really, really cool.
31:37 Yeah, that's a huge part of the economy, but also people's lives, right?
31:43 On the website, it says there was 8 million lines of Cobalt.
31:47 And this part blows my mind, 2.5 million lines of assembly code.
31:52 Like, that's crazy.
31:54 These are some systems that haven't been updated in 60, 70 years.
31:58 So we kind of come in.
32:00 And it's interesting because, particularly for this project, we had an engineer buy a Cobalt book, right?
32:05 And learn Cobalt and try to learn Cobalt so we can help out with this project.
32:11 And now, like, I was talking to them before they left the tour.
32:14 They were like, yeah, you know, I know you didn't expect to come in to do Cobalt, but you left now knowing Cobalt.
32:19 You can put it on your resume.
32:19 How many places can you go to where you could do that?
32:22 You can get Cobalt experience.
32:25 Yeah, that's pretty wild.
32:26 Like, I doubt anybody, not anybody, I doubt many people want to work in Cobalt, especially from, you know, scratch these days.
32:34 But there's got to be a huge opportunity to know Cobalt and modern stuff and be part of that transition.
32:41 Huge opportunity.
32:41 Like, for me, for example, I didn't even know they still wrote books about Cobalt, right?
32:45 I was just like, where do you find one at?
32:47 Like, do you go to your local libraries and on Amazon?
32:50 But you're huge if you could just come in and even just, you know, pick up Cobalt just to help modernize something.
32:56 So one thing I find that that's really cool that we're doing at CMS and HHS is right now there's a Medicare payment processing system.
33:04 That's all written in Cobalt for the most part.
33:06 And they went and modernized and they tried modernizing it for multiple times.
33:09 So we did the beginning there and we said, how about we just take a piece of it?
33:12 Just a small piece of what this mainframe Cobalt app does.
33:15 And let's put that on the cloud and let's see how that works.
33:17 And we've been really, really successful in that.
33:19 And now helping human services can see that, okay, you can just take a piece.
33:22 You can kind of do a piecemeal.
33:23 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 Cobalt and have all of that entirely into the cloud.
33:31 I mean, that's why we still have Cobalt in these mainframes running 2.5 million lines of assembly is because people just say we have to flip the switch.
33:39 And what happens when you flip the switch?
33:40 And does, you know, they've been built up and layered on top of, you know, change after change for 50 years.
33:48 Like how hard is that to recreate from scratch?
33:50 It's got to be tough.
33:52 Yeah, super tough.
33:53 And it's a huge program, right?
33:56 And a lot of people depend on this.
33:57 And we're worried that a couple of things, right?
34:00 That there won't be enough Cobalt developers to help maintain this because healthcare laws change every single year.
34:04 And 10,000 people enroll in this every single day.
34:07 So it can't go down.
34:08 It's in Medicare.
34:09 Medicaid is about 4% of the GDP.
34:11 So even if it goes down for an hour, you're talking hundreds of millions of dollars and payments that's not going on to doctorate.
34:17 Right.
34:18 And people who have to have like emergency surgery and all sorts of stuff, right?
34:21 Or even worse, maybe like some kind of, you know, they didn't get that test that would have let them know they had cancer.
34:27 So they could have gotten early treatment or some bad knock on effect, right?
34:30 That's like the things that sort of keep me up every day.
34:34 Making sure that like systems like that don't go down, right?
34:37 Because if they go down, that really does have like effect on a ton of people's lives.
34:42 And in some cases, it's literally life in depth, right?
34:46 Yeah.
34:46 That keeps me up at night.
34:47 Make sure to do that.
34:48 And I'm glad like the team that we have over there is just kind of saying like, hey, let's not do it this waterfall way that we keep trying.
34:54 That's not working, right?
34:55 Like let's try it this agile way.
34:57 Let's do it piece by piece and eventually we'll get it to the cloud and then we can scale this out.
35:01 So, you know, as you know, like in most places, like they have open enrollments, right?
35:05 So that's when you need the most servers.
35:06 So then we can scale that up when we need the most servers and scale it 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 Yeah, absolutely.
35:17 Well, and also just hire people, interesting, talented people, right?
35:23 Because if you're looking around for jobs, you're like, oh, there's this cool robotic company in Pittsburgh I could work for.
35:30 They're doing JavaScript.
35:31 I'd rather do Python.
35:32 Oh, there's this Medicare place that does Cobalt and assembly.
35:35 Should I go work for that?
35:35 No.
35:36 Right?
35:36 Like that's just, it's got to be a lot of the thinking, right?
35:39 But if all of a sudden it's like, hey, help us move to the cloud, do a bunch of microservices.
35:42 It'll be fun, right?
35:43 Like all of a sudden that's a different set of people you could reach.
35:46 Yeah, agreed.
35:47 Yeah, for sure.
35:48 So another understatement, right?
35:50 So other project that looked cool was the college scorecard.
35:54 Tell us about that.
35:55 This was a project that we did at Department of Education.
35:57 This is part of the mandate of how do we get students out of debt in the fall?
36:01 And one of the things that we found is several things, right?
36:04 That a lot of people don't even apply for Fast Food for financial aid because they just assume they won't get it.
36:10 So we built this to like say, like, hey, no, actually on average, based upon a range of your family's income,
36:16 for this particular school, you can get financial aid.
36:19 And another thing that we realized was that some people go into them in the fall because they don't realize how much the college or the program would cost.
36:25 So one of the things that we worked with the college scorecard was making sure that not only do we tell you how much on average a four-year degree or two-year degree at that school would cost,
36:33 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 on average make after that school.
36:44 And I think that goes a long way to helping you pick the right college for you that can keep you out of debt.
36:49 Because some people are in hundreds of thousands of dollars worth of student loan debt and they would have just known that before they picked the school or the program and how much money they would make after that.
36:57 They probably would make a, I'm going to say a different decision, but at least they would have a more informed decision into their process.
37:03 But one of the cool things that we learned on that project was people usually don't go to government websites for things like I was saying before.
37:09 And so we said, how about we take that data and make it open, right?
37:13 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 the students.
37:21 So when the students are searching for the perfect college, they can go to the sites that they used to go into to find that information.
37:27 And what's cool about that is Google saw that and now incorporates college scorecard data into the search results on the side or 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 rates for the school and all that's using college scorecard data.
37:49 That's super cool.
37:50 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.
37:58 It 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.
38:13 Or if you went to your state school, yeah, you only make $65,000, but your debt will be $5,000, something like that, right?
38:19 That might be really worth considering, right?
38:23 If it was really clearly laid out, I feel a lot of people just, they chase their dreams and pursue their passions, and of course, you go to the better school.
38:30 Well, is it defined better, right?
38:33 Yeah.
38:34 Academically, maybe, but is $250,000 a debt?
38:37 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, a person next to me, I 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, needed to let some steam off.
38:56 But she's like, yeah, I'm studying, I'm going to become a music teacher.
38:59 I'm at this, like, one of the elite music schools in Seattle, and it's just home for the summer, it's really great.
39:05 I almost got my degree, I'm almost going to be a music teacher next year, it's going to be so fun.
39:09 Only downside is I have $250,000 in student debt, and I thought, like, how does it make any sense if you want to be a music teacher at, like, a middle school or high school to have that much debt, right?
39:20 But, you know, I just, I think some data would be great.
39:22 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 a debt in default, which was,
39:29 let's try preventing people from getting into default to begin with.
39:32 But then we also said, okay, how do we help the people that's currently in debt in default?
39:36 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,
39:43 it's just find out your repayment options.
39:44 And from that, you just, you can answer some simple questions, right?
39:47 Like, do you have a federal background?
39:49 And are you in default?
39:51 And things like that.
39:53 And then depending on how you answer these questions, we can actually have multiple different programs that you qualify for.
39:57 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.
40:05 Instead of this standard 10-year plan that you're normally put into six months after your grace period of your graduating college.
40:12 So basically, six months after, if you don't have, like, the perfect job for you, then you may, if someone has $250,000 in student loan debt,
40:18 they may end up having to pay, you know, $2,500 a month.
40:21 And that's not easy for everybody.
40:23 So now you can just pay it based upon your income.
40:26 One of the greatest parts about that particular project was that, so like most people have student loan debt,
40:33 my sister had student loan debt.
40:36 And I was just talking to her at a bar, like, after I moved down to DC, and we worked on this project.
40:40 We launched it.
40:40 The president, the former president of Obama announced it, which was really cool.
40:43 I was just talking to her about it.
40:45 And she said, yeah, she's trying to figure out, like, how to get out of debt, student loan debt.
40:49 So I said, hey, have you heard of student loans.gov slash repay?
40:52 Like, this project that I worked on.
40:54 And then we went through it, and I found that she was in default of her student loans.
41:00 And she qualified for a thing called loan rehabilitation, which is you make nine payments.
41:04 You make them once a month, you know, for nine months.
41:06 And it could be as little as $5 a month.
41:09 And what was really cool about that was, so she did that.
41:12 And then she was able to fix her credit because once you get out of that program,
41:17 the department of education will go back in your credit and say, you was out of default,
41:20 and you was never in default, and you paid this entire time.
41:22 Oh, nice.
41:23 That's awesome.
41:24 Yeah.
41:25 And for some people, like, if your student loan started three years ago, and it goes back three years,
41:29 like, the credit goes up, right?
41:31 And for my sister, her credit went up.
41:32 And after that, she was able to buy a car because the credit was able to go up.
41:36 She couldn't get a loan for a car and then was able to find a better job because she could travel further.
41:41 And I had to take, like, you know, and New York City, our transportation is pretty cool where I'm originally from.
41:45 But, you know, it could take a while.
41:47 So she had a car, and now she was able to travel further.
41:49 And she also put my niece in, like, basketball programs that she wouldn't have probably put her in otherwise if she didn't have a car.
41:54 And all this because of this.
41:56 So it was, like, really interesting to me that I was able to see, like, the effect of a project that we did just up front and personal and up close.
42:02 That's cool.
42:03 And that's part of that, helping people in effect you talked about, right?
42:05 Yeah.
42:05 It's wild how personal it was, though, right?
42:07 That is your sister.
42:08 Yeah, it is.
42:09 That showed me instantly, like, the just amount of impact I can have.
42:12 So we do a lot of user research here, and we talk to people before and after.
42:15 We learn something.
42:16 But just, like, seeing my sister and just seeing, like, the actual effects of it because, like, it took a while, right?
42:22 She had to do the nine payments over nine months and things like that.
42:26 But then able to see that long-term, you know, progress and success is just, like, really amazing.
42:31 That's a super cool story.
42:33 So in all these projects and just the philosophy at the USDS in general, what's the story with open source?
42:39 Like, is it something you strongly push?
42:41 Is it just something you use when it makes sense?
42:43 Or how do you guys think about open source there?
42:46 We try to open source as much as possible.
42:47 So, like, VA, if you go to the GitHub, they open source as much as possible.
42:51 Our current website is open source.
42:53 We try to open source as much as possible.
42:55 One of the hard parts is, like, sometimes you go in and you find out that the problem isn't just the front end of the website.
43:01 The problem is the back end, right?
43:02 That's what takes a while.
43:03 It takes adjudicating.
43:04 So we built those back end systems to help people get through these processes a lot faster.
43:08 And that's sometimes hard to open source because it connects to, like, private databases and things like that.
43:13 Sure.
43:13 And it's just so tied up with all the specific details.
43:17 Like, it's not reusable, right?
43:18 Overall, the government policy for all agencies is to open source at least 20% of their code.
43:23 Oh, interesting.
43:24 That's cool.
43:24 Yeah.
43:24 Do you guys maintain any PyPI packages?
43:27 Can I pip install something from USDS?
43:29 Not yet, but we're working on it.
43:30 Maybe that's something we'll double down on.
43:34 But you could go to, like, code.gov, which is just a repository of all the open source code that the government has.
43:39 Or code.mil, which is a repository of all the open sources the military has.
43:43 So there's some potential projects.
43:45 Yeah, yeah.
43:46 That's cool.
43:47 Well, and maybe, like, something someone could do if they came for, you know, three months would be to take those things and make them a little more standalone.
43:54 Like, get their own, read the docs, right?
43:56 Like, make it sort of more developer discoverable or something.
44:00 I don't know.
44:00 Like, that sounds like a cool project, actually.
44:02 Yeah, if your listeners are listening or if you want to come out with that, like, you're more than happy.
44:07 Yeah, yeah.
44:09 That'd be solid.
44:09 But we do have an open source US forum system that has been forked by the Austin Digital Government Digital Service out there.
44:17 And basically what this project is, one thing we realize is government has tons and tons of forums.
44:20 So I only make it easier to just build web forums for folks.
44:24 And they've been using it.
44:25 And it's pretty cool.
44:26 And we use it internally here, too.
44:27 Oh, that's awesome.
44:28 So one final project, and I want to talk about some of your personal projects in Python because they're very interesting.
44:34 They tie back to USDS.
44:36 So 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.
44:44 So we all saw war games.
44:47 And that was, was that the Pentagon?
44:50 I think it was, right?
44:50 They were, Matthew Broderick hacked with like a 300-baud modem, got in a bunch of trouble, almost started a nuclear war, right?
44:56 Typically hacking the Pentagon is referred to as a bad thing.
45:00 You shouldn't do it.
45:01 But somehow you guys like sponsored this thing or encouraged people to hack the Pentagon.
45:05 What's up with that?
45:06 That was extreme.
45:07 You know, it's especially because of the name, you know, when you go to the Secretary of Defense and say, hey, we want to start a program called Hack the Pentagon.
45:13 You can like see, like you can imagine the eyes wide and just like hack the Pentagon.
45:17 Like, no.
45:17 You know, how do we work to make that not happen?
45:21 And they said like not to do it.
45:23 So, so we did it, right?
45:24 They said, like, we can't have this.
45:25 So he was just like, we're going to do it.
45:27 Because part of the bad thing is like, you know, we empower and hire great people.
45:30 And we can come in and talk to the Secretary of Defense about it.
45:33 So after we just explained to them that bug problems is not new, right?
45:37 Nextgate did it in 1995.
45:39 And a whole ton of companies do it.
45:41 And this actually would help make you more secure because now people aren't selling these hacks on the black market, right?
45:47 They can actually report them to you and you can fix them.
45:50 And what's really amazing about that is we had an 18-year-old kid win and go to DEF CON and all that.
45:58 But when, by hacking the Army, I believe this program was.
46:02 And that was pretty cool that we can have like this range of people who can actually go in and say,
46:07 hey, I'm going to use my, you know, security skills, my security engineering skills to hack the Pentagon.
46:12 And it's going to be okay as long as I report it.
46:14 And that program has been super successful.
46:16 So we started with Hack the Pentagon.
46:17 Now we have Hack the Army, Hack the Air Force.
46:20 Hack the Marines.
46:21 And, you know, we're doing it like every year.
46:24 So it's pretty cool to see that at first it was like hesitant to say, you know, let's do a program called Hack the Pentagon.
46:31 But then they saw how extremely useful it was and is now expanding into the rest of the military branches.
46:37 Yeah, that's cool.
46:38 Yeah, that's cool.
46:38 The stats you guys hear, like 15 bug bounties are held, over 600 hackers participated and over 7,000 vulnerabilities discovered and presumably closed.
46:49 Yeah, definitely closed.
46:52 That's cool.
46:53 But yeah, that's one of the fun ones.
46:55 Yeah, that's really cool.
46:56 So a lot of neat projects there.
46:58 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.
47:11 And it's not just that people resist it, but there's rules about like retaining all the records as just record keeping in case anybody wants to know what the government's up to and things like that, right?
47:22 I take a ton of things I got in the private industry, especially startups for granted.
47:25 As soon as I came into government, I was like, yeah, you guys just don't have G Suite?
47:28 And it was like, no.
47:29 I miss my Gmail.
47:31 So one of the things we worked hard on for four years to get this was Slack.
47:36 Because in private industry, it's just really easy.
47:38 And Slack makes things very, very easy to communicate with everybody.
47:42 But one of the problems that they was having with us having Slack was, well, how do you handle records?
47:46 And the reason why that's important is because the Presidential Records Act and the Federal Records Act almost basically states that,
47:52 you know, all records have to be kept and maintained and also foriable and discoverable.
47:56 So one of the things that we said was, OK, well, how about we just create all of the Slack channels and put them into a .eml file?
48:05 And then from that .eml, we'll import that into Exchange.
48:09 So that way it's all discoverable and searchable and people can read it.
48:13 And this is a human-friendly way, right?
48:15 All the Slack records.
48:16 And all of that is built on Python.
48:20 And we're hoping to open source that soon so that way more government agencies can use Slack.
48:26 Because one thing I find that is super useful and how, like, our communications changed once we got Slack was,
48:31 instead of having three or four going back and forth emails and then, like, two one-hour-long meetings,
48:37 like, this thing could get solved in 30 seconds in a Slack channel.
48:40 Right, right, right.
48:41 We're able to make decisions a lot quicker because we have Slack.
48:45 And one of, like, my small side projects is, like, how do we expand this to the rest of government?
48:50 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,
49:00 but also how do you handle some of these difficult things like records management.
49:04 Yeah, that's really cool.
49:05 You know, that probably would be valuable for even outside the government, right, certain large companies or something like that,
49:11 who are afraid of the transient nature of Slack and things like this.
49:14 Slack has something really cool on Enterprise Grid where you can encrypt all your conversations so only you have access to it.
49:22 And that was something really important to the government, too.
49:24 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:30 Yeah, that makes a lot of sense.
49:32 Cool.
49:33 So, yeah, I suspect one of the challenges with this is, like, even just telling other government agencies this is a thing that now works, right?
49:41 Like, just communicating within the giant thing that is the government.
49:46 It can't be that easy.
49:47 It is not.
49:48 But because we have teams at a lot of different agencies and we have, you know, partners and stakeholders at a lot of different agencies,
49:54 we're hoping that once we can provide this guidance that we can just share it with that broader community.
49:59 For sure.
49:59 You could also go on a podcast and tell people about it that way.
50:01 I could.
50:02 I could definitely do that.
50:03 Right on.
50:05 So another thing, this is a really interesting personal story for you, but it's something I think that will be quite valuable to a lot of folks.
50:13 Is this project that you did for, is it your son or daughter?
50:16 Oh, my son.
50:17 Yeah, it's called School Diversity Report.
50:20 When you started the USDS, you had to move from New York City to D.C.
50:24 And with kids, that's always, like, it's like half the hassle of moving is figure out where the kids go to school, who's going to take care of them, what do they do?
50:31 Like, there's just so much stuff, right?
50:32 Yeah.
50:32 And one of the things, so my son was two, I believe, when we moved down there, two, turning three.
50:37 And so we had to start preparing that, like, okay, we're here at long term, where does he go to school?
50:43 And I was at 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, like, okay, break down a lot of your student enrollment by gender or race and ethnicity and, like, a whole bunch of other different things.
51:01 And schools answer back, so it's a thing that happens every two years, and it's going to release this data and they ask us for our opinion.
51:06 They wanted an API for this.
51:08 And we said, well, if it's only once every two years, you don't need to pay a vendor millions of dollars to do an API.
51:13 Just release it as a CSV, because most people are going to use Python to view the CSV or, like, R or Arling or something.
51:19 Right.
51:20 We have pandas.
51:21 That's all we need.
51:22 To go through it, so just release it as a CSV.
51:25 And that's what they did, and they gave us a heads up, and I was like, oh, awesome, that, like, hey, because I worked at USCIS, I was able to even know about this data set that was coming down the pipeline.
51:33 And then it made me think, like, hey, I can actually use this to find the school for my son since my wife and I was looking for a while.
51:39 And then from that, my wife and I came up with just, like, a list of things that was really important to us.
51:44 And one of the things that was important to us, looking at the data sets and the data elements that they had, was making sure that my son had opportunities, equal opportunities as everybody else in that school for things like get their programs.
51:54 Making sure that it was a diverse school, that it was a broad mix of diversity in the school, and making sure that, like, suspicion rates for, you know, black and brown people wasn't overly high compared to the actual population that was in the school.
52:11 And we wanted to compare that against all the different ethnicities that the CRDC had, and just making sure that not only for get-the-programs, for example, that it wasn't just black and brown kids have more of a chance of getting into these get-the-programs.
52:25 We went in a school that was super diverse, and, like, and everybody had an equal chance to get into these get-the-programs.
52:30 Because one thing we didn't want was, you know, in the case that if my son did get accepted to a get-the-program, that, like, his other friends wouldn't, because, like, the statistics showed that they probably won't be allowed.
52:39 And we found this perfect school that was pretty much equal all around and super great for my son.
52:45 And that was how we came up with School Diversity Report.
52:47 And what's really cool about that was, so I presented that at staff, because I did it over, like, a couple of days as, like, a 20% project here at USDS.
52:54 Presented that at staff, showcased everybody, everybody loved it.
52:57 And then from there, I actually ended up meeting the former Deputy Secretary of Education, James Cole, to just kind of present him with data and say, like, this is why data is important.
53:05 And people like me can actually use this data to make cool tools that other people can use and can help make good decisions.
53:12 And one of the proudest things that, you know, why I felt like this was super successful was, so a couple of weeks ago, my son gets a letter from school saying he's been put into the advanced reading program at his school.
53:25 And I'm just really super excited about that.
53:27 And my wife works really, really hard, making sure he can read and all of that.
53:30 And when he's six years old, he reads all my text messages, which is, like, a consequence of, like, making sure he can read everything.
53:36 And he's just like, Daddy, like, what about this?
53:39 I'm like, stop reading my text messages.
53:41 Daddy, I know what your login password is.
53:44 Yeah, he does.
53:45 He does.
53:46 And he'll, like, wake me up.
53:48 He says, I know your password.
53:49 I'm like, wait, what?
53:50 It was really cool that he was getting able to accept this.
53:53 So one of the things I did when I originally built it, I built it in Node.js back in 2016.
53:57 It was Node.js Postgres and all these things on my local computer because hosting something on EC2 and RDS can get a little expensive sometimes for, like, a side project.
54:05 So this year I kind of went to see since he got into that advanced reading program.
54:09 Like, all right, now that this data has been updated, what are the stats now?
54:12 And still pretty equal.
54:14 I'm in this school, which is really, really good.
54:16 But then I end up saying, like, okay, well, how can I release this to the public, right?
54:20 And one of the ways I did that was saying, like, okay, well, how I'm doing this is pretty much a key value search, right?
54:25 This doesn't mean to have servers at all in it.
54:27 So I just use Python to kind of take the CSV and go mind by line and export the CSV to JSON files by zip code and school ID numbers.
54:37 So that way now it's all completely serverless, right?
54:39 Like, now it's on S3 and CloudFront, and I don't have to actually worry.
54:43 And for all your listeners, if you want to go to the site of school, diversityreport.com, and it should be able to scale, maybe we'll test out Amazon.
54:50 That's good.
54:50 But yeah, I'm really happy about that project and how, for me, I was able to even have that conversation with the dev secretary and say, like, this is why you should have open data with an agency because it's really important for us to have all that information as well.
55:07 Yeah, it's a super cool project.
55:08 It's also beautiful, which I thought was really nice looking at.
55:12 Like, this is a really slick little website.
55:15 There's interesting insights in there.
55:18 And like you said, it's fast.
55:19 And yeah, I'll link to it in the show notes.
55:21 So if people want to check out their local schools or where they may be moving, then they can definitely use this.
55:25 That's great.
55:26 Yeah, really excited for that project.
55:28 And thank you.
55:29 I appreciate that you said it.
55:30 Nice looking.
55:31 Because I try to make everything as user-friendly as possible.
55:34 And I think that comes from my experience at USCIS is, like, making sure it's actually usable by people and not just, like, an engineer like me.
55:42 Yeah, exactly.
55:43 Not just Battleship Gray with, like, no CSS or whatever, right?
55:47 It's really good.
55:47 Cool.
55:48 So, yeah, people will check it out.
55:49 You know, I feel like we're in this special place as having programming skills.
55:54 It's almost like we're the modern-day magicians, right?
55:57 Like, you're a guy who wanted to help his son get a better school, right?
56:02 And then all of a sudden, like, well, this thing you built is like, well, I'm meeting the Deputy Secretary of Education in the U.S.
56:07 because I conjured up this magic thing out of, like, what was already there, but nobody was using it, right?
56:13 It's pretty cool.
56:13 I think for them, too, because sometimes they release this data and they have no idea what people are doing with it.
56:18 So just being able to showcase that, like, look, here's what people are doing with it was really cool.
56:22 Absolutely.
56:23 So definitely people should check that out at schooldiversityreport.com.
56:26 All right, David, we're pretty much running out of our time here.
56:29 So I want to ask you two quick questions before we get out of here.
56:32 First, if you're going to write some Python code, what editor do you use?
56:36 If I'm going to write some Python code, Sublime.
56:38 I know people are switching to some other things like Atom and VS Code, but Sublime is just quick and easy, and I just love it.
56:46 I love the fact that it opens up really quick, and I can open up large, like, CSV files.
56:49 Yeah, it's cool.
56:50 It's definitely, I feel like, one of the originals of that genre.
56:54 I don't know what to call that style of editor.
56:56 It's not like a terminal-based one like Vim or Emacs, and it's definitely not an IDE.
57:00 But there's other ones like it.
57:02 Like you said, like Sublime, Atom, VS Code.
57:06 They're all kind of that gooey, lightweight gooey editors.
57:09 That's pretty cool.
57:10 Yep.
57:10 You come across, I'm sure, a ton of Python packages.
57:13 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 Me outside of, like, Flask?
57:22 You can do Flask if you want, but if there's something else that you think maybe, like, kind of delighted you or that people don't know about.
57:29 I like some of the standard ones, like requests and important CSP.
57:32 Pain is pretty cool.
57:34 I think Flask is interesting because I feel like Flask is really becoming more popular.
57:39 Like, it just tied Django as the most popular web framework.
57:42 But I think it's more interesting beyond that because all these other frameworks that are trying to be, like, the fresh new web thing.
57:50 I'm thinking Molten, Sanic, Black Sheep.
57:54 Like, there's stuff that I haven't even, you know, just probably came out this week I haven't even heard of, right?
57:58 They almost all seem to adopt some flavor of Flask's API.
58:03 So I feel like Flask is having a big impact.
58:05 Bigger than its credit, like its download credit or whatever.
58:08 Yeah, one thing I love about Python is there's a framework or a library for everyone and everything.
58:13 That's, like, the most amazing thing about Python.
58:15 It really is true.
58:17 All right.
58:19 There's that import anti-gravity XKCD cartoon, right?
58:22 And something for everyone and everybody and everything.
58:26 Virtual environment is pretty cool to me.
58:28 Yeah.
58:28 There's a few.
58:29 Yeah, cool.
58:29 All right.
58:30 Well, you know, this is super interesting.
58:33 Like I said, I didn't know very much about USDS before, but I think it is a great idea.
58:38 And I have definitely heard of the effects you all have been having.
58:42 Like, I've heard of Hack the Pentagon.
58:43 I heard of the team that came in and fixed healthcare.gov.
58:47 And so I just didn't realize, like, that was all you guys.
58:50 That's cool.
58:50 So maybe give folks a final call to action.
58:53 Maybe they're interested.
58:54 They want to learn more.
58:55 Maybe they want to come do a short tour of duty.
58:58 And where do they start?
58:59 Yeah.
58:59 If you're super interested, please go to USDS.gov slash supply.
59:02 It's not like the other government forms where you have to go to USA jobs.
59:06 It's the same type of application you would do in the private industry.
59:08 You upload your resume.
59:09 We have engineers or product people who, depending on what community practice you pick, but if
59:14 you're an engineer, we have engineers who actually do the resume reviews and the interviews.
59:19 And yeah, just go to USDS.gov slash supply.
59:22 But this all sounds really interesting.
59:23 And you want to help the government in just a different capacity and just have tons of impact.
59:28 Yeah.
59:28 Awesome.
59:28 Do you have to be a US citizen or permanent resident?
59:31 You do have to be a US citizen.
59:32 Okay.
59:33 Mainly because of the background check.
59:34 Sounds good.
59:35 All right.
59:35 Well, David, thank you for being on the show.
59:36 And thank you for all the good work you're doing for everyone.
59:39 This is pretty cool.
59:40 Thank you for having me.
59:41 And if all this is super interesting, we can have one of the engineers come on the show
59:45 and talk about some of more in-depth into some of the projects they're working on.
59:48 Yeah.
59:48 Sounds like fun.
59:49 All right.
59:49 Talk to you later.
59:50 Talk to you later.
59:50 This has been another episode of Talk Python to Me.
59:54 Our guest on this episode was David Holmes.
59:57 And it's been brought to you by the Local Maximum Podcast and Rollbar.
01:00:00 Examine emerging technology, software, and social trends through the perspective of machine
01:00:06 learning engineer, Max Sklar with the Local Maximum Podcast.
01:00:09 Listen to an episode at talkpython.fm/max or anywhere you listen to podcasts.
01:00:14 Rollbar takes the pain out of errors.
01:00:17 They give you the context and insight you need to quickly locate and fix errors that might have
01:00:22 gone unnoticed until users complain.
01:00:24 Of course.
01:00:25 Track a ridiculous number of errors for free as Talk Python to Me listeners at talkpython.fm
01:00:30 slash rollbar.
01:00:31 Want to level up your Python?
01:00:33 If you're just getting started, try my Python Jumpstart by Building 10 Apps course.
01:00:38 Or if you're looking for something more advanced, check out our new async course that digs into
01:00:43 all the different types of async programming you can do in Python.
01:00:46 And of course, if you're interested in more than one of these, be sure to check out our
01:00:50 Everything Bundle.
01:00:51 It's like a subscription that never expires.
01:00:53 Be sure to subscribe to the show.
01:00:55 Open your favorite podcatcher and search for Python.
01:00:57 We should be right at the top.
01:00:59 You can also find the iTunes feed at /itunes, the Google Play feed at /play, and the
01:01:04 direct RSS feed at /rss on talkpython.fm.
01:01:08 This is your host, Michael Kennedy.
01:01:10 Thanks so much for listening.
01:01:11 I really appreciate it.
01:01:12 Now get out there and write some Python code.
01:01:14 I'll see you next time.
01:01:34 Thank you.