Programming with Purpose

The responsibilities of 21st century developers

Jeff Smith
5 min readMay 12, 2014

The rising power of software developers in our society is a strange and momentous event. On one level, I find this nothing but a positive. Programmers, at their best, are people who spend an enormous amount of their working (and non-working) time attempting to build tools that will outlive their efforts, that are structured and documented for future extension. They want to build the future and care very much about how it’s built. Most importantly to me personally, programmers leave the door pretty wide open for people of any background to come join in the fun.

But CS is not PoliSci. Or philosophy. Or history. Your average programmer is deeply apolitical.

For a time, that was totally fine, but I think that time is passing right before our eyes. With stagnant to declining employment prospects for many professions, technology-fueled wealth concentration, and an-ever more automated life, we who code are having a real impact on the world around us. Not that many of us intend to have an impact, though, except in the very narrow Jobsian sense of making a dent in the universe. Most of the startup world is solidly focused on the problems of being twenty years old with cash on hand.

Again, I would say that this is okay, to a point. A developer is not a doctor, a teacher, or a firefighter. We build things that people want enough to pay for them. There’s no shame in this anymore than there is in being a truck driver, grocer, or garbage man. We provide a service (SaaS pun only slightly intended).

Doing more

But anyone who’s been paying attention lately has recognized that programmers can have a massive impact on the world. Hell, you don’t even really need to be a true dev to make a huge difference in the world. Most Valley interns could code circles around Edward Snowden, but he still fundamentally altered the nature of the American conversation around governmental surveillance and personal privacy. Want a more feel-good example? Fine, take Salamn Khan who, while admittedly a fair programmer, changed global education with little more than YouTube and effort.

These examples and many more make me think that developers can have a meaningful positive impact on the world around them. If the software community had an Uncle Ben, he’d have already sat us down and talked us through the relationship of power to responsibility. But we don’t have an uncle, so we’re finding our way, more or less on our own.

Bs are better than Cs

One of the most exciting developments in this space has been B-Corps. They’re a novel idea very much born out of many of the same social trends driving tech startups. Briefly, they’re businesses with a broader mission, a double bottom line. But B-Corps are very much not limited to just technology-centric businesses like Etsy or very image-aware ones like Warby Parker. All sorts of companies selling things ranging from ice cream to hiking gear are finding benefit in putting their money where their mouth is and signing on to have a positive impact in their communities.

B-Corps are certainly not trivial to pull off, as a recent post here on Medium describes. But I think that all sorts of startups pursuing frighteningly ambitious ideas could absolutely take on the challenge of building the next great B-Corp. I would love to see the day when hot Y-Combinator startups touted their devotion to improving their communities as much as they currently trumpet their dedication to the ethos of open-source software.

Similarly, I could totally see a B-Corp accelerator being tremendously successful due to the enormous positive selection bias it would benefit from. Paul Orlando’s recent book proposes that the way forwards for accelerators are various species of specialist accelerators that play upon the strength of their communities. This isn’t just a proposal, though. Paul and Steven Forte’s latest demo day for their AcceleratorHK cohort was hosted at just such a community minded place, the Good Lab.

Free as in beer

The astute reader probably was waiting for me to address the big elephant in the room, open source software. Haven’t programmers been pouring their hearts and souls into code for the benefit of humanity for years? Linux, Apache, Python, Git-the list goes on ad-infinitum. GitHub is a nearly infinite respository of free code for anyone and everyone to use as they see fit. So we’re doing our part, right?

I give that a big maybe. From my experiences with governments, non-profits, and just communities, they need the gratis sort of free code a lot more than they need the libre sort of free code. My feeling is that this situation is getting even more acute. The software job market is hot. Organizations with missions but not massive equity grants must be having a hard time finding sharp devs to come and take up their impactful but not profitable work. I mean, even Obama couldn’t find decent devs to write the website for his signature bit of legistation. Tough times indeed.

So, if your asynchronous tweet processing distributed queue project doesn’t count as coding for the common good, what does? Here’s a few suggestions:

Code for America

There’s lots of ways to positively influence your community by, you know, literally working on its behalf. Want a specific recommendation? Try the Consumer Financial Protection Bureau. They have a great mission and some real focus on how to use software to make it happen.

Teach what you know

Another exciting route that a lot of people are talking about is teaching software development. In particular, you can go into high schools, work with underrepresented groups, and try to give kids a powerful skill to address the 21st century with. My recommendation in this category is TEALS, but a minute of googling can turn up tons more.

Build better

If it wasn’t clear from my discussion of B-Corps above, my heart is definitely in this category. Having spent much of my adult life in the startup world, I know that so many startup people are optimists, makers, and self-starters. We get up every morning to go out and hack away at something that wasn’t even possible before.

People who are willing to take on space flight, sequencing the human genome, and solar energy can absolutely take on the challenge of building a better model for a business than a vampire squid on the face of humanity. We can help people make their dreams into reality. So what if some of those dreams are about cell phone accessories? The modern startup community is building the tools that will allow all sorts of organizations to bloom. But it is absolutely incumbent upon us to use those tools to help serve the communities we find ourselves in and the communities we reach around the world through the power of the internet.

Personally, I’m still coming to grips with what it means to me to be a developer who contributes through his code. Having talked through some of the ways that the tech and startups communities are having an impact, I’m still unsure of what this means for me. If you’re similarly unsure or you’d like to point me in the right direction, please hit me up on Twitter. I’d love to hear more from other devs trying to find a purpose in their programming.

--

--

Jeff Smith

Author of Machine Learning Systems @ManningBooks. Building AIs for fun and profit. Friend of animals.