Featherweight Musings

Thursday, February 09, 2012

Tools and the Mozilla shark tank

I've been at Mozilla for a month now, though it hardly seems like it - time has flown by. I've been too busy to blog, although I'm really only starting to get to grips with things, so I don't have much to blog about.

This is my first time working on large-scale software, and on open source software, so there has been a really steep learning curve. One area where I've been learning a lot is tools. A lot of the tools I'm using I've used on small scale projects, but using them on Firefox is a completely different game (Visual Studio, Mercurial, the debugger, IRC). Other tools are totally new to me (patch queues, shell scripts, make) and/or Mozilla-specific (MXR/DXR, try servers, Mochitests, Reftests, Mozilla build system, Bugzilla, Firefox web-dev tools, nevermind a whole bunch of Firefox debugging/testing stuff).

Coding on Firefox is different from anything I've done before. At the moment, the biggest difference is my level of output - I write far less code then I'm used to, and spend a lot more time reading and comprehending existing code. I quite like it, I feel like I'm doing detective work, rather than software development :-) Hopefully, I'll get more productive as I know the code better. Getting to grips with the code-base is made easier by having some really knowledgeable and helpful people in the office and on IRC. On the other hand, there is no formal training/introduction to the code-base or company (yet, apparently). To be fair, I knew what I was letting my self in for: I asked about it at the interview and was told that Mozilla has a 'shark tank' approach to new hires - throw 'em in and see who survives - as Mozilla expands, they are trying to change this.