My first 2 weeks at Mozilla
My First 2 weeks have been good and bad. I will start with the bad.
My original project was to convert a bunch of tests from Mozmill, Mozilla's Javascript test runner, to Marionette, their new Python based runner. I was excited. I would be able to put to use a lot of efficient algorithms that I've learnt over the years, and go all out. Sadly, that won't be the case.
Project Changes
So now my project is a bit up in the air. Everyone at Mozilla seems to be super busy as my mentor hasn't even had a good chance to give me the details on the new project. Either way I am looking forward to it. I am happy to be in an environment with such smart and bright individuals. I observe how they work and am learning to ask less questions. Weird, but questions can be problematic, especially too many questions. Google is becoming my best friend again.
All in all I will write a post next week detailing the new project!
Life of a dev
Within these 2 weeks my mentor has showed me a lot about how the workflow of a developer is always changing but has a few key principles.
- Fix it if it's broken
- Ask the RIGHT questions
- Don't be afraid to do extensive research on the question you have
I'd say these cover quite a few areas but I'll explain.
Fix it if it's broken
With my current bug that I am very very close to finishing I ran into a few conceptual problems that caused some misunderstandings.
I am a Java dev. I learned Java after C and initially loved it. I still do have a soft spot for it even now. However, this last week I was requested to edit what is known as a Concrete Class, or a Parent Class. Now to me, this was forbidden. I looked for every way to not have to edit the class, but there was no way to be found. I eventually had to ask my mentor and he told me something interesting.
My mentor said my logic was right. He said the fact that I am thinking in an OOP (Object-Oriented Programming) way was very good. However, he said to do what I was told as the final say. So now the Parent class ended up to be a little broken, but it was a relatively easy fix when I asked the right question.
Ask the RIGHT questions
Continuing on about the bug I am working on, asking the right question helped me to see what needed to be done. I was getting a very cryptic Javascript error, that my mentor eventually helped me figure out. Turns out the way the class was written was broken! So now I had to figure out why and fix it.
Not knowing much about the entire project, a lot of research was done, as pointed out above. It turned out to be an easy fix, especially with python. Now my test runs great and anyone who needs to run that method that was broken will never run into problems with it. It was quite empowering knowing that I had just fixed a very important class, and that many developers after me will be able to use it just fine!
Wrapping it up
These first 2 weeks have been eye opening, and awesome at the same time. I know this next week coming up will be awesome and I can't wait to see what's in store for me!