For the first time ever, Badoo has taken on an intern over the summer. We see it as an act of giving back, supporting young students in gaining relevant work experience and skills, while enjoying the pace of working for a big company. This internship program is our contribution to the community, and a way to say thanks to all those who let us be who we are — from our loyal users to the developers who make the open source components we use.
Having an intern around the place also has an interesting side effect. A fresh pair of eyes on problems that face the full-time team can result in novel perspectives and new ideas that will force team members to move out of their comfort zones. Also, when you teach complex topics to a really junior engineer, you need to make sure that you understand the fundamentals clearly yourself. This pushes you to dig deeper and provide good answers to questions you might be asked.
In the end it is a win-win situation, with good results for all the parties involved. To demonstrate this, we’d like to share the experiences of Anton Terekhov and Joan Molinas, mentor and intern in the first Badoo Summer Internship Programme, in their own words:
My experience as an internship mentor, by Anton Terekhov
Mentoring a junior developer helps you identify areas where you could be stronger. The intern is assigned with a programming task, and will eventually face some problems that demand deeper knowledge of the platform. He or she will ask you questions that you should be able not only to answer, but also explain in a simple manner. This requires more reading and investigation, so being a mentor helps you to become a better developer.
During the first days of the internship you must help the intern through the company's onboarding process, demonstrating how to get all the resources and access required. Having worked in the company for some time, it’s easier to understand how to make this process quick and painless, and how to make a newcomer’s first days enjoyable and productive.
With a little time, the intern will start to understand shared best practices and learn how to produce code of the same high standard as the whole team. The job of a mentor is to explain the pros and cons of different approaches, and why the majority of the team decided on the one they implemented. This becomes especially evident during code reviews. From structure to naming conventions, everything is questioned, requiring a detailed walkthrough.
Being a mentor, you learn many new things. Technologies become outdated increasingly rapidly, and often approaches you’re used to are no longer the best ones. Interns are young and have only just started their careers, so they absorb new advances quickly, and adapt well to doing things in new and different ways. This will definitely broaden your view and add some techniques to your toolbox.
As a final note, it’s been a pleasure to see how a junior developer gains knowledge and how their code style becomes noticeably cleaner week after week. You see the intern growing as a professional, and you can be proud of your contribution to their training.
My experience as an intern, by Joan Molinas
“No matter how much you learn, there’s always more to know” — this sentence would summarise my internship experience at Badoo.
I started this adventure one month ago. Before I joined Badoo I was really excited about the idea of spending some time learning the tools and skills of the trade in a big company, but I couldn’t even imagine I was going to live all I lived during the last month.
I joined the company with a basic working knowledge of iOS programming and I saw how, day after day, I improved, thanks to all the hours the team has put into my training. I’ve learned many things, from basic programming principles to how to architect a complex application. I know that everything I’ve learned will be really useful to me from now on.
I’m also fascinated with the quality and dedication of the different teams that make up Badoo, and specially with the iOS team. Although I expected they would be good, I never imagined they would be some of the most talented engineers I’ve ever met.
This month I haven’t just learned programming fundamentals, as SOLID principles, graph searching algorithms or software design patterns, but many other skills related to the day to day of a big Internet company. For instance, I’ve participated in the recruiting process for many different candidates and I’ve seen how difficult such interviews are. I was lucky enough to cross the path of a really senior Product Manager, Pedro Mejuto, who taught me how to see software development from a really different perspective.
When my internship comes to an end, I’ll really miss Badoo. But now I have the motivation to keep on learning with the aim of returning some day as a fully-fledged iOS engineer. I’d like to thank Badoo for this awesome opportunity, and I’m very grateful to all and each employee for their kind, friendly and supportive behaviour. In particular my tutor Anton Terekhov, for all his patience, dedication and effort to make a good developer of me, and Rafael Lopez, who made possible everything I’ve just described, without doubt one of the best experiences in my life.