As a student studying Computer Science in college, I often hear from friends working on various humanitarian projects, and I want to do something myself. But it seems that programmers don't have as many obvious avenues to help out as, say, doctors or teachers. What are some ways in which programmers can put their talent to use for people in poverty?
When I was in just out of college, there was a Guy who would stop by my house on recycling day and pick out all our cans and bottles that had a deposit. I became kind of friends with the Guy, I’d ask him how’s business, he’d ask me how I liked my cube and we’d have good laugh.
One day we got to talking about what I do and I told him”I made things to help people do their job better with less work”. He tells me he could use one of those things….
So, I had an old Palm3, I wrote an app where he could enter his Cans collected at each address and after 2 month he would know which Houses drink the most soda and what where his best blocks. (No route generator :-( ) I presented it to him the next week on recycling day.
Increased his productivity by 30%!
So there you go, Programming to help people in poverty!
Use your talent to earn lots of money, and donate a good part of it. As programmers, we are in the lucky situation to be able to earn more money than we need for our personal needs.
Contribute to open source software
By making a contribution to open source software (or creating your own) you can have a direct effect on the overall cost of a computer system. This in turn lowers the cost poor or needy people (or charitable organizations) incur to provide them with computers.
I know it's not very fancy but it could help!
I've had the same question, and I've thought of two things: doing web dev work for a nonprofit, or assisting with computer courses, like an adult education course. There could be poor people there trying to catch up with technology, depending on where the class is offerred, the area, etc. Maybe you could volunteer to manage computers at your local library- they have useful resources for people who can't afford their own computers.
If you just want to help people, you can always just go serve meals at the soup kitchen. Among the poor, I think general manpower is in greater demand than algorithms.
I live in India but I want to make this answer more general, probably the answer will go to some political or on a non IT way, so apologies in advance.
Poor people are poor because they can not enjoy some basic things like food, water, home, jobs and transportation. The lack of these basic things are the main cause of poverty.
Our job is to make programs, and our target audience is most probably those who have some extra bucks to spend on a server and a website. Mostly in India IT is not seen as necessity, many firms and govt organization avoid this if they don't have enough money.
Here the govt. spending the major part of money and manpower to make above mentioned resource proper and after that more better.
They have to build and keep better roads, better house and constant electricity. They have to watch and forecast weather and keep some proper storage if weather goes out of control so everyone can have proper food no matter how good or bad the whether is. They have to create and manage a good transportation system to keep business alive anywhere. They have to provide better medical and emergency services.
That's where I think a better programming helps, to provide a good and reliable programs to people and (Government and Non Government) organizations who handle them. And It's way better than programming for some freak clients who are like Dogs chasing cars. Atleast it makes me (And probably you too) feel proud by giving back the society.
P.S. As a mobile developer I felt proud once by developing an application for Blackberry to help people to cope with some medical emergencies.
P.S. 2 There is also one easier way, earn more by programming for these clients and spend more earned money to charity.
Unfortunately most causes of poverty don't respond well to programming solutions. Google made a valiant effort with the Google.org project, but after 6 years of trying, they've largely found that only donating money to lower-level "on the ground" organizations has much effect. A recent article in the New York Times highlights the problem: Google Finds It Hard to Reinvent Philanthropy
Using your skills to earn more money and donate it to causes that help relieve poverty is likely your best bet. When you donate to at an organization like Charity Water, where $20 provides clean water for one person for 20 years, you can do a whole lot of good just working an extra hour a day and donating the results. The Developers Against Poverty campaign is an example of programmers promoting doing good this way.
You can also participate in hackathons organized by Random Hacks of Kindness.
From their website:
Random Hacks of Kindness (RHoK) is all about using technology to make the world a better place by building a community of innovation. RHoK brings software engineers together with disaster risk management experts to identify critical global challenges, and develop software to respond to them. A RHoK Hackathon event brings together the best and the brightest hackers from around the world, who volunteer their time to solve real-world problems.
I have a suggestion,
We can develop a website, which will have the details of hospitals, free medical checkups, government free medical services. In case of emergency, people can search for the blood donor near by their state/region/town.
Not only poor, you can help every single individual who really need someone in extreme emergency.
+1 for this nobel step.
I live in Brazil and here, the software costs are prohibitive. This situation has been changed in last years, for the economic development. But it still is unconfortable. Almost every commercial software application imported is too expensive due to the differences in people's income and the minimum wage in relation to a rich nation. All the imported technology stuff costs, effectively, more than it would be cost in a full developed nation. An iPhone 4, for example, in Brazil costs more than a thousand dollars. If you compare the minimum wage of Brazil with US, UK, Germany, Japan, etc, the cost increases too much. I think that with India, China and Russia the situation is no different.
In my opinion, a good way to help poor people to be technologically included is provide free and open-source software for education and small businesses (that creates jobs). Imagine the development of better OSes, Office Suites, CAD tools and other software products that would help the development of a nation... I believe that we, programmers, analysts, software engineers and related, can do much to reduce social inequality.
Help the people doing the humanitarian aid and/or help alleviate the issues causing poverty.
For example, you could:
- Develop software which enables doctors/teachers to help/work with remote villages more effectively.
- Help farmers increase the efficiency/yield per acre in poverty stricken areas
- This list goes on...
Bill Gates has been pushing to help eliminate Polio world wide, you can check the Bill and Melinda Gates foundation web site and see it there is anything you can do to help that effort.
Maybe organize a local fundraiser or something. Its not specifically programming related but it will definitely help people in poor countries! Or how about a hack-a-thon fundraiser?
And for the record I have been a Linux geek since about 1994, so not a Microsoft fan. But I am a fan of good public health policy, so for this I will give Bill a big round of applause.
I'm no econ expert, but I've heard a lot of people say that lack of education and access to shared knowledge is what helps to keep poor people poor.
If that's the case, then one could make a case for saying that FOSS could help lower the bar economically and allow the lesser privileged folks access to those realms. I know for a fact that a lot of schools that are on tight budgets have to spend massive sums on windows and office licenses, which if replaced by ubuntu and open office, could have been spent on more computers/professors.
Those projects are always looking for help.
"Deliver Good" would be a site built by a programmer to help match charities and donors that I believe is in the same ball park of what you mean. The site was started by someone in Calgary, Alberta, within the past year so it may still be gaining adoption to some extent.
"Talking Shop: Beef up your resume by doing volunteer IT work" is an old article about how your could volunteer your IT skills.
Something as simple as showing people in charities and non-profit organisations how to use computers and various platforms effectively can be a big help. Small groups particularly often lack people with technical skills and IT tasks often go undone. Sometimes basic things like setting up a website or Facebook page can seem daunting to those outside our field. It can be as simple as letting them know they can call you up with technical questions or helping out with setting up data security and backups.
This can be a top town approach and things can be done at all levels. You can help the world by participating in developer challenges like the one from the World Bank Apps for Development that tackles the Millennium Development Goals. Those guys have a lot of data that can be processed in a lot of useful ways. Also you can search Google with "PROBLEM-NAME developer challenge". That gives some interesting results.
At a lower level you can offer your services to one of your national non governmental organizations. Surely they have some ideas and are in need of some skilled programmers. And of course there is the 1 to 1 approach. Volunteer your time to teach people how to use a computers/the internet in ways that help them do stuff with less money. Teach children computer programming.
As a service learning project in my senior year of college, we built a system for the local Salvation Army to help manage their annual Christmas gift donation drive for needy families. While it may be rare for such an organization to need the help of a programmer, it doesn't hurt to ask around in your area.
I am a (computers) student in India, and I have had the fortune to know and work with several people who are passionate about using technology to help people in need. Check out these webpages - Microsoft Research India, act4d and Gramvaani.
Personally, I feel that you are looking at in the wrong way. If you think that you can help people with programming ability, you are probably thinking of building some kind of website/software. However, the fact of the matter is poor people largely (I am talking about the developing world here) don't have access to computers etc. and don't usually speak English. If you think that technology alone will solve the world's problems, take a look at this. This is the text of a talk by a person who was involved quite heavily in this field.
In my view, if you really want to make a difference, you have to combine technical engineering with social engineering. Try to realize what obstacles are holding people in poverty - it could be lack of education, lack of access to opportunities, lack of money etc. Then try to think of some way that these can be overcome, and then you can perhaps be ready to help them. If you are really interested in helping out, remember that technology is typically geared towards people with money, and you have to remember that technology is only useful if it actually meets the needs of people. Think less about new technology, and more about better ways of using existing technology.
Contribute your time and efforts to improving Open Source projects such as Ubuntu linux. The philosophy of Ubuntu speaks directly to your cause. Humanity to others...
By improving this excellent free operating system and software you contribute directly to assisting people in poverty. Since this Linux operating system is free and very easy to use, it can assist people in all walks of life gain the tools they need to manage their information needs.
I am living in the Philippines and I shifted my career to IT because I want to help other people... and I plan to give my service for FREE... For example, I want to develop a program for our public CITY library because currently they are still using a manual catalogue system. Another thing is that if I became an expert in programming, maybe I could teach children who cannot afford to have a proper education some computer skills.. :)
One thing that programmers are often exceptionally good at, in comparison to the rest of the population, is collecting and organizing information. I live in a relatively poor neighbourhood compared to the rest of my city and there are literally dozens of disparate programs designed to help people. The problem is, is that nobody knows about them. You ask anyone working for these programs, and one of their biggest issues is connecting people with problems to people with solutions.
In our community we've started a extremely local web site (for roughly the 4x8 block area in our municipal neighbourhood). We've actively sought out the various mailing lists and organizations that offer programs, and we filter and organize them, and add them to the website. Nearly everyone in the area has access to the internet in some form or another. But we're also supplementing the site with a monthly newsletter. The intention is to centralize the information that is already out there. We've even given some organizations the ability to post directly to our site. So far the response has been quite positive.
There are tons of charitable open source projects out there--it's finding them that's the rub. Sahana comes to mind; can't think of any others offhand...
If you don't find anything that resonates with you, then start something! Think of how automation and information transfer (the core of software's strength) can improve the lives of those you wish to help. I find Dean Kamen a great source of inspiration here. When you have your great idea developed--make it happen. It's that simple.
Programming is for the well off and well connected.
There's only two things a programmer can do:
1. Donate his time.
2. Donate his money.
Since every human being has only a relatively limited amount of time to donate, I would prefer the second option.
Earn enough money to make a significant impact and then set out to change the world.
PS I am not advocating against giving time, just that given the scale of the poverty issue, especially here in India, money is much more valuable as a resource.
Disregard the previous answer. I later remembered a fantastic TED talk I had seen earlier and went to find it again.
Now I agree with Mr. Anil Gupta's answer. It's a must watch.
A year earlier, I had also seen another TED talk related to technology and poverty. Though I couldn't find it now, the idea was to give a computer with internet connection in a slum or in remote villages. Even without being taught how to, children learnt how use them very quickly.
Edit: Found it: Sugata Mitra: The Child Driven Education..
It's doesn't directly relate to poverty but since education is the key to break the vicious circle, this idea is brilliant.
Whilst not programming, I have done quite a bit of voluntary work within IT drop-in centres. Primarily teaching the elderly and those with learning disabilities on how to use popular software.
A lot of people in society don't realise the benefits that things we may take for granted, can give them, such as the internet. This is prevalent with the groups I mentioned above and it can be extremely rewarding when you see the progress they make and the benefits that they inevitably gain.
Maybe this is an area you could look into, as I think most major conurbations would have such set-ups. If not, ask your University would they be interested in giving something back to the community and volunteering their resources for a few hours a week.
Have you heard of the Venus and boinc projects? search for them and see what we can all do.
get informed mate ;)
The reference to the BOINC project didn't work for me. However, I have found a BOINC project that serves a a good introduction to BOINC:
World Community Grid
Click on each of the pictures under the big picture to see all their current subprojects, some of which should help mostly people in poverty. I've given them years of computer time already.
A few more BOINC projects of interest:
for tuberculosis, but early in development so I recommend it only for those with experience in testing new software
likely to help with research on RNA-based viruses, but not giving much detail yet; not quite so early in development but still not recommended for beginners
I'd recommend selecting at least two BOINC projects so your computer can still do useful work if one of the projects goes down for a while.
BOINC is used mainly when some research project needs much more computer time than the computers they can afford can deliver within a reasonable time.
I don't think you can contribute a lot in that field: what you do on computer often stays on computer, while poverty is material thing.
What you can do is teach kid how to use a computer or how o program, but again, they need a computer to continue learning, and most kids tend to learn alone.
I've had this idea for a long time now, but obviously the thing that would improve our society from the bottom, is some kind of clean, location based, goods/service exchange for everyone website.
I'm not thinking about you regular "selling" announcement website, but something which makes a lot of emphasis on locality.
Some sort of craigslist + google maps, but better and not necessarily based on emails. There would be people who search, and people who propose...
I don't think successful companies like google or facebook put much emphasis on how the economy has to organises itself, while it is like the biggest feature that internet allows: transportation of information.
Try to think that the current economy makes people pay for meeting each other and delivering services, while what you really need might be much closer of where you live.
Delivering information organised in this manner would greatly diminish poverty, which to my sense is just a big lack of organisation money can not always solve effectively.
SOrry for the political post :)
You can work on Mifos: http://mifos.org/ - the software used by Grameen bank.
"Participate in an open source project that's building technology to end poverty faster" - quote from the website.