Coding for Public Service

CodeHS helps high school students learn to code by working with schools and providing high quality instructional materials and tutors.  They are collecting a bunch of stories about people coding for their jobs, "Coding in the Wild," with the goal of getting students interested in programming.  Here's what I wrote for them.


Growing up, I never thought that I would be a computer scientist or that I would be working on health data.  I wanted to make the world a better place, and I thought that everyone who did that worked in politics, medicine, or law.  However, I always enjoyed computers, so I tried taking a computer science class in college, and I enjoyed how creative it was -- in my assignments, I wasn't just crunching numbers or writing a paper, I was actually making something new!  Since I enjoyed programming so much, I decided to make it work and find out what the connection was between computer science and social change.

After talking to a bunch of nonprofits, local governments, and social enterprises, I found that pretty much everyone needs more computer scientists.  That's great for me since I am interested in social change considered broadly rather than just one part of it.  That means that whether I want to work on public health, education, the environment, international development, social justice, or something completely different, I'm sure that I'll be able to find a good job in that field with my skills as a computer scientist.

I've taken advantage of that flexibility to do some pretty cool things.  When online courses were starting to take off, I made a course on using Unix.  I worked at Google's Engineering Education team on a programming language for kids, diversity outreach, and tools internal to Google.  When the Affordable Care Act was in jeopardy because of the failure of, I joined the fix it team to make a streamlined user interface and a new login system.  And now, I'm at Nuna Health, where we work with Medicaid and employer sponsored health plans to make health care higher quality and more affordable.

One of the reasons that you can do so many different things as a computer scientist is because studying computer science isn't just learning about a couple programming languages.  It's learning how to solve problems efficiently.  It's learning how to write code that is easy for other people to read and maintain since software engineering is a team activity.  Really, it's learning how to think systematically and how to learn.  So, don't worry too much about the specific programming languages or technologies you're using when you're getting started as a computer scientist -- you'll probably get the chance to play with more before too long!

I'm incredibly thankful that I was lucky enough to stumble into computer science.  It has opened countless opportunities for me, and it has been an effective tool as I try to make the world a better place.