Ask HN: Improving the world as a software developer

88 points by pogotc ↗ HN
In my day job I’m a web developer who has spent the best part of the last 10 years writing software to help sell tickets to arts venues and extract as much money from the customer as possible, it’s not a noble way to earn money but it pays the bills.

I recently started wondering whether I could use my programming knowledge and experience for something better, something other than trying to extract money from rich arts lovers. For the moment I’m stuck at that job but it got me wondering if there are open source projects for things that actually help people. I stumbled on https://hollieguard.com (sadly not open source) recently and it was a reminder that as software developers we have the ability to make real, positive, differences to people’s lives. I’m just not sure where to start.

63 comments

[ 4.7 ms ] story [ 64.0 ms ] thread
There's no reason you can't combine the two and create some for-profit service which serves an honourable purpose in the grand scheme of things. The guys who created e.g. JustGiving did exactly that.
If you are willing to change jobs, look at AgTech startups in general, and FinTech startups that are targeting the developing countries. All those have needs for front end devs (and mobile devs).
i have a hard time believing fintech startups targeting developing countries are going to help improve the world. or any fintech startup for that matter.
M-Pesa could be considered fintech that has improved matters for millions of people.
How are you at teaching? Local elementary and middle schools are starved of good tech help.
I can't tell from the site, but are these volunteer projects full time endeavors? Or is this something that you commit a couple hours to every other day?
It's usually part time work for social issues. It's focused on the UK at least from what I saw, but there are other opportunities available. Might be revamping some php software or writing something from scratch.

And this might range from consulting on software architecture to systems administration work. I haven't found my combination yet. But there were some pretty interesting things on there.

Thanks, I’ve signed up for that, that’s exactly the kind of thing I had in mind
While it's less immediate than starting or working for a non-profit directly, you can have a surprisingly big impact by creating useful devtools and other tech infrastructure (whether OSS or for-profit).

At EnvKey, our configuration and secrets manager has some amazing non-profits like GiveLively and charity:water as customers, as well as some great mission-driven for-profit companies like Lambda School and Seneca Systems. It feels great to know that we're helping them to help others more efficiently and securely. We have other devtool customers too, so we're also helping them to help others to help others... and so on :)

It's the whole "area under the curve" idea--instead of having a very visible, direct impact by, say, working for the Gates Foundation, another option is to play a small but important role as an enabler for many others, and this can still add up to making a big difference overall.

You could work as a software developer in the public sector. There is a desperate need in many countries to improve digital services for citizens.

Or, you could have side projects that improve people's lives. I have built software that helps developers build accessible websites, software for adding subtitling to videos and software to help memory institutions archive political debate in social media.

You can get started right now.

To improve the digital services for citizens you'd first have to be in a position to initiate or convince your superiors to convince their superiors (and so on) to initiate an investment in an improvement. Then wait for about a decade to actually see anything happen.

You don't just show up there all like "if we rewrote this portal in react with all these patterns here (which are really cool, I promise) things would be better for the citizens" and then do just that.

tl;dr if you want to improve the state of public sector software, you're better off entering the domain as a politician rather than software developer.

Sadly, where I live investment into gov/public IT services is done, even a big one, but the product is of very low quality. Money gets diluted and the real work is done by unskilled programmers based on bad specifications.
Hi,

I have similar feelings where I really don't do good things at my programming day job.

I see a lot of the evils of the world as systemic issues caused by capitalism and globalization. I've been chipping away at the seed of an alternative system https://opensocialism.com

Wanna help? :)

Working on the issue of open source verified voting systems would help protect democracy, but the amount of actual coding needed is small compared to the amount of advocacy, lobbying, and marketing needed to get the word out.
I interviewed with 18F/USDS and they seem like they fit what you are looking for (assuming you are in the USA, which may not be the case). They work on modernizing the US government programs. Lots of opportunities for you if you are willing to move to DC, some if you are senior and are willing to work remote.

More here: https://18f.gsa.gov/

(comment deleted)
A friend of mine who has repeatedly sought to help out impactful non-profit initiatives over the years jumped from Google to 18F and he is really glad to be there. He has always leaned towards those interests and while he enjoyed some experiences at Google, he has never been interested in making a lot of money and I know he relishes the challenge of solving not just technical problems but also organizational improvement challenges in what is a stereotypical slow-moving bureaucracy! He would invite any interested parties to keep an eye on openings and apply to join 18F. I always think of it as a sort of Delta Force for the government.
I'm afraid to ask, but do 18F and other likewise government "startups" pay well? Most government jobs relating to programming seem to be limited by the GS payscale.
They are limited by the GS payscale.

> 18F team members are hired for specific position descriptions at a specific grade level from the federal general schedule (GS) (excluding SES positions). The GS system is a pay system for civilian employees in the federal government; evaluation and compensation varies by grade level. The qualification requirements for each position at a specific GS level are based on education, background, accomplishments, and experience. The specific requirements will always be listed in the job posting. Salaries of federal employees are public information, and your salary may become publicly available...

> The annual salary cap for all GS employees is $164,200 per year. You cannot be offered more than this under any circumstance.

More here: https://18f.gsa.gov/join/

