In my personal life, I am very inquisitive, and I try to contribute a maximum to free and open source projects.
Since I was 15 years old, I’m contributing to a few Mozilla’s projects, like the Firefox web browser, the Firefox operating system or the Rust programming language. I was a free translator (English to French), motivated to make the best documentation as possible, web and software developer, beta-tester, etc… and it was just awesome!
So, as I am studying software optimization and data mining, I applied for a data engineering job, in Mozilla, last month. I successed the first three job tests, but I _failed_ during the fourth test.
You certainly noticed that I used italic to talk about my failure.
That’s because I consider that this job application was a great experience.
Apart from the first job test, the selection process was pretty hard for me.
It first begins with 3 ridiculous tests on HackerRank (brackets evaluation, a compression test and data processing).
One hour later, I was able to talk with Mozilla’s employees, by mobile phone and video calls. During these 3 job interviews, I was very nervous and afraid. My interlocutors were a human resources management person, a Python and django famous developer (I read his blog since maybe 2 years now) and a statistics and data specialist (also the team’s staff manager).
The first contact was in phone - the mobile radio network wasn’t very great and I just listened 2 words on 3… Also, this person didn’t read my resume before the phone call.
The second contact was a friendly Python developer, who asked me some basic things about the Python programming language. I was very nervous, so I didn’t reveal my Python skills, so I was not proud of my performance this day…
The last video call meeting was with the team’s staff manager.
I answered to basic statistics/machine learning questions, but I felt into a Map/Reduce implementation problem in Java…
A particularity of these job interviews was to implement an algorithm (or a program) in Python or Java using… Etherpad!
Without the programming language documentation!
Even without a single console to test your Python code!
4 words to explain the situation: IT. WAS. JUST. AWFUL.
After that episod, I asked my friends if a developer had just to learn the Java and Python documentation to be a great engineer…
Really, I am not aware with this recruitment process. A developer who learn by heart the documentation is not a good engineer - just imagine the trouble when the API code he used has been updated… Personaly, I think it’s not a failure. I learned a lot of things about American job interviews, how they process in job applications and about myself.
I know that I have to learn a lot of things today - it’s ok, I’m just finishing my Master’s degree and I know that I’m not very comfortable with some machine learning methods yet - and that
I’m aware with that, and it was a great and stressful experience.
You know, before the last job interview, I was wondering myself about my future: to do a thesis or to work in Mozilla?
Now, I am glad to apply to do a thesis in Canada and to perform myself about software optimization, machine learning and software engineering.
Let’s try again in a few years…