Topics

Featured in Development

Understandability is the concept that a system should be presented so that an engineer can easily comprehend it. The more understandable a system is, the easier it will be for engineers to change it in a predictable and safe manner. A system is understandable if it meets the following criteria: complete, concise, clear, and organized.

Featured in Architecture & Design

Sonali Sharma and Shriya Arora describe how Netflix solved a complex join of two high-volume event streams using Flink. They also talk about managing out of order events and processing late arriving data, exploring keyed state for maintaining large state, fault tolerance of a stateful application, strategies for failure recovery, data validation batch vs streaming, and more.

Featured in Culture & Methods

Tim Cochran presents research gathered from ThoughtWorks' varied clients and projects, and shows some of the metrics their teams have identified as guides to creating the platform and the culture for high performing teams.

Better Living through Software at the Human Utility

Summary

Tiffani Ashley Bell tells stories and shares learnings from five years of running an organization using software and crowdfunding to protect the basic human right to water. She questions what responsibilities technologists have to society and what role technology plays in creating an equitable society. She shares how the audience can use technology to improve their communities & change the world.

Bio

Tiffani Ashley Bell is Founder and Executive Director of The Human Utility, a platform bringing people together from around the world to help people in Detroit and Baltimore with their water bills. She is a developer working primarily with Ruby on Rails and iOS.

About the conference

Software is changing the world. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

Transcripts

Bell: I want to start off with just an exercise. I want you all to close your eyes for a second, and flash back to when you were around five or six years old. I want you to think about the things that made you happy as a just-out-of-being-a-toddler person. What was your favorite color? What was your favorite food? What was your favorite teacher's name? What was the thing that you liked doing at recess? I just want you to think about that for a second, and just hold those thoughts in your head, and just think about that for a second.

Now, I want you to also imagine a white van pulling up while you're at your grandma's house, or whoever it is that was keeping you when you were six. I want you to think about how you were just busy doing homework because your grandma told you that you could watch cartoons if you finished your homework and you finished your after-school snack. You notice this van pulling up, but you're not really paying it any mind. But then, the doorbell actually rings and you realize it's the person from the van at the door. Your grandma, who had been cleaning up, goes to the door, and there's some commotion.

The next thing you know, your grandma is in tears and she's coming to take your hand and put a few of your things in a bag. Now, she gives you one of your favorite juices from the refrigerator and she tells you to go with the lady with the van. You're six, you don't know who she is, and you're not really interested in going, but you also say, "My grandma told me to go," so you're not going to put up much of a fight. You also notice that your grandma is not going, though.

This lady with the van takes you by the hand and leads you outside, and your grandma, for whatever reason, which you don't know yet, is still in tears and she's in more and more tears. You, being the smart six-year-old, you finally ask, "Where are we going?" The woman with the van looks down at you and says, "I am coming to take you to your new house."

"Coming you to take you to your new house." Your grandma hears that and shrieks out. She's really crying at this point. You're confused because you've never seen her like this. Reluctantly, you go with the woman in the van. She helps you get in, she puts your seatbelt on, and with that, she hustles to the other side of the van and you drive away. You look back one last time, and your grandma is on the porch in tears, with her head in her lap still.

Now, you don't really know what happened, but you're probably wondering. You can open your eyes now at this point. You don't really know what happened, but what I just took you through was what happened to six-year-old Julyah in Detroit because her grandmother, who had custody of her, was too poor to afford to pay the water bill in their house. The water got shot off in that house, and because it got shut off someone decided that her grandmother, despite the fact that Julyah never went to school in dirty clothes, was never hungry, was never neglected in the usual ways that we think of neglect, someone decided that her grandmother was not fit to actually take care of her. They came, and they put her in a van, and they took her to foster care, despite the fact that her grandmother had stepped up and decided to take care of her granddaughter when her parents could not.

