Ask HN: What can I do as a software engineer to help the underpriviliged?
As a white, midwestern software engineer, it's easy to live my life day to day without ever leaving my little bubble. What are some ways that I can apply my skills to help the under-priviliged?
55 comments
[ 3.2 ms ] story [ 91.3 ms ] threadThere is almost certainly some volunteer group in your area that could use an extra pair of hands. You might be tempted early on to offer suggestions to improve their efforts through better software; don't. Instead, just watch, ask, listen, and learn. Once you've got enough experience to be confident that you understand end-to-end how everything works in whatever group you volunteer for, you'll probably know the right place to apply your skills as a developer (which very well may just consist of, "um, you need automated backups").
Keep in mind that their priorities are different from yours. Things that you would probably consider essential or best practices are, for them, distractions and nuisances and costs to which they're super sensitive: updates, security, anything that's new and requires effort to learn.
Software developers tend to see themselves as "systems thinkers", and think they can always improve any given thing by swooping in and applying some new software to it. That is often not actually the case, but they don't get their hands dirty enough and stick around long enough to realize it.
I had my fair share of coordinating events during school for science competitions. One event we had was spread across campus and in areas with low wi-fi coverage. Our coordinator wanted all the results managed by google spreadsheets in real time. At the end of the day, it was completely unnecessary for logging results (PC problems, typing in broad daylight sucks, no power outlet for laptop, no wifi coverage, etc) and resorting to a piece of paper to write down competition results got the job done much smoother.
I've had to do IT for alot of my friends and families. The last thing I ever want to do is introduce them to a new piece of software, because its just going to be more work for me tweaking it to their liking and them learning a new software package. Not only that, they are just going to eventually install a virus anyhow. Then I'm going to have to reset their PC a year later, regardless of how well I teach them about safe practices on being online.
There's a japanese philosophy that revolves around these points made above, called LEAN (also, this is what agile development is based on). One rule is you adapt well proven methodologies and workflows first, unless the benefits of using a shiny piece of tech far outweighs its cons and risks. Another rule is to listen and understand, before you jump to conclusions. A 3rd rule is to eliminate waste, in development this is generally your buildprocesses / shiny tech / reliance on too many libraries.
TL-DR . Go low tech as much as possible if its an option. If not, the benefits of shiny tech need to outweigh its cons / risks. If you do pick a software package, pick one that's well adopted, easy to learn, and fits your use case.
Bonus: They probably could use your software skills as many of them have been operating for years with low-tech shoestring budgets.
I second the thought of leaving your bubble because there is more opportunity. I am a former midwesterner, and I live near Seattle now. There are way more opportunities at the coasts then the midwest.
I haven't thought through his whole talk enough to have an informed opinion but it is interesting.
https://www.huffingtonpost.com/trevor-neilson/dan-pallotta-w...
http://lesswrong.com/lw/hjn/earning_to_give_vs_altruistic_ca...
It's a nuanced piece and doesn't argue against it entirely, but the arguments in it should inform these kinds of decisions.
Use your money, time, voice and vote to support a modern public safety net.
Every other avenue is a divergence or distraction or otherwise ineffective.
In some contexts, my suggestion could be used as a political platform, but it isn’t here. It is, however, obviously, politics. How could it not be?
It is strange to me that you contextualize this way. It is no less than obvious, to me, that politics, as a field so concerned with the livelihood of society members, is a (if not the) topic at hand. I am open to other avenues but the success of such efforts remains grim, hence the concern in this post, which is anything but new.
An effort to logically separate politics from the needs of under privileged society members strikes me as a questionable pursuit at best and a damning moral quandary. Can you explain what the point is?
> If in America, your options are very limited
How are your options limited? The US has over 1 million nonprofit public charities plus 400,000 other nonprofit organizations (foundations, civic leagues, etc)[1]. 62 million Americans volunteered for nonprofit work in 2015[2]. Americans give over $250 billion a year to nonprofits, about half to religious and the other half to secular[3]. None of this giving goes to government organizations, although of course some nonprofits get federal or state funding (probably a small %). But the point is that millions of Americans find a way to help the underprivileged apolitically--that is, there is little government intervention in their giving or how the money is spent.
> the answer very simple
The answer is clearly not very simple. Poverty is not only globally prevalent, it has never been eradicated by any historical or modern society, ever. If the answer was simple, someone would have solved it. Certainly a 'modern safety net' such as it may be defined by you or by others, open to interpretation as it might be, has been tried in many countries with mixed results. France, for example, has a robust public safety net and yet boasts a poverty rate of 14%[4] (the US official rate is 12% but to be fair these numbers might be apples and oranges[5]). In any event there is significant debate about the effectiveness of top-down poverty alleviation programs or about the form in which they may take. For example, many people now advocate UBI which is a far cry from the traditional notion of a public safety net but would replace it nonetheless.
> Use your money, time, voice and vote to support a modern public safety net.
I assumed by this you meant support a political party committed to expanding the public safety net, which in reality would be the Democratic Party, but it could be literally any party, the problems are the same. I suppose you could mean volunteer more taxes to the IRS, which is certainly an indirect option to filter some % of your donation to poverty alleviation programs, but I doubt you have done that or would expect others to.
I simply don't understand how giving your money to the Democratic Party, or any other political party, is supposed to improve their odds of winning an election, let alone using their elective power to improve social safety net. Obviously money doesn't buy elections--talk to Hillary Clinton or Meg Whitman about this one. And the last time Democrats touched the welfare system under Clinton they shrunk it and didn't expand it.[6] When Democrats last had both houses and the presidency from 2008-2010 they used their political influence to pass Obamacare, American Recovery and Reinvestment Act, and Dodd-Frank, all of which didn't address the public safety net except tangentially (you could argue, for example, that Obamacare / stimulus / financial reform indirectly help the poor but that's certainly debatable). There simply is no equivalence between the Democratic Party and actual results in helping alleviate poverty. In fact, the opposite may be true. Democrats have had, for years, one-party control of California, a state with the highest poverty rate in the nation (20%).[7] They also have had, for decades, a monopoly on power in the following cities which hasn't affected their poverty rates: Baltimore (24% poverty rate), San Francisco (13.8%), Detroit (35%), Seattle (14.5%)...the correlation between progressive politics and results on poverty alleviation is at best unclear.
> Every other avenue is a divergence or distraction or otherwise ineffective
It seems to me that any effort to fight poverty through political means is extremely indirect. The $1 you spend on, for example, campaign contributions, is going to pay to win an election first, and only if the election is won (which has little to do ...
Note your numbers claim effort, not results, a telling sign of failure to achieve them.
And when we compare our results with our purported over-the-top effort, we are faced with the dizzying proportions of our failure. Why are these measurements so astronomically unproportionate? The private charity system lacks evidence-based incentives. It is egregiously inefficient and in it's best cases relies on rich guilt and virtue signalling. This prioritizes advertising over problem solving, and even worse, it by-and-large rewards organizations who minimize problem solving. Our charities provide images, not solutions, and only a fool could wonder why. In the other cases, the charity organizations are tax dumps that either don't address a worthy cause or apply an ineffective solution (sometimes a solution that even worsens the problem) simply because success is not correlated with the intent. Many of them do nothing but invest in capital. They get away with it because investment and effort are the only measurements calculated. Results don't matter. Most free-market economies are quick to identify this as a problem. If it works, why hasn't it worked?
>The answer is clearly not very simple. Poverty is not only globally prevalent, it has never been eradicated by any historical or modern society, ever...
Your assertion that poverty cannot be eradicated is a straw man. I'm sure you'll understand my decision to ignore it.
To the question of how to fight poverty: When private solutions don't work, public options are simple to apply. And plenty of evidence provided by our own history and fellow western nations makes it pretty reliable. Less than perfect? Yes. Ugly with poor branding? Well yes, but that's not the point. The point is: it works.
>I assumed by this you meant support a political party committed to expanding the public safety net...
I wish it were that simple. But, your assumptions are premature; that is not what I meant. I am not a democrat and I don't recommend taking those measures you assume, precisely for the reasons you have already detailed. The American electoral process hasn't offered a candidate who dependably supports an honest expansion of safety nets in my lifetime. It came close with Bernie Sanders. He is the only hope I am aware of.
>It seems to me that any effort to fight poverty through political means is extremely indirect. The $1 you spend on, for example, campaign contributions, is going to pay to win an election first...
These are all good points which apply to most candidates, but it should be pointed out here that Bernie Sanders undermines them. It's very difficult to support candidates. We desperately need a modern electoral process which limits campaign spending (again, see other western democracies). Until then, you can probably count on Bernie Sander's campaign to appreciate and respectfully process your donations into political measures. His track record, consistency and refusal to accept donations from corporate/private interests offers thus-far reliable
>I hope I've shown that politics is probably the most inefficient method your time and money could be used to help the poor, and that helping the poor can be done effectively without touching politics...
Not in the least. Still open, but none of this was new to me. All pretty obvious.
Contrary to what you might expect from the name, a "nonprofit public charity" does not need to do anything to help the underprivileged. For instance, if the exempt purpose is "religious", and the organization does nothing but cater to the religious needs of its members and does nothing to help the "underprivileged", it is still a legitimate public charity.
A friend and I were talking recently about this tendency to offload the work - a very capitalistic approach (source: am a capitalist) - but you get a different kind of return on investment being present for and aware of the needs of those physically around you. That ROI might be measured in terms of mental health.
I had some down-time between jobs a couple of years back, and used it to volunteer at a charity to help out with some basic IT work.
There was some indeed an element of fixing and securing their WordPress-based website, and sorting out their AdWords campaigns. However, the vast majority of the work (by time, not by difficulty) was cleaning up crapware from Windows laptops, getting Dropbox to work correctly across their machines, and sorting out their software licences after they'd been screwed over by a shady ISV.
I have spent several years helping to organise and run a CoderDojo, and it has been a great way to meet new people, and you don't need a heap of technical people to run one, just one or two who can help with the really hard problems.
https://coderdojo.com/
And you just have to make sure that any charity you donate to doesn't eventually get revealed to have been a sham where the people running it were secretly funneling the money to armed militants without your knowledge because then you can go to jail for the rest of your life (unless of course your name is Reagan and you funnel arms directly to the militants yourself!)
Do something so that projects of the company where you work fail. This will offer some competitive advantage to companies elsewhere, probably one from the difficult place? That's the easiest thing you can do.
You can donate money but I don't think it works. You gotta teach a man how to fish. If you destroy your and your colleagues' fish, they'll be forced to buy fish from underprivileged.
- educate aspiring software engineers from other countries online by writing on your blog for free about software engineering topics
- in the long term, try to translate the content to other languages (maybe pay someone to do it)
- maximize your income and donate money to children's education in other countries, they need to have the chance to learn the English language in the first place to be able to consume all the free educational content and open source projects which can be found online
- if you put an educational course online for $99 to educate others about software engineering, think about developing countries where it's not possible to pay the $99 for a 5 hours video course, the price can be adjusted on a country base by something like PPP [0]
- [0] https://github.com/rwieruch/purchasing-power-parity
For example Blackbaud is the market leader in non-profit software, they just launched the cloud version of their CRM product. You literally Citrix into a VM and screen share with a remote machine via your browser. It’s that bad.
We’re combatting that. Raisely (raisely.com) is our first product. It gives charities great fundraising tools, for free. This year for every $1 we spend building or supporting Raisely, a charity raises $38. It’s a huge ROI.
We can’t get VC funding though, so if engineering is your thing and this sounds appealing - we’d love the help.
P.S. brave browser on Android just spins trying to view raisely.com.
Also thanks for the heads up I’ll have a look at what’s causing that.
As an example I am aiming to use my IT skills to bring development to the island of Haiti in the form of training for internet careers. The islanders are often given food (relief) but experts on the island point out that the biggest need is personal development so that they help themselves climb out of the hole. I’ve spoken with two missionaries to the island who are generally positive about my plan.
If you bring your skills and apply them to rehabilitation when development is needed, you can do more harm than good, no matter your intentions. So ensure you know which to apply, when.
If you are good Software Engineer, you'll be making good money and this is what the non-profits need the most: good old hard cash...
Find a worthy organization and donate, and spend your free time to better yourself and earn more to donate more...
Unless of course you you want to become a volunteer, leave your job and transition...
These are hard problems. There is a reasonable probability that your professional skills are not all that applicable.However, you are not in poor company. For all that Jimmy Carter can do, every board he nails together makes a difference in some family's lives.
Good luck.
The most well-known of these tech nonprofits are Mozilla, Khan Academy, Wikipedia. Some have come through YC, like Watsi and SIRUM.
At Fast Forward (org that I started, like a YC for nonprofits), we have a listing of some available tech-based volunteer opportunities on our website (https://www.ffwd.org/tech-nonprofit-jobs/opportunities/?_sft...).
For example, TalkingPoints (tool for teachers to text parents) is looking for a machine learning advisor. MindRight (text message counseling for kids who have suffered trauma) is looking for a code reviewer.
Your software engineering skills are incredibly valuable, and it's hard for nonprofits to find and afford quality developers. Providing those skills can greatly help others.