Coding Together

Any stupid can write the program that computer understands but only good programmers write code that humans understand.

- Martin Fowler

Collaborative Development

In popular culture, coding if often portrayed as a solitary activity; something done by hooded wizards in confines of their (or their parents) basements. Open-source development, however, often involves many people working together, with all the benefits, and messiness, a group of people brings.

There are technical needs for working together, such as the ability to discuss software performance, report bugs, share and review code, hold development discussions, etc. These are well met by the github platform. The harder issues, however, are related to people: maintaining a synchronized project vision, resolving conflict, and motivating a group of volunteers. To help address these issues, developers should follow general guidelines which foster respectful, productive, and rewarding online development cultures.

In this model we discuss both basic collaborative features of github and guiding principles which facilitate effective collaborative development.

Overview

In this module we will:

  1. Discuss github’s Issue, Pull Request, and Code review features
  2. Review Code of Conducts and common principles

Reading

Additional Resources