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?

  • 1
    Community Wikis can only be made by those who have high enough reputation now. (Moderators.) – Mateen Ulhaq Feb 14 '11 at 5:24
  • 2
    You should look into Imagine Cup! imaginecup.com – aqua Feb 14 '11 at 7:23
  • 40
    I personally love that I work in an industry that attracts people who regard this question so highly. – goodguys_activate Feb 14 '11 at 7:26
  • 3
    You could donate to Developers Against Poverty: developersagainstpoverty.org – user4051 Feb 14 '11 at 10:14
  • 3
    Get rich and donate your money for the cause, I guess. I don't think software development in specific is very helpful in developing countries (food > software). Maybe the more abstract concepts, for example agile / lean / that kinda thing could be put to use in non-software projects. – cthulhu Jun 12 '11 at 20:59

36 Answers 36


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!

  • 12
    I really like this story. +1 to you! – ElGringoGrande Feb 15 '11 at 3:28
  • That is also called statistics! :) – ilhan Feb 26 '11 at 19:23
  • 2
    That's a really good point. I once said to a friend of mine who is very successful, "Don't you feel lucky that we don't spend our days collecting cans like that guy?" She said, "No. I would just go to the places like dance studios that have tons of cans, fill up my cart in 2 hours, and then spend the rest of the day doing what I want." – B Seven Oct 4 '11 at 3:17
  • That's awesome! Did you ever hear back from him? – prasopes Jan 5 '12 at 19:26

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.

  • 22
    +1 Cynical but true. The poorest in the world have relatively basic needs (food, clean water, medicine, education) and the most straight forward way to fulfill those is through money. If you look at how much you can earn in an hour and offset the monetary value of that against what you might achieve volunteering, working more and donating will usually come out best. – Jon Hopkins Feb 14 '11 at 11:44
  • 16
    This, taken to the extreme, is the Bill Gates model. – Dan Dyer Feb 14 '11 at 13:32
  • 30
    "If the wealthy really wanted to help people, they should make as much money as they can doing what they are trained to do, and hand it over to a lower income group who are trained to help people. .. For every hour they spend serving soup, they could have donated an hour's salary to pay for somebody else to serve soup for two weeks. .. So why do they donate their time?. .. By donating time, they help the needy much less efficiently, but show their generosity and kindness [to potential mates] much more credibly." - The Mating Mind: How Sexual Choice Shaped the Evolution of Human Nature – endolith Feb 14 '11 at 21:25
  • 6
    @Endolith - ouch. I was considering volunteering at a homeless shelter, but that's a pretty compelling argument. On the other hand, if I'm volunteering leisure time that is structured in such a way that I can't use it to make money, I think that fits the moral bill. – Chris B. Behrens Feb 14 '11 at 22:28
  • 7
    @makerofthings - have you looked at microloans? The idea is to give a lot of small pieces of money to help start new businesses, e.g., buy chickens to sell the eggs; buy a sewing machine to make and sell clothing. This removes the "distant giving" issue of just donating money, and causes many tiny, long-term, self-supporting changes to take place. I'm a fan of the idea. – Ethel Evans Feb 14 '11 at 22:32

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!

  • 5
    Contributing to open source is the most direct way for software developers to create and give away significant value. We're lucky in a way, since this value can be 10x or 100x the original effort in successful projects. The impact won't be directly felt by the poorest segment (since food is their major concern), but is charity nevertheless. Other approaches to charity involves activities unrelated to programming. – dbkk Feb 15 '11 at 6:29
  • Github.com is a great place to start. Tons of open source projects. – Chris Ledet Jan 5 '12 at 20:19

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 agree. I also agree that using ones skills to earn lots of money is much more efficient in terms of wealth generated per hour spent. However, sometimes an institution is not in need of cash but people and without people they wouldn't have a way to start their effots. So it all depends on where you are, what people need, etc. I know institutions that would love more money since they have all the people they need. Others can barely afford to open their venues 2x a week due to lack of people. – Giovanni Tirloni Sep 16 '12 at 14:49

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.

  • 2
    +1 for earning more and giving back (think Bill Gates). – Penang Feb 14 '11 at 8:34
  • 4
    But not Illegally and unethically, I would rather choose to follow RMS than Bill Gates. Bill Gates IMHO is not that good example for earn more and give back. – Prasham Feb 14 '11 at 8:49
  • 2
    "The lack of these basic things are the main cause of poverty" or those things are the result of poverty? My English is not very good, so I may be mistaken since I am the only one to be surprised after reading that sentence. – nimcap Feb 14 '11 at 12:10
  • 2
    @yc01, When it comes to poverty, causes and effects are intertwined. There are a lot of feedback loops. – TRiG Feb 14 '11 at 17:03
  • 5
    @yc01 - He isn't saying that being in poverty is caused by being in poverty, he's saying that the effects of previous poverty are often causes of future poverty. If you mitigate the effects of poverty, you don't just provide relief; you decrease future poverty. E.g., you help with hunger, and because someone is well-fed they are able to work more. They and their children eat better, and their children do better in school. Their children get better jobs because they did better in school, and the grandchildren never go hungry. – Ethel Evans Feb 14 '11 at 22:38

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.


