This presentation was done at the 2008 FSOSS at Toronto's Seneca College where I graduated with a degree in Software Development. In these slides I describe my journey from student to open source contributor to future Mozilla employee.
First Year SenecaBSD Student Minimal coding experience – self taught HTML Returning student with life experience – 10 years of art and road trips combined with odd jobs Coming from the arts and activism communities – lots of experience with group process and collective work No awareness about open source
3.
Meet your FutureIn 2006 some Mikes and one other guy give a talk @ Seneca before FF2 release Developing for the open web looks like fun Sounds like anyone can join in (small # employees, big community) Impressive passionate community-driven model
4.
Beating around thebush Club Moz speaks to my 3 rd semester classroom, encouraging us to come and play with Mozilla code Terrible presentation, but still… This community looks like fun, how can I get involved?
5.
Attempt #1 Goto the Club Moz meeting See an extension in action This is interesting, but not the right fit Do a local build and help with a CSS doc project, but eventually interest wanes – no real hook-in with the Mozilla community Attempt #1 = FAIL
6.
Attempt #2 Classmatewho did Mozilla internship tells me about QA Get a Litmus account Do test days and bug days Learn a bit about filing bugs, searching bugzilla, meet a few Mozilla employees on IRC Testing is tedious and interest wanes Attempt #2 = FAIL
7.
Attempt #3 SumoLiveChat Support Get a Spark account Volunteer for LiveChat support while I should be doing homework There are good moments when you actually help someone, but it ’s a stressful burst of time and often I can’t help Attempt #3 = FAIL
8.
Attempt #4 Finally3 rd year rolls around and DPS909 is an option ( DPS909 is the promised land for Mozilla involvement – it’s a course all about Mozilla dev) Lots of labs on building extensions, making patches, working on a real Mozilla project I get a bug of my very own: Bug 395310: Mozilla needs a source and symbol server Attempt #4 = COMPLETE SUCCESS
9.
Quotable Quotes “Pick something you don’t already know how to do” - Dave Humphrey
10.
Add Source Serverto the Symbol Server There ’s so little I know how to do, how to choose? Source Server stands out – I ’m told this will help a lot of developers Mentor is Ted Mielczarek Project tracking in wiki
11.
Going Deep SourceServer has practically no documentation Google doesn ’t turn up any success stories It all depends on Microsoft binaries I ’m in way over my head
12.
There ’s alight Ted is an excellent mentor Trial and Error works eventually By the end of the term, there was a hack working locally 0.3 release = success
13.
DPS911 – SourceServer 1.0 Second term is all about taking it to the finish line Lots of cleaning up, fine-tuning Learned how to work with Python Committed my first patch Got offered an internship with Mozilla for the summer
14.
Mozilla Internship –the Short Version At first I ’m to work with QA Then Build Then UnitTest, as part of Build Then it ’s not clear What will I be doing this summer?
15.
Start Slow Gettingaccess to the Build machines is not to be taken lightly Everyone brings down the system once, right? Learn Buildbot, VMs, setting up Build environment Automating setup, making the build machines consistent and identical Learning more Linux, and in ways that are memorable
16.
Then someone handsyou the baton Robcee (my mentor) moves on to Firebug Now I ’ve got responsibility for UnitTest This is the deep end Answering questions, being assigned bugs, learning who does what – in double time Meanwhile, I ’ve got buildslaves to herd…
17.
Summer’s Over Aswell as becoming versed in Build setup and buildslave environments: All the Unittest machines have been switched from the QA network to the Build network Lots of streamlining, mothballing of old machines, UnitTest and Build are now all on the same masters (down from 10 masters to 2) 80% of the work is done towards future consolidation of UnitTests on Build ’s Buildbot master
18.
Continuing Work asContractor There will be one unified buildslave pool that all Build and Unittest builds will run on UnitTests should be able to be run on packaged builds so we may run them repeatedly on a particular build if needed Working towards making it simple and quick to start up a new branch Contracting this year while finishing my degree, starting full time with the Release Engineering Team in May 2009