Again, this is not some contrived situation. This happens all the time in the United States because we don't make water a human right. We don't make it affordable for people like Julyah's grandmother, Patricia, who was living on a fixed income. She's a retiree from GM, and she's trying to take care of a growing six-year-old girl. Instead, we make it so that if you can't pay your water bills, we just shut you off and we don't help you. You have family separations of this sort that happen, versus the one that our president has something to do with.

It turns out, again, this is also a thing that happens places other than Detroit. We think about New Orleans, Pittsburgh, Tulsa, Oklahoma City, St. Louis, or Jacksonville, Florida, which is a surprising one for me. Those are all places where, when people can't afford their water bills, their water gets shut off in their houses and they are forced to live in some of the worst possible ways you can think of. In 2016, which was the last year that we had data for, this happened to over 1.3 million people in the United States, where they had to live without running water because they couldn't afford their water bills.

Instead of helping them, or doing something to prevent them from being shut off in the first place, cities just show up and they turn the water off. Often, that's the first contact that they have with those families in terms of actually going out to check on them. Sometimes what happens is that these are elderly people who maybe they had dementia. We had one situation where a woman forgot to turn the water off because she was living by herself and ran up a $9,000 water bill. No one checked on her, despite having all this software that tracks usage and things like that. The first time they did show up was to turn her water off. This is what happens in this country.

Now, you're probably wondering why all this is coming up at a tech conference, because if you go outside, there's Docker people talking and there's all these recruiters, and it looks like your average startup outside. I wanted to come here and share with you what I and my cofounder and a few thousand other people on the internet decided to do about water affordability in this country. I also wanted to share with you a few key insights about what I've learned from doing this work for the last five years. You, as a technologist, if you so choose, can use your time and your skills and your talents to make change in someone's life that A, you don't actually have to know and see, but you have to be touched by at least the things that they're going through, or at least want to make some positive change.

Again, for me, this all started in 2014 when I worked at an organization called Code for American, and at that time they put me in the city of Atlanta, Georgia, where I had access to pretty much everybody in city hall, all the mayor's cabinet, the mayor. We got to follow him around, and I got to see basically how the sausage was made in city halls, which was fascinating to me. Some places, some things not, but other things was pretty good to learn about.

I got to see how the sausage was made and how city hall worked, but at the same time, I was reading in the Atlantic about how 100,000 people were about to have to live without running water because they couldn't afford the bill in Detroit. Instead of helping those people, the city of Detroit decided to just turn them off. I'm talking about people where, I've been to their houses, they have no furniture. One woman was so ashamed to let me walk through the house that she almost didn't because if you go into her kids' rooms, they're all sleeping on the floor because they have nothing except the house that they can afford to pay for.

When I saw what was happening with all these people, thinking about my experience in city hall in Atlanta, I was thinking to myself what kinds of decisions had to be made in Detroit for them to say, "We don't care if you're a senior citizen, you're living on a fixed income, and we just raised water rates, so you can't afford your bill. We don't care if you're literally a person who is fighting for your life against cancer, and so you can't work because the chemotherapy is making you a very weak person at this point. We're just going to turn your water off." I thought to myself, where were people at if they decided to do that? I thought it was pretty crazy.

Everything that I was reading talked about how much people were struggling, which again, unbeknownst to me, I had no idea when I first started this, that this was actually even a thing. I come from a place where we can pay water bills. It's not even really a thought that there are people that can't pay it, and you take it for granted as an American that this is something that we solved a long time ago as far as distributing water and electricity. You don't think of it as something that people literally are still denied in 2014, when I first started.

People were collecting water in rain barrels. They were brushing their teeth with bottles of water. They were using the bathroom in holes that they had dug in their backroom in Michigan, where right now it is snowing. This is how people were living. I thought that was pretty crazy, that this is happening in the second decade of the 21st century in this country. In the supposed richest country in the world, this is how we treat people.

Find Problems

This brings me to my first point. Problems are all around us, but it's a matter of taking the time to look and see what's happening. If you actually want to make a difference somewhere, it comes down to taking the time to thinking about what's going on around you. I figure that, since you all are here, you're probably the folks who are likely to do that, where you realize that you, as a person who has some technology skill, the work that we do really impacts how the world works today. Regardless of what you think about Facebook, they influence a lot of different things. With that kind of power, comes a lot of responsibility, and I think that we can use our power as technologists to really roll up our sleeves and make some change.

