Position Spotlight: Senior Front-End Engineer
Today we’re sitting down with Mo, Senior Front-End Engineer, to talk about his move from Cairo to Berlin, his daily tasks, and what motivates him to build new features.
Could you please introduce yourself?
My name is Mohamed. Everyone calls me Mo. I’m originally from Cario, Egypt, and I moved to Berlin 3 years ago.
What made you want to pursue a career in Engineering?
Before I was an engineer, I was working in media, but I didn’t really enjoy it. My first job was something in between engineering and media. I was promoting a website.
At one point I decided to redesign the website to make it more appealing, and that’s when the interest was sparked. Engineering sparked my interest because I could start from nothing and then build something that people actually used and relied on. From that point, I started learning by myself, researching technology, and then I became a Junior Engineer at the same company.
How did you find GetYourGuide?
I felt like my career wasn’t progressing as fast as I wanted in Egypt, so I decided I wanted to seek more challenges, seek out companies who are interested in the customers as opposed to just technologies. I focused my search in Europe.
The motivator for me to apply to GetYourGuide was the same then as it is for me now: travel. I’ve always been obsessed with traveling. It’s quite difficult to travel around in Egypt. To work with a company that actually specializes in travel with the sole goal of finding things for people to do while traveling was very interesting for me.
How was the transition from Cairo to Berlin?
There was definitely a lot to grasp in terms of how to live here, how to find an apartment, how to actually go places without knowing the language. But after a few weeks, it became easier.
I like Berlin. You can find anything you want here. It’s Friday and you want to go to a concert? I can assure you there is a concert. You want to go to a play, a cool restaurant; there’s always something to do. It feels like a very open city, very cultural. It’s a very international city, it feels like no one belongs to one specific country or culture.
What is your role at GetYourGuide?
I’ve been working as a Front-End engineer since I joined GYG. I’ve been involved in several teams always working on the customer-facing website.
Can you please give us a brief summary of what your job entails?
My job extends beyond just writing code or building things. Besides implementing features, a big part of my day is spent decision-making with the team: coming up with ideas for features to release, coming up with ideas for experiments, and discussing with the team how to implement these experiments.
I also frequently participate in ideation sessions, where the whole team comes together and brainstorms on a specific problem we know we want to improve. If someone feels we need more ideas in a specific domain, then this person can raise the issue and organize the ideation session. During the brainstorm, we come up with as many ideas as we can, we discuss, and then we prioritize them. Then, of course, we actually get to work on them.
What Mission Team are you on?
I am on the Attractions Experience team and our mission is to make it very smooth for customers who land on the website with the intention of booking a ticket for an attraction.
A customer is traveling to Paris, she’s always dreamed about visiting the Eiffel Tower and she wants to get a ticket. So, she lands on our page, and the questions we’re trying to answer are: What does the ideal process look like? What products do we show her? What content will help her select the right ticket for her needs?
How are Front-End Engineers distributed across mission teams?
Teams receive different resources based on the needs of the mission. If the mission is heavy on the implementation side or the feature side, it will have more engineers.
Our team has 2 Front-End Engineers. We have a Copywriter because we work a lot with Content. We also have a Designer, a Product Manager, and a Data Analyst. We all serve the purpose of the mission. Engineers can also move mission teams based on their interest and the need in other teams.
How has your role changed since joining GetYourGuide?
In the beginning, it was less responsibility, but the more I grew, the more I found myself stepping forward to own things because I found specific topics that were more interesting to me individually. For some people it’s a technology, for others it’s a specific feature.
One feature I really identified with was the booking widget. It’s something I spent a lot of time on and put a lot of thought into.
Focusing on that specific feature helped me approach the same problem in different creative ways. Since it was all through experimentation, there was no right or wrong answer; it was up to the customer to decide. The feeling of owning this line of experimentation made the efforts a lot more enjoyable. I remember actually being on vacation, checking the daily results for these experiments and getting excited about the next steps.
How would you describe the team’s working style and dynamic?
We use a Kanban board which allows us to quickly pick up tickets and pass them along the pipeline. We like Kanban better than sprints when doing experiments or releasing a lot of features in a short span of time because we’re allowed to extend or decrease our own capacity as much as we want.
The whole team is always involved in decisions, and we aim to have the minimum number of meetings necessary to decide on things. We managed to minimize all meetings into two meetings per week where we decide on bigger topics.
During these meetings, everyone is allowed to criticize, promote, or encourage. We like to have very open communication. We have retrospectives and are encouraged to give direct feedback.
How much time do you spend working on mission-specific topics vs. engineering topics more generally?
Most of my daily tasks or what I think about during the day is on the mission. This is where most of my work lies. But at the same time, I’m also involved in deciding the technology future of the front-end of the company. This brings a lot of discussion with other front-end engineers.
The Guild is where I work most closely with the engineers from other mission teams.
What is a Guild?
Recently we started these groups called “Guilds”. You belong to a Guild that does the same thing you do. So, there’s a Front-End Guild, there’s a PHP Guild, etc. For the Front-End Guild, we make decisions on technology we should be embracing: how to assess the technology and how to come up with a plan for implementation.
How do you assess the different technologies?
We build a prototype. We start with something small, gain learnings, and then it snowballs from there. Then we start implementing it on a bigger scale. As we introduce technologies, we assess them through building prototypes. We don’t want to use a technology just because it sounds cool, we want to make sure it actually works for us.
What is the most challenging aspect of your role?
In the beginning when I joined, it was the technologies. I had a lot to learn. But now it’s the customers: how to understand them and how to build something they will find useful.
It’s very easy to think in your head that some feature is 100% what the customer wants, but then we test it, and it’s absolutely not what the customer wants. It’s difficult to find the balance between thinking up ideas and features and actually building them in a way customers like. This is the challenge my team and the whole company face: to build something customers truly enjoy.
What is the most rewarding aspect of your role?
Whenever something actually works for the customers. When I build something and then look at the data and see it’s really working, it feels great. I feel like I’ve really built something useful.
Our customers rely on GetYourGuide to find and book things to do in their destination, and it’s my job to make this smooth and reliable for them.
What advice would you have for someone who would like to work as a Front-End Engineer at GYG?
Don’t expect to spend all your days writing code. You will write code, you will build very cool stuff, you will be challenged a lot on the technical side, but that’s not everything. We try to use technology as a tool not as an end. The challenge is to think like a customer.
If you like traveling, if you actually like to explore things, then you will love it because you will actually be helping others like you to explore.
What is your favorite thing about working at GetYourGuide?
I like the culture that nothing is actually set in stone, there’s no process coming from above that everyone has to follow. Everything is able to be questioned.
For example, if you feel you have too many meetings, you can stand up, provide reasoning and a suggestion and then make a change. This actually happened on my team.
It’s the same with technologies and methodologies. You’re allowed to criticize and present improved concepts. You never feel like just a machine writing code, you feel like you’re part of something, like you’re owning something.