Schools are always looking for people to come into the classroom and talk about (or demo) their jobs. I guarantee you the kids will love it.

-Ralph Winters

  • 6
    Teach poor kids programming for free. They will find jobs. – Pratik Deoghare May 25 '11 at 13:47

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.

  • 2
    That's an argument for supporting wikipedia – Foo Bah Feb 14 '11 at 14:11
  • @Foo Bah That's true too. Once everything's on computers the libraries will eventually disappear and the only access to information will be things like wikipedia, or other non-community driven information hubs which will certainly have some sort of agenda. – LoveMeSomeCode Feb 14 '11 at 18:57
  • 2
    the only remaining problem is to ensure that the poor has means to a computer and Internet to access Wikipedia; I'd doubt that physical libraries should truly disappear yet, they can instead move their wealth of knowledge to areas where computer and Internet access are not as easy to get. – Lie Ryan Feb 15 '11 at 6:16

"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.

  • 1
    Deliver Good seems like a great idea, but no one seems to be using it--it found 0 results for Washington, DC; Denver, CO; and New York, NY. In fact, I can't seem to find a city that does have any results. – Matthew Feb 14 '11 at 4:35

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.


Hire programmers in developing markets.


"If you've come here to help me, you're wasting your time. But if you've come because your liberation is bound up with mine, then let us work together."

— Australian Aboriginal Elder Lilla Watson.


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.

  • 2
    I wouldn't count the Salvation Army as a deserving charity. There are plenty of other groups which help the poor without being preachy, sanctimonious, and homophobic. – TRiG Feb 14 '11 at 17:08

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.

  • Yeah, it's probably the lack of money that's holding people in poverty. – Erik B Feb 14 '11 at 16:13
  • 1
    I sense a hint of lemon and sarcasm in your comment. Google grameen bank to see the concept of microfinancing. – apoorv020 Feb 14 '11 at 16:35

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.

  • @Morons There are over 346,000,000 people officially categorized as poor in India alone. They are lucky to get one meal a day. Just think about the scale will you? – Qyuubi Feb 14 '11 at 15:06
  • 2
    @Chris There are no rudimentary clinic where a lot of poor people live let alone the money to pay for a doctor. Where on earth will they get access to a computer even if they lucky enough to have full time electricity? – Qyuubi Feb 14 '11 at 15:13
  • If one person/organisation is willing to give you lots of money for your time, then another will be glad when you give it for free. – ctrl-alt-delor Feb 14 '11 at 20:53
  • option 2 is far better and easier option for us, but there is a good example for option 1, if you are aware about Unique ID project in India, you may also know about Mr. Nandan Nilekani who left Infosys to handle this project, and devoting his time to the project – Prasham Feb 15 '11 at 4:42
  • 1
    @MobileDev123 You are right in that his contribution is one the most significant ones ever since a successful UID will ensure that millions will get the proof that they exist. By provides IDs he ensures that they have access to all of the government's poverty programs and aid. – Qyuubi Feb 15 '11 at 5:35

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 malaria


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.

Robert Miles


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.


You can always help indirectly - eg. make some software, that would help some humanitarian project. Our you can make free ( or symbolic price ) web for em. if you are web programmer - this can help to get more other people know about project.

Not the answer you're looking for? Browse other questions tagged or ask your own question.