Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Improving the world as a software developer
88 points by pogotc 65 days ago | hide | past | web | favorite | 62 comments
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.

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

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

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??

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.

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/

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.

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.

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/

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/

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.

> You have 80000 hours in your career. How can you use them to make a difference?




If you are in the US, find a local chapter of Code for America: https://www.codeforamerica.org/

I've been thinking about this quite a bit lately as well. I run a software consulting firm (business automation, process improvement, etc.) and have been looking for ways for our company to utilize our skills for good. We could contribute in the ways that many companies already do (I put my employees on a bus to go paint a school or clean up a park and hire a photographer to make sure that it's of some PR value), but I think that we could do much more by aiding charitable organizations with certain high-impact software projects.

For example, This American Life did an episode about refugees in Greece and discussed how they need to continually dial a single phone number to register for an entrance interview (if I remember correctly) (https://www.thisamericanlife.org/592/are-we-there-yet). This was all done via Skype, so everyone had the ability to access web apps, and a single all-encompassing web application could have significantly reduced the time that these people spent in refugee camps (so long as other political forces didn't get in the way, etc.).

If you're interested in working together on something like this, I encourage you to email me at cj ^at^ oscillas.com.

Two things.

Some people would say that helping art venues stay viable is respectable/nobleish.


Go find a way to help your neighbors near you.

IMO, there is no amount helping theoretical people/users that will motivate you as much as helping one person IRL.

Basic modern life is extremely complicated for half of the people in your town. Motivating someone, even a little bit, can material change the trajectory of their life. Big Sister/Brother, career counseling, social services counseling.

How are you at teaching? Local elementary and middle schools are starved of good tech help.

I am or actually was in a similar situation as you. I grew tired of developing software just for the sake to earn money (selling things, improving conversion rates, booking systems, etc.).

Eventually I ended up only applying for jobs which would enable me to work on something which actually could or will make a difference or I cared about. Was hired in the end (even found very few positions available in those spaces). You have to decide for yourself what things you care about to support and then find businesses or companies in that area which currently hire someone with your skill set. I admit there is a bit of luck involved, but should be possible if you are living not in the middle of nowhere or find remote positions.

Keep also in mind that this does not necessarily mean good pay (but should be decent at least) or a good company culture in the end. But I think this is the same risk you would take with any job.

There are plenty of options and ideas out there to work on your spare time to improve the world and its society. It's just a matter of thinking which areas you feel you could have had something better and you didn't. In my case, me and 2 friends realised that when we were younger and students, we had a lot of questions and ideas but we didn't have a place where we could discuss or people with experience to get advise from (we are from latinoamerica). Today, as we are the people with experience, we created a mentorship platform for latin-americans, where people like we were before, can join and ask for advise and learn from more experienced people. This is our way to try to improve the world. site: https://oraculi.io

Have a look at https://www.hotosm.org/

A good framework for looking at careers and figuring out if your best trade-off is to do your occupation as a direct way to make the world a better place or to make your living and then donate money to make the world a better place can be found in the book Doing Good Better: How Effective Altruism Can Help You Help Others, Do Work that Matters, and Make Smarter Choices about Giving Back by William MacAskill. In many ways, it is the best career planning advice I have ever seen in any book, and I'm applying for myself and encouraging my four children to use the same planning framework.


I had gone through a similar thought process a number of years ago. The best move I thought to make was to work at a startup promoting culture, arts, and fashion (this last one I wasn't so keen on). Ultimately the startup failed but I kept on working at startups always being mindful of what it produces which has recently been online photo sharing and mobile communication (not social media). Doesn't seem like much but it was a step up from ad-ops or forex.

I was also wondering about volunteering on the side with my skillset and there didn't seem to be a way to do this. Most orgs just want donations and they'll get the work done rather than interact with ad-hoc part time help. Interested to see what other options this thread gets.

I work in bioinformatics in academia, and it's really hard to get good software engineers. Academia can never pay as well as industry, but we do get to do interesting work that leads to new scientific discoveries and medical knowledge...

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


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.

Founder of a YC non-profit, SIRUM, here. We and most of the other non-profits that have gone through YC all have open sourced our software development.

It's a small group of tech focused startups (we have all mostly done fastforward.org and DRK Foundation as well) so we all know each other well and you really can't go wrong, just pick one where you like the mission and shoot them an email.

Good luck. The world needs more people like you!


Is this list up to date? I couldn't tell if it only went through 2016 because it was behind or because that's the most recent non-profit funded by YC.

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.

Your best option is probably to make as much money as you can without being evil and donate a ton of it to Givewell[0]-approved effective charities. Givewell is a group that analyzes charities to determine which ones do the most good per dollar. The best ones are mostly initiatives to treat and prevent tropical diseases in Africa.


Most of my work as a software developer is for the better of humanity - which i'm lucky to do, but straight out of university it was my goal. I started a wee company that delivers stroke, dementia, autism therapies and we'll be branching out to our own products. Interestingly, I had a similar idea drawn up for Hollieguard - looks like I may not have to build it now.

If you're interested in any work, message me.

Donate some of your salary to an effective charity. You don't have to get another job, but you have found a way to use software to convert the money of rich art lovers into saving lives.

You could do worse to find a charity than starting here: https://www.givewell.org/charities/top-charities

Check out this open source project - Humanitarian Toolbox

Link - https://github.com/HTBox

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

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.

If mitigating climate change is your thing, look for opportunities to contribute to these solutions:


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

Maximize the amount of money you can make at your job and then use it to find others doing hands on work. There is no shame in that and it allows you to best leverage your hard earned skills to best attend to the needs of others.

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.

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.

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.

It doesn't need to be software related in particular.

e.g. You buy stuff off amazon - use smile.amazon.com instead...exact same thing except 0.5% donations paid by amazon

Small incremental bits can help too

Have a look at Call for Code: https://callforcode.org/

Help organise tech workers to build political power and influence how the future will look:



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? :)

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact