Drinking from the firehose! Starting the Outreachy internship
Since my last post, it’s been a great start to the internship. I was really lucky to be invited to the Mozilla All Hands meeting in Orlando for the whole of my first week. All Hands is a biannual meeting that brings together all 1200 Mozilla staff from around the world. I was really pleased to be able to meet 3 other interns from Mozilla who were also there and was pleasantly surprised to find out that two of them had children and were returning to tech after having a career break. It was really nice to be able to speak to other interns and realise that we had the same backgrounds of taking non-traditional routes into tech, similar worries and act as a support network for each other. This continues on a day-to-day basis for the whole of the Outreachy winter cohort in the Zulip channel, where we can message and chat between ourselves, mentors and Outreachy team.
The first day of All Hands I attended the plenary, which was one of the most interesting parts of the week for me. This gave me an oversight into the strategy for Mozilla as a whole over the next year and I learnt about all the different parts of the organisation. It was a really overwhelming amount of information and I was told on numerous occasions to just “drink from the firehose!” Having taken part in All Hands and gained a greater understanding of the organisation’s work, I am even more committed to the broader mission of Mozilla. I attended a number of meetings and workshops over the course of the week, but also got to go on the amazing all staff trips to the Kennedy Space Center and The Wizarding World of Harry Potter!
Attending the meeting meant that I got to meet my mentor face-to-face and the rest of the DOM team. We were able to go through some of the basics concerning the work I will be doing and made sure I knew the first tasks that I would be working on. Although we had built up a great working relationship through the application process, it was really useful to have the time to go over things in person. I finished that first week feeling as though I was clear on what I needed to do and really excited for the next 3 months.
One of the first things I worked on when I got back was a feature for ReSpec, a tool for creating technical specifications and web standards. It can be quite frustrating and repetitive to write technical documents and ReSpec makes this much easier, for example doing the work in linking to definitions and references. This was the first time that I had worked with such a large codebase and it was very different to the projects I had worked on at my bootcamp where we had written all the code ourselves in teams. It took me a while to even figure out where the code was that I needed to work in! As well as refactoring the code, I had to write some tests in Jasmine. I was able to make a pull request and quickly got feedback on a number of changes that needed to be done.
As I worked on the revisions, at one point my tests started failing. I then entered a black of hole of trying to work out what was wrong with my tests, assuming that I had done something completely wrong and getting lost trying to figure it out. After a while, I then found that several other tests in that section (that I hadn’t written) were failing and at this point decided to bring it up with my mentor. I asked him to check if the tests I hadn’t written were running OK, and he had no trouble with them so I knew that it was something on my side. He really wanted to help me, but I felt more comfortable asking him not to worry and still trying to get on with it myself. Luckily he checked in on me later, and it just turned out that at some point I had forgotten one step in getting up and running (getting Babel to compile the code). I really learnt my lesson that day in not being shy in asking for help if I am really stuck. I spent quite a lot of time thinking I had done something terribly wrong in my code, but it was extremely simple to fix and I would have saved a lot of time if I had asked earlier. Also, next time I will double check that I’ve set everything up right instead of assuming that all my work is wrong and trying to troubleshoot that way. I missed the obvious fact that there would never be failing tests merged into the repo because i was so quick to assume what I had done was wrong. For anyone who is worried about asking for help, don’t be - your mentor will be very understanding and it’s part of the learning process.
Once that was solved, I was able to finish the tests and my work got merged in. It was a great feeling to have contributed to ReSpec and to have closed an issue with my PR!