You're lucky, in my software development career I've been automatizing other people work so they could be fired. It isn't so directly, but is really what happens after some years. Selling art tickets is a noble work.
Automating other people's work is improving the world quite a bit, if maybe only indirectly - you're now setting those people free so they can do something else instead! Though of course it's better to automate yourself out of work as much you can, because no one knows the relevant tradeoffs better than you.
If mitigating climate change is your thing, look for opportunities to contribute to these solutions:

http://www.drawdown.org/solutions-summary-by-rank

I would love to contribute to these kind of things, but unless I was missing something on that website, there were no links to jobs/careers. Do you happen to know of a list of companies that hiring for climate change related fields?

Outside of the obvious Telsa/Solar City, I don't really hear about many companies that I could work for as a software developer who are tackling this kind of stuff (though I am sure they are out there).

Are you open to pursuits that don't directly involve programming? If so, three suggestions:

* CodeNation (CodeNation.org) - teach highschool aged kids in underserved areas how to code.

* GazaSkyGeeks (GazaSkyGeeks.com) - go to the Gaza strip and teach coding and mentor entrepreneurs

* Recoded (re-coded.com) - same as above but for refugees in Syria and Iraq.

I've done the first two - happy to answer Q's about them.

Do you want to help millions of kids around the world have better access to learning materials?

Info: https://learningequality.org/kolibri/ https://learningequality.org/ka-lite/map/

Demo: http://kolibridemo.learningequality.org/learn/#/topics

Code: https://github.com/learningequality/kolibri (Django + Vue.js, MIT license)

We're looking for full stack developers right now (see https://grnh.se/8b6e1d221) but happy to discuss how you can get involved with some of our other projects https://github.com/learningequality/

One option is to find a donor organization that's aligned with your values and get in touch with them to hook you up with one of their grantees. Small local orgs have a tough time with paying and retaining talent so you're likely to find some low hanging fruit. Not necessarily open source but lots of opportunity to have a big impact.
The article "What Can a Technologist do about Climate Change?" [0] by Bret Victor is one of the best things I've read in regards to this issue. Not only is it incredibly interesting but it's also massively inspiring.

If climate change doesn't take your fancy as a cause, 80000 Hours have put a lot of research into this list of the world's most pressing problems [1]. Maybe you would like to help tackling one of those.

[0] http://worrydream.com/#!/ClimateChange [1] https://80000hours.org/problem-profiles/

I'm sorry. I really wanted to read that article, but the website seems unusable in any form of web browser.
Op is getting downvoted, but I have to agree with him; the website is chaotic, but the font is directly painful to read (Chrome, Win10, HD screen).

It may look great on Mac, I don't know.

I once attended a talk about humanitarian aid during an ebola outbreak a few years ago in africa somewhere. My favorite part was when he went down the list of professions that could help out... from the obvious medical staff, to architects and mechanical engineers for building infrastructure (for building things like containers for storing contaminated feces), etc. He ended with "every kind of engineer can help. except software engineers. you're all useless".
I mean is that surprising? African countries need infrastructure, western countries need sw.
Nah, what they really need are crappy fisher-price laptops, one per child.
As with most users people don't know what they need. For example, in this situation, wouldn't a website to demonstrate what is being done be vital? Wouldn't the software engineer setup volunteer registration page? A donation page? Etc etc Wouldn't they benefit with some kind of database about the infected people? What help they already received and what not? Etc etc I think the whole aspect of software engineering is not understood yet.
Historically it seems to be the other way around - software engineers plunge in with ideas for how to help and wind up producing something unusable, because they don't have any experience with the problem domain.
The problem with software is it’s too effective! Do you need 500 developers hand writing Linux kernels so you can run computers? Nope just one CD needs to be posted.

Maybe the way we can help is keep building the services we build. If you contribute to wordpress you can help people in these countries, Indirectly, communicate.

Even working at Google providing free gmail, Facebook etc is helpful. Indirectly. Offering free plans of software as a service is another thing.

I work in an organization that creates software that enables people to do various parts of their complex work better and more efficiently. I consider creating software tools that create actual value to their end user as quite enough improvement as a software developer can.

Anyone can be compassionate. And smile. It may sound trite but that does create a bubble of positive feedback loop whenever you interact with people. That's the most straightforward way that I know of how anyone can improve the world around them.

I have a basically empty GitHub project if you want a goal and a lot of latitude on implementing a thing:

https://github.com/DoreenMichele/PocketPuter

The gist of it: I was homeless for several years and used the internet extensively to develop and online income, do research, have some kind of social life, etc. I run some websites to share info to help others do the same.

Someone suggested that having some code assets to make phones and tablets more useful to the homeless and pre-install links to those assets could play a part in promoting such solutions.

Good question. I was wondering the same thing a couple of years ago -- I'd been working at a couple of start ups and felt drained and uninspired by my work and wanted to make a difference. I found Code for America which has job lists for public-good technology work, and through CfA I found a company called Nava where I now work. Nava partners with government agencies to build better, more usable, and more equitable digital services to replace/improve services that fall short of what the public deserves, especially for under-served populations who most need them. We do a lot of work on healthcare programs and veteran's affairs programs.

USDS and 18F are also both great organizations in a similar sphere of work. There's a real need for software developers who want to do good to help design good services, improve existing ones, and rethink poorly conceived ones that don't do their users justice.

Nava: https://www.navapbc.com/ CfA: https://www.codeforamerica.org/

I've had my eye on Nava for a while. I applied last year but didn't get an interview. I just applied again - 2nd time's the charm, right??