I’ve been experimenting recently on building tools to help programmers coordinate effort in new ways. While thinking about my core design problems this evening, I decided to calculate a rough estimate of the world’s development capacity in terms of raw source code produced per day.
- 18 million software developers
- 60 WPM – average typing speed per developer
- 2 hours – time spent in a flow state per developer per day
- 4 TiB HDD costs $116
- 5 bytes/sec – maximum output bandwidth per developer
- 35.2 KiB – maximum contribution per developer per day
- 0.59 TiB – maximum global contribution per day
- $17.10 – Cost to store all of our productive work each day
Software is eating the world at an average rate of perhaps 7.5 MB/sec.
A source code “blockchain” of *all* of our productive work completed each week would fit on a single 4 TiB HDD. Within 10 years, we’ll be able to store the combined output of roughly 6 months of work on a single consumer drive (assuming ~100 TiB capacity and little change in productive output per day). Now, I’m not saying that we can fit all of the derivatives of that work on a single computer, but in terms of raw text produced per day, it seems quite doable.
What this means for our productivity is an interesting thought. With our bandwidth to the computer being so low, it seems obvious that we should be constantly looking for ways to leverage and learn from the work done by others. Github, Stack Overflow and Slack are steps in the right direction, but I think it would be awesome if we had a global source code pool. I image such a system would provide a collective heartbeat of the development community. What do you think?