Ask HN: What kind of jobs exist for Computer Scientists in social justice?

8 points by ff0066mote ↗ HN
Hello.

I am a soon-to-be college graduate. I've always been top of my (CS) class, but unlike all of my fellow classmates I won't be immediately jumping into an awesome job to get rich when I graduate. I know they won't actually be doing that either, but I don't even have the desire to do so.

Instead, I have a burning desire to work in a social-justice related field. I would like to help the world become a better place -- I know it sounds corny, but I do. I'm so frustrated with it right now I'm shaking. Nobody so far (professors, advisor, or parents) has been able to give me any substantive advice in this regard.

I'm college educated and I have a skill which is supposedly indicative of intelligence. I want to do some good with it. I would like to do a lot of good with it. Please give me advice.

17 comments

[ 2.6 ms ] story [ 47.1 ms ] thread
All of the organizations you admire have computer systems, and substantially all of them suck. So you've got that going for you. Word to the wise: they suck for a reason, and finding out exactly why they suck may not be a pleasant experience for you.

You're wonderfully fortunate in that you have a skillset which scales to infinity and beyond. Many of the people who are doing things you think are important are working in the virtual stone-age. You can alleviate that, and give them force-multipliers which will let them spend more of their sharply limited time/effort/money on stuff that matters and less of their time/effort/money on doing largely worthless things in inefficient ways.

Feeding the poor: worthwhile! Inventory management which relies on having a woman with a graduate degree count cans and tally them on paper: waste! Human factors which make eliminating her 'job' sound like you are attacking 'the cause': substantial!

Did you have something particular in mind when you said that "finding out why they suck may not be a pleasant experience" for me? Or, did you simply mean that such work would not be easy, ie. because of human factors: "This is how we do things here! Why do you want to do everything with computers?"
something particular in mind

I do, but I felt it might be impolitic to spell it out. Let me try: say we have this company that makes widgets. People who want to make widgets go get jobs at this company. Many of them love their jobs and it is a great place to work, especially if you love to make widgets. Their departments expand, recruiting more people to make widgets, and people to manage people making widgets, and people to raise funds to manage the people making widgets, and people to promote the people who raise funds to manage the people making widgets, and people to track the progress of the people who promote the people who raise funds to manage the people making widgets.

Note that in this hypothetical company, you don't really need to be making widgets at all, if you're sufficiently skilled at raising money.

As to what relevance this has for organizations you care about -- oh look at the time, I have to go attend a status meeting.

Like you, I've tried to volunteer at places that I thought were doing good, only to find they weren't really interested. It may seem crazy, but most non-profits and other social-justice-minded orgs are not interested in efficiency or IT investment.

Competition drives efficiency and non-profits aren't really competing with each other that way. Even if you got a job in the field, you'd be supporting a number of nice but computer-phobic people who aren't interested in scaling their efforts. And that's the best case scenario. The worst is... well, consider that non-profits live or die based on how well they communicate with donors; achieving things is often a secondary goal. If you think that going into "social justice" is a way to stay more pure than your commercially-minded classmates, think again.

That said, there are a number of places doing real good where CS skills would be welcome, and are awesome places to work. One of them is my employer, the Wikimedia Foundation -- we support Wikipedia and its sister projects.

http://bit.ly/WikimediaJobs

Watch this space: more jobs are likely to be posted in the coming months.

You might also try:

The Internet Archive - http://www.archive.org/about/jobs.php

Tor - http://www.torproject.org/open-positions.html.en

Stats. Lots and lots of stats. Get good at doing number crunching on big data sets using hadoop, R/incanter/etc and learning how to derive meaningful and defensible insights from all of the public data that is floating around out there. Pick an org that suits your interests and see if they need help with general computer systems stuff while you work on a side-project that will impress them. If you are good at it and this particular skill set interests you then you will also have a wide range of jobs to pick and choose from if you decide to go into the private sector.
Stats, wonderful. I deplore math. Your advice is interesting and highlights my major shortcoming.

I've heard the idea to "work on a side-project that will impress" your desired future employer many times around the HC site. Is that the entrepreneur speaking, or are you offering that seriously? I have to learn their business backwards-and-forwards before I can independently produce something which NGOs may find universally useful. I guess I have to start small to go this route.

I was never much into math until after I left university and now I am constantly kicking myself for not finding the small little subfields of math that I now find useful and interesting. You can get a long way in stats with a pretty basic understanding of how it all works; a lot of what you might do here is the sort of stuff that you can pull out of intro stats books -- you are not going to be writing the stat anaysis code, you just need to know when and how to apply it. You would probably also be well-served by learning a bit about visualization and how to present quantitative information to a lay audience.

Do not aim for a side-project that will be universally useful to all NGOs or even to one NGO, aim for a side-project that someone in a position of authority will think is cool or which can serve some small facet of the organization. Think mashup or something small like a heatmap that shows where most of the volunteers/donors live, etc. Don't solve their big problem as your side-project, solve some small problem that can be used to show them that you are capable of solving the big problem (if they hired you to do that task, for example.)

If you're among the top in your CS course, then you probably have the skill-set needed to excel in technology-related fields and (possibly stereotyping here) may not necessarily be able to directly apply your skills to whatever good causes you're passionate about.

Get an awesome job to get rich then use your money for whatever causes you deem are important.

Your cause maybe the most important thing in your life but that doesn't mean you can't also enjoy a challenging job.

Which technology-related fields are you referring to, or are you just speaking in general terms?