Some people when they come to me and they hear what I've done, they want to know, "What can I do? What can I be a part of?" It comes down to, what are you doing to find out where you can make change? I asked the questions, "Do you read the newspaper?" I know it's an old thing, but it actually feels nice to read and hold. I still go and read the New York Times and stuff like that. Do you read the local paper? Do you know what's happening around the corner from you? I don't mean next door, because that's a very interesting crowd, but do you go to city council meetings? Do you know who your city council person even is, and do you know what they last did for you that justified your property taxes? Do you vote? If you vote, what is it that people are really moved by and really affected by in your community?

Another thing, do you volunteer your time at organizations that could benefit from your time and talents? One of the things that I found in the non-profit sector that's interesting is that, as far as being a technology person and having a relatively nice website, some organizations I've been to look at me like I discovered fire, when this is a thing that we just do and we take for granted. A lot of non-profits could benefit from just a quick website upgrade. They could benefit from just a quick 30-minute seminar on, "How to use text messaging to engage the people that they help." These are things that they all need, and a lot of non-profits are resource-constrained, and they could benefit from people coming in and saying, "I have this expertise. Here's how I could help you if you're interested."

It's a matter of doing all those things, and also, do you talk to your neighbors? Do you know who they are? Do you spend time thinking about what they're concerned about and what you all could band together to accomplish if you did? I think about my parents' house in North Carolina, and how one of our neighbors' cat was run over, because my parents live on a pretty busy street. People would fly through all the time at all times of day, and this woman's cat was run over, and she was pretty affected by it. What she did is, she rounded up a bunch of neighbors and they went to city council and they got a massive speed bump installed right on her street, and nobody's been almost hit by a car anymore. Nobody else's pets have been killed. That's just a matter of just someone being super pissed off and wanting change to happen. That's something that you can do.

As a quick recap: I read about what was happening, and I was motivated to learn all that I could about what was happening around water affordability. I had no idea the depth of this problem when I started working on this. I didn't know that people were shut off. I didn't know where, I didn't some of the effects of what happened, which in were retrospect were obvious, but not really, if this is not a thing that you are aware of. Instead of actually going to the office that Thursday, when we started all of this, I stayed at home and I Tweeted about what we were doing. My co-founder, Kristy Tillman and I, that same day, ended up building a really quick, really somewhat janky website that helped us find people who needed help with their water bills.

Start Small

Getting into the next part, start small and see what is the smallest possible thing you can do to affect a problem. We think about this is our current website on the right, and this is the one that we had four or five years ago on the left, and it was literally just about putting together on GitHub with a few people. It was Bootstrap, hosted on Heroku. Even though I'm a rails developer, there wasn't even an actual full rails app. I didn't even have time to do that. When you came to this website to pledge to be a donor, you actually got filtered into a Google spreadsheet, but it was made to look like a form. Both of us had fulltime jobs, and we didn't have time to just sit here and build some really complicated thing. That came later, of course. That lined up thousands of people to help us help people.

It comes down to just finding the smallest possible thing you can do to affect whatever it is the problem that you discovered and you want to work on. This website wasn't anything fancy, it didn't have to be. Some people have talked to me, and they're, "I don't know how to build a website. I don't know this, I don't know that." You can put something together on Squarespace. A lot of this was actually built from scratch, with Bootstrap. You don't even have to actually know how to code at this point. You can just put something together with a form and go from there.

From this really janky, ugly website, we paid $100,000 in water bills in that first 30 days that this was up. People were piling in and saying, "I want to give $50. I want to give $100. I want to give $5," whatever they could actually afford. What we would do from the volunteers that we had is that they would basically just send people instructions on how to log in to the water company's website as if you were the person whose bill was getting paid, because we didn't even actually accept money because we didn't have a way to do that. I'm totally familiar with Stripe, but in the middle of all this, I didn't know how to accept donations, and make it tax-deductible. We just were, "Go pay this bill as if you're that person, and then send us the receipt for having done it, and we'll give it to that person that collects, so they can go to the water company and say, 'Here's all the confirmation numbers. Turn my water back on.'"

