« Back to blog

Why Software Developers Rock (and Could Be Even Better)

Software developers are awesome. More specifically:

Software developers make significant contributions to the community for free - both free as in beer and free as in speech - which lead to Creative Commons and similar licenses which are growing in popularity across industries. Our forums (e.g. Stack OverflowHacker News, and hundreds of technology-specific online user groups) are some of the most meritocratic that exist today - for the most part, positions are attacked instead of individuals. These benefits come from a base of people who genuinely understand logic (and thus can avoid silly ad hominem attacks) and who are visionaries, always sharing ideas and watching out for the next big breakthrough.

Software developers are exceedingly generous. We do barcamps and hackathons to address global crises ala CrisisCamp, we help non-profits en masse through weekend pro-bono GiveCamps and through groups like Developers for Good. We're addressing worldwide healthcare needs through transparent, open-source projects like OpenMRS and improving local government through projects like CivicCommons and Code for America.

Software developers have built exceptional communities off of good ideas and a lot of hard work, but we've certainly never been fans of the status quo. We're always wondering - how can we get better? Individual software developers improve by picking up new languages, sharing their code through GitHub, or even by creating frameworks like Rails that dramatically improve the efficiency of others. The next step in that evolution is asking as a community, what can we do to collectively improve? Sure, we can say that since we're already productive it's okay to just keep on keeping on, but that doesn't seem true to our potential as individuals or as a community. It's also boring. Let's get more awesome instead.

Research shows that diversity is good business [PDF] and collaboration is the key to breakthrough creativity, so the next great evolution of the software community is to increase diversity. The true nature of our field is to seek optimization, to continually refine and improve. Broadening the range of perspectives involved in our work will fuel our ability to innovate as well as propel our economy. It will also increase the awesome.

It's rational, if not empathetic, to hear the buzzword "diversity" and think - why does it matter if the ratio in programming doesn't represent the greater population? Why more diverse, rather than just more? Software developers are rapidly becoming the gatekeepers for global knowledge-sharing and connectivity. Computers permeate our lives - shouldn't the community of people who control them be as innovative and yes, as representative, as possible?

Fran Allen, the first female recipient of the Turing award, summed it up quite well in an interview with Peter Seibel for Coders At Work,

It's such a transformative field for society as a whole. And without the involvement of a diverse group of people, the results of what we do are not going to be appealing or useful to all aspects of our society. A piece of our challenge is to make computing, and all that it enables, accessible to everyone. That's an ideal.

So, my beloved software developers - the state of our industry isn't about yelling or blaming or terse 140 character twitfits - we are way too awesome for that. What we do have, though, is a clear opportunity to improve. In order to grow and improve as an industry, we need to engage more diverse minds in software development.

A few ways to capitalize on this immense opportunity, and improve our field:

  • Continue above stated awesomeness by writing great code and using your skills to improve the world
  • Encourage anyone and everyone you know (and even those you don't know) to get involved in software development
  • Mentor an aspiring developer on your next side project (perhaps a Girl Develop It student)
  • Seek simple ways to make your work more accessible to non-expert users (e.g. add dreaded Documentation)

Feel free to share constructive ideas for engaging more minds in software development in the comments or by contacting me directly.