Antonin Carette

Machine Learning Engineer & Software Developer

I have (not) failed

Posted at — Apr 27, 2016

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! Without IDE! 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 Etherpad is a really great place to code . 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…