Yosu don't even need to collect money in a lot of instances. You just take advantage of what, in this case, was a big privacy hole with the water company's website, actually, which they've gotten in trouble over, but they fixed it. This is no longer a loophole for us, but we don't need it at this point. We paid $100,000 in bills the first month we existed doing that. Such is the value of just finding a problem you can work on, building the smallest possible thing you can, and just being passionate about it and moving toward a solution. Not even necessarily a solution, because there's a lot more to water affordability than just paying bills, but just a thing you can do to start impacting people right away.

We kept collecting donations, at least through the whole process that we did. People kept applying for help. It's not shown here, but there's a whole application process that people go through. As we continued paying bills and continued helping people we learned more about the problem of water affordability, and how deep it actually goes for people and where it happens and why it happens, and the crazy things that happen from it, like the public health effects, how it bankrupts families. We just started learning all this stuff about it.

We also learned a lot of crazy things, like the fact that people in Baltimore, for example, were losing their homes because of water bill debt being attached to their property taxes. If you don't pay your property taxes, obviously they sell your house from under you. Before we started in I think 2010, a woman whose house was totally paid off, and the house had been in her family for 30 years, it was the house she grew up in, she lost her house over $360 that she owed to the water company that she did not have. A lot of people tend to think that people with low incomes don't own homes, but they do. What happens is that they're often in disrepair, and that's what happened with this lady. She had a bill that got really crazy, and she couldn't afford the $360, and the city sold her house from under her, and that's what happens to people.

We also learned, like I mentioned at the beginning of this talk, that people were losing their kids every day because they don't have water in their homes. I wouldn't say it's justifiable, but according to the definition that the Department of Health and Human Services gives for child neglect, if you have a kid in the house that does not have basic utilities, technically that house is unfit for habitation, and so there shouldn't be people living in it. If you're a parent that has your kid in the house like that, even if that child is not going without anything except your usual style bath, you're still declared an unfit parent and they can come and take your kid from you, and put them in foster care.

There have been numerous cases that we've helped with where that's totally happened. These parents then have to go through a whole court process to prove that they are a fit parent, even though the kid's sitting there "I'm fine. I never actually suffered in the ways that..." I wouldn't say actual child abuse, but you know what I mean, people that have actually harmed their children. They have to go through this whole process, and sometimes they actually don't get the kids back, because they may not be working at the time, and it's not clear how they're going to continue to take care of the child and whatnot.

We learned all these things, and that started affecting how we did this work. We were raising all this money. At that point, we had actually transitioned to actually taking money, because we want people to get their tax donations. Some people were giving $2,000 and $3,000 with no tax benefit, which I felt [inaudible 00:19:43] about, but they wanted to help.

Learning all these different things about what was happening and why caused us to really change how we helped people. Beforehand, we didn't know anything, so we just paid bills for people regardless of what was going on. Once we started seeing, "Ok, this person could lose their kid," we ended up triaging and saying, "Ok, if you have kids, we'll pay your bill ahead of someone who doesn't have kids and is able-bodied, but just is in a bad situation right now." We had a lot of senior citizens or people who are diabetic. We had one lady who was trying to fill her dialysis machine in her house with water from her neighbor's water hose. We started prioritizing cases like that just based off of learning how much this stuff affects people, and what happens if you don't have water versus someone else.

Stay Learning

That leads to my third point – stay learning. Whenever you start undertaking something where you're using your tech skills to make some kind of change, stay learning and stay learning everything that you can about what's happening, because it'll really affect what you can do and what you don't do. It'll help you focus on some levels, even, because when we first started and we didn't know the extent of what's happening with people and why it was more important – not more important in the sense of "This person is better than that one," – to pay this person's bill who has kids versus this person who is just struggling for a little bit and can be ok, that started causing us to focus and change how we did things.

