Andrew Overholt: We held a Mozilla “bootcamp”. You won’t believe how it went!
|
|
Четверг, 24 Июля 2014 г. 00:33
+ в цитатник
For a while now a number of Mozillians have been discussing the need for some sort of technical training on Gecko and other Mozilla codebases. A few months ago, Vlad and I and a few others came up with a plan to try out a “bootcamp”-like event. We initially thought we’d have non-core developers learn from more senior developers for 4 days and had a few goals:
- teach people not developing Mozilla code daily about the development process
- expose Mozillians to areas with which they’re not familiar
- foster shared ownership of areas of code and tools
- teach people where to look in the code when they encounter a bug and to more accurately file a bug (“teach someone how to fish”)
While working towards this we realized that there isn’t as much shared ownership as there could be within Mozilla codebases so we focused on 2 engineering teams teaching other engineers. The JavaScript and Graphics teams agreed to be mentors and we solicited participants from a few paid Mozillians to try this out. We intentionally limited the audience and hand-picked them for this first “beta” since we had no idea how it would go.
The event took place over 4 days in Toronto in early June. We ended up with 5 or 6 mentors (the Graphics team having a strong employee presence in Toronto helped with pulling in experts here and there) and 9 attendees from a variety of engineering teams (Firefox OS, Desktop, and Platform).
The week’s schedule was fairly loose to accommodate questions and make it more of a conversational atmosphere. We planned sessions in an order to give a high level overview followed by deeper dives. We also made sessions about complementary Gecko components happen in a logical order (ex. layout then graphics). You can see details about the schedule we settled upon here: https://etherpad.mozilla.org/bootcamp1plans.
We collaboratively took notes and recorded everything on video. We’re still in the process of creating usable short videos out of the raw feeds we recorded. Text notes were captured on this etherpad which had some real-time clarifications made by people not physically present (Ms2ger and others) which was great.
The week taught us a few things, some obvious, some not so obvious:
- people really want time for learning. This was noted more than once and positive comments I received made me realize it could have been held in the rain and people would have been happy
- having a few days set aside for professional development was very much appreciated so paid Mozillians incorporating this into their goals should be encouraged
- people really want the opportunity to learn from and ask questions of more seasoned Mozilla hackers
- hosting this in a MozSpace ensured reliable facilities, flexibility in terms of space, and the availability of others to give ad hoc talks and answer questions when necessary. It also allowed others who weren’t official attendees to listen in for a session or two. Having it in the office also let us use the existing video recording setup and let us lean on the ever-amazing Jonathan Lin for audio and video help. I think you could do this outside a MozSpace but you’d need to plan a bit more for A/V and wifi, etc.
- background noise (HVAC, server fans, etc.) is very frustrating for conversations and audio recording (but we already knew this)
- this type of event is unsuitable for brand new {employees|contributors} since it’s way too much information. It would be more applicable after someone’s been involved for a while (6 months, 1 year?).
In terms of lessons for the future, a few things come to mind:
- interactive exercises were very well received (thanks, kats!) and cemented people’s learning as expected
- we should perhaps define homework to be done in advance and strongly encourage completion of it; videos of previous talks may be good material
- scheduling around 2 months in advance seemed to be best to balance “I have no idea what I’ll be doing then” and “I’m already busy that week”
- keeping the ratio of attendees to “instructors” to around 2 or 3 to 1 worked well for interactivity and ensuring the right people were present who could answer questions
- although very difficult, attempting to schedule around major deadlines is useful (this week didn’t work for a few of the Firefox OS teams)
- having people wear lapel microphones instead of a hand-held one makes for much better and more natural audio
- building a schedule, mentors, and attendee list based on common topics of interest would be an interesting experiment instead of the somewhat mixed bag of topics we had this time
- using whiteboards and live coding/demos instead of “slides” worked very well
Vlad and I think we should do this again. He proposed chaining organizers so each organizer sets one up and helps the next person do it. Are you interested in being the next organizer?
I’m very interested in hearing other people’s thoughts about this so if you have any, leave a comment or email me or find me on IRC or send me a postcard c/o the Toronto office (that would be awesome).
http://overholt.ca/wp/?p=456
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-