>> "...may not necessarily be able to directly apply your skills to whatever good causes you're passionate about."

I'm hoping there's a niche.

Why do you assume that "jumping into an awesome job to get rich" and "help[ing] the world become a better place" are mutually exclusive?

I'm not sure what you mean by "social justice." If you mean it in the sense of ensuring equality of outcome, that's a path shown to make things worse for individuals and the societies in which they live.

If you're using the term to mean social-welfare, then join the Peace Corps, go to africa. Use your education and skills to make the distribution of resources and aid more efficient. Or start a company that links resources, aid, capital to those who can make use of them. Or take the best paying job you can find and send the disposable part to those in need. Don't avoid getting rich, it's the best welfare program we've got.

My apologies. I didn't mean to imply that getting rich and helping the world are mutually exclusive.

By "social-justice related field," I meant I do not want to work in a job where the ultimate purpose is power, profit, or "customer satisfaction." Rather, I would like to work where I am in some way (hopefully more direct than indirect) helping people exit the poverty cycle, helping to survive diseases which are already a non-issue in developed countries, helping to end human trafficking, etc. Obviously, some of these tie more closely to Computer Science than others.

You were on the same page as me when you thought of resource/aid distribution systems. That's the only idea I've come up with for relating social justice to this field.

Education: Making education cheaper and more effective to more people than ever.

Health: Tools, apps, and services that make providing healthcare cheaper and effective throughout the world.

Energy and Environment: Tech, tools, apps, services that help increase access to reliable electricity and/or help save the planet

Food: Take your pick from growing, distributing, health, or environmental impact. Scalable solutions that provide healthy food, at low cost, to everyone, while reducing the food industries environmental impact are desperately needed.

And more...

The problems are complicated and global, and they require creative and elegant solutions that scale. Help solve these problems and you can help make the world a better place and get rich in the process.

How about this place?

http://www.palantirtech.com/government

You say you hate math, so they may not be right up your alley, but worth a shot.

Seconded. I have a friend on the inside and it's a terrific job. Not only full of insane perks but they do a great job. There is actually a game-demo of their software, somewhere on the website. FWIW it's actually one of if not the hardest interviews in the valley. Above and beyond google/facebook
It's hard to find advice on this because no one really knows. You're getting into relatively unexplored territory.

One thing you might consider is applying for Peace Corps (or some other volunteer development agency). What you end up doing may or may not be directly connected to CS, but it will put you into an environment where you're dealing with application of specific knowledge to practical situations. Think of it as a social justice internship. You get good professional networking out of it too.

There are a huge number of things you could do, what's more important is finding something you're passionate about.

If you want to work on the US west-coast I'd recommend biotech and cleantech, also have a look at places like Google.org.

If you'd be willing to work in a developing country then there's lots of things you could work on. Corruption in particular is something that's often being tackled by computerization (by taking humans out of the loop, or by automating checks on them), for example the computerization of land records is taking place in quite a few countries. Don't underestimate the impact something like that can have, read Hernando de Soto's The Mystery of Capital if you want to understand why.

Mobile development is something that's having a major impact in developing countries at the moment, things like mobile banking are huge in Africa because they allow people who would never previously had access to bank accounts to gain access. Information systems are also transforming economies, the fact that a fisherman can now know what the market prices are in the major city (often several days walk away) means that not only can he tailor what he fishes to maximize profit but it also means that the dealer (who buys fish from him and sells it in the major city) can't rip him off by lying about market prices. The Economist had a special section on this topic a few months ago which is worth reading if you find this interesting.

Also have a look at the Grameen family of organizations, they've come up with a lot of innovative businesses and non-profits in developing countries.

If you're want to be more entrepreneurial there's pretty much opportunities in any area you can think of. So I'd recommend just reading around various problems and find something that strikes a chord with you.

One of my interests is social mobility, and from my research I found a major factors that prevents social mobility is that children from less priviledged backgrounds often get little or poor careers advice, so as one of my side projects I'm developing a website which tries to tackle that problem.

If you want to help people and make money at the same time I'd recommend having a look at self-help web/mobile applications, as there's a lot of potential in that area.

On a more general level you could consider the problems charities, ngos, etc have and how you could tackle them. In some cases the answer could be something as simple as taking standard enterprise software (CRM, ERP, task tracking, etc) and making versions designed for non-profits.

Think about the more general problems non-profits have as well (try volunteering for a few or talking to some volunteers to get ideas). From my experience non-profits often suffer from poor organization and management, how could this be tackled ?

Handling volunteers is also a major issue, if volunteering has a high barrier it puts people off from volunteering. Think about ways of reducing this (perhaps an open source approach where people can "check-out" small projects, distributed call centres that let people volunteer on an ad-hoc basis, a mechanical turk for volunteer work, etc).

As you might be able to guess I've spent a fair amount of time thinking about this sort of stuff, so feel free to email/msn me if you want to talk about it !

On a slightly different note, if you're not sure about what to do, I'd recommend figuring out what skills you're weak at and improving them.

If I was in your situation right now I'd probably think about working as a consultant for someone like McKinsey or Deloitte which have strong NGO links (both through alumni and philanthropic consultancy work), where you could get exposed to a lot of companies and non-profits and develop your problem solving and people-handling skills at the same time.

Too many developers only see the "small picture" which prevents them from being able to make a major impact, being able to understand wider issues as well as pure tech will go a long way in making you better able to tackle your goal.