Also, because we were learning about the effects of this stuff, we were able to partner with an organization in Baltimore and go to them, and we helped them save 50 different people's houses from being foreclosed upon. We helped them to pay those people's water bills and get that stuff removed from their property taxes. That's 50 families that got to stay in their homes that would have been on the street unless someone had intervened, basically. That all comes from learning and seeing what's important and what you can let lapse for a little bit.

You stay learning by talking to the people who are affected by the work that you do. Talking to people who may actually already be working on your problem, but just coming at it from a different angle than you. Then, also talking to people who actually might be the source of the problem, which sometimes those are interesting conversations. I definitely stay in contact with the water companies in different cities, where technically they could pass certain policies that are more helpful to people but they don't.

You also learn then the constraints that they're under. You start learning about well this water company can't make these changes because they're lacking in federal funds that they used to get. You have a little bit of empathy for them, too. You're still pissed at them, but you still have a little bit of empathy for them. Depending on who you talk to, you can advocate for them as and just say "This guy needs federal appropriations, and maybe this wouldn't be happening." Yes, stay learning and stay talking to people.

Bring People With You

That actually brings me to my last point, which is finding ways to bring people with you. A lot of the stuff that we work on as technology people, if you work on a team, which most of us do, you know that once something gets to a certain size, you need other people to help you out with it. If you actually want to make an impact, you have to go beyond just building something by yourself in your house or in your cubicle. We started finding ways to bring people with us.

This is actually me and the VP of the Detroit City Council, who is also working on water affordability and actually cares about this stuff. She is part of a group of people that we stay in constant contact with, "Do you have constituents who need help? Your other city council members are thinking about what we're doing." Her and her team have been extremely helpful to us. You need to find people that are also passionate about the issue that you are, and to bring them with you.

You can do a lot by yourself, but if you want to make lasting change, you need to have people with you, including, as much as we might not think a lot of them sometimes, politicians. At the end of the day, they're the ones that make the laws, but we can push them to make certain laws if you start telling them about "This is what's happening, and this is why it's important."

In our work, crowdfunding, obviously by default pulls in people. If we start talking about systemic change, you need people like the city councilwoman. You also need to do things building deeper relationships with other activists and other non-profits, who, even if you're not a non-profit at that time, you can still reach out to them and say, "Here's a thing that I'm doing. Do you think this could actually help you move the needle in a way that it may not have before?" We have relationships with people in city governments, and at least 50 or 60 other non-profits, to let them know that we're a resource.

What that becomes then is coalition-building, so that you can start going to people who have power and remind them that we have all these people. You're not bullying them, but you're reminding them that you have a responsibility. These people put you here, so maybe you should circle back around and remember that and actually pass policies that help people.

Give. Volunteer. Hack.

We also take referrals from the United Way and all these other organizations that see that this is a group of people that's actually helping people. We're small, we're barely four people, but we do what we say we're going to do.

That's the last thing, but I'll say we have helped at this point over 3,000 people, just from a thing that was actually a side project, but just turned into this whole other organization. I like to think of my work as building tech that helps redistribute power, versus concentrating it, and at least redistributing it for good versus redistributing it to make a handful of people super-rich while everybody else suffers. I don't think poorly of people that work at these companies, because sometimes you have to do what you have to do, but I think I challenge people to just think about the effects that their work has. Can you do something to use your time and your talents to redistribute power and look after people?

Questions and Answers

Participant 1: That was a great talk. Thank you so much. Very important work. When you first put the site up, how did you get the word out to people who needed it and people who were willing to donate the money?

Bell: I'm an obsessive Tweeter, so, in the course of reading about what was happening, I was Tweeting about what was happening as well. At a certain point, me and my co-founder, we said we're going to build this thing. Then, as we built it, we kept showing progress and screenshots, what we were discovering and stuff like that. It turned into "Ok, this thing is there. You should go support it." People just shared and re-Tweeted it, so it was luck and social media.

Participant 2: My question is similar to what he asked. In your experience, if you're starting a new project and you need to get people to donate and help other people in need, what would you do differently and what you do the same to get distraction and get the wheels spinning and be able to show results and then getting more people to help? Would you have any tips or rule of thumbs that you could share with us, if anyone is interested in starting something similar to your project?

Bell: Sure. I'm not a self-promoter, so I think I would have done more around that kind of thing, like talking more about what we were doing. Yes, I was Tweeting about building the website and the problem, but it's not a thing that I continued doing. Even if you follow me today, it's a bunch of posts that are not water-related, because I don't want to inundate people. I think if you really want to bring people along, you have to do that.

I also would have spent more time talking to people who we helped and capturing them on camera, and sharing the true impact that we did. Actually we started right around when people really started getting into sharing videoes, but it's not a medium that I really am into, and I think I let my disdain for video affect how we got our word out. I think that's one other thing. Don't let your biases and your insecurities shape what you do and don't do.

Give people a reason to share what you're doing as well. let them share their story. We did this, too. We had it where people could Tweet after they donated, but, I think we could have done something else in addition to that, that people would really be motivated to do. Those are the things I can think of.

Participant 3: feel like you really touched on something. You said, "Start as small as possible." I feel like there's a lot there. How did you have that mindset, or how did you learn how to do that? I find that I think way too big and then I end up doing nothing. Then it's just this, constant loop, and then I get into denial. How did you get to that point where you were like that?

Bell: It was literally time constraints, and the fact that I had another job that I got in trouble at because I was doing this so much at a certain point, and I openly said I'd prefer to be doing this. It was a time constraint, basically. We didn't have time. My co-founder Kristy, she's at Slack now, and she was early at Slack and didn't have time to sit and do a bunch of website building and handling money and whatever. We had to be efficient and it had to run in a way where even if we weren't touching it, it still sat there.

Actually, building for that, as well, making it ok that if I don't touch this for another week, people are still getting helped some way. We had volunteers that helped, but I think the biggest thing was time. I literally didn't have time. Then, also, not knowing certain things also dictated what we did, because I didn't know how to accept donations in terms of it being tax-deductible for people, and I also didn't want to handle money. We had to find some other way to do it, and that led to just offloading all of the payment drama to the water department, and then just making it where the only thing that you send us is a receipt. A lot of it was just time constraints, and what I felt like dealing with at that point. This is my fulltime job now, but it wasn't then, and so, it was just constraints, basically, like DHH, the rails guy says, "Constraints are liberating." it's a thing. You end up having to focus and do things a certain way. Whereas now, I'll sit and I'll tinker and build something that probably isn't necessary, because I have the time to. Beforehand, it wasn't like that.

Participant 4: You mentioned that you like to Tweet a lot. I went to a session yesterday afternoon, "Coding without Complexity." The woman who did the session, she just nailed it for me when it comes to any kind of project, where I'll, "All I want to do is this little thing. I got to figure out how to do this, and how to do this." I just don't know. Are there organizations, small groups, are there places that a solo person, like myself, can go and get connected with other likeminded people? Honestly, this is the first conference I've ever been at, where this kind of stuff is going on. How do we, those of us who are not social justice warriors, who aren't badasses, how do we get in the game?

Bell: I don't actually have a good answer for that, because I feel like there's a bunch of organizations that do certain things, but it's not always clear what they need and when. I think it's a matter of just reaching out to people. If you see something that's interesting, reach out to people. Follow certain organizations on Twitter, for example NTEN. They're an organization where their whole thing is to help non-profits leverage tech better. I see them sometimes re-Tweeting the work of organizations and whatnot.

I don't have a good answer for that question, actually, because the people that I know that do this, I meet them through meetups, or they reach out to me. Or you just happen to meet someone, and they're "Yes! I know this person." Maybe that's something to build. It's still very hodgepodge, if you just run across somebody, thing. I'm sorry I don't have a better answer, but I appreciate you wanting to, at least.