In 1968, Martin Conway noted that “organizations which design systems […] are constrained to produce designs which are copies of the communication structures of these organizations.”
Today that’s called Conway’s Law, and to quote Wikipedia:
“The law is based on the reasoning that in order for a software module to function, multiple authors must communicate frequently with each other. Therefore, the software interfaces structure of a system will reflect the social boundaries of the organization(s) that produced it, across which communication is more difficult.”
Like any metaphorically double-edged sword, Conway’s Law is either a dangerous hazard or a powerful tool; it all depends on which end you grab.
Over the last few months the Firefox Desktop Engineering team has been refining a two-week onboarding program for engineers who’ve recently joined Mozilla. Firefox is a big project with a long history and like Mozilla (and like the Web we’ve made) the codebase and the processes around it can be as clean, streamlined and brilliant in some places as they are confusing and weirdly baroque in others.
One upshot of that is that even for full-time employees it can be hard to know where to start.
So for the last few months we’ve planned and run a series of training sessions. The’re aimed at new Firefox Desktop engineers, to help get them from New-To-Mozilla to Awesome-At-Mozilla as quickly as possible. And they’ve been very successful, not just for new hires, but for veterans and people who work with engineers as well.
But we pride ourselves on working in the open, and we’d like you to be Awesome At Mozilla too. So we’ve put them on Air Mozilla.
Here’s Nick Alexander, taking people through their first Firefox build and bugfix in the Build And Go session:
(Video compression is incredibly unforgiving, when it comes to text. We’re working on that for our next round.)
Other sessions include an introduction to Bugzilla, JS and the DOM, C++ and Gecko, Architecture & Product and more. They’re available on Air Mozilla, in the Onboarding channel, and more will be added as we record them.
If you’re interested in learning about the nuts and bolts of how Firefox is built, structured and shipped, take a look.