Version control systems and code repository sites should be designed so that software developers can learn from the code inside them.

Developers need to learn how the systems they are working on have evolved. Traditional version control systems are optimized to efficiently allow developers to work concurrently. However, they do a poor job of animating the changes they store. An animated view of the changes can be used to tell a story of how a system has evolved. These stories are powerful pieces of documentation that promote understanding.

The Storyteller version control system and code repository service allows developers to work concurrently and tell stories about their systems. Learn more.

How do average software developers learn to become great?

Imagine you were learning to play chess. How much better could you become if you never had the opportunity to see better players make moves and explain what they are doing? These experiences are valuable and improve the learning process.

Programming is a relatively solitary activity. It is difficult for software developers to get inspiration from each other. Storyteller allows developers to watch and learn from each other. Less experienced developers get feedback from more experienced developers on how they tackled hard problems. They learn how great developers leverage good decisions and recover from bad ones. Learn more.