This website uses cookies. By using the website you agree with our use of cookies. Know more

Culture

From student to Engineer: my journey as a FARFETCH Plug-In

By Pedro Caldeira
Pedro Caldeira
Usually, the guy making music and debating disruptive tech (sometimes simultaneously). Still waiting patiently for a Carhartt sponsorship.
View All Posts
From student to Engineer: my journey as a FARFETCH Plug-In
On the 12th of October 2020, I started my first day in the FARFETCH Plug-In Graduate programme. Still in the midst of finishing my Master’s Thesis (I delivered it safely on October 31st), I was convinced that someone had made a mistake in hiring me, since I knew very little about Front End and this was my first job ever. Fast forward to seven months later, I know a little bit more about Front End (and, surprisingly, Back End and Web Security too!), I have made great friends and I feel like I have the necessary tools at my disposal to help me grow and become a good Software Engineer. 

However, this short journey was not as easy as you might think.

The beginning of my journey

My first days were interesting, to say the least. I remember being both excited and nervous about the prospect of starting my professional career. Nevertheless, the fact that we were in the middle of a pandemic meant that everything would be done remotely which made me slightly less nervous than I would have been otherwise.

All throughout the first two weeks, we received a lot of information about the many quirks of this immense company and technological ecosystem. Although I managed to grasp a part of it, there was a significant chunk that I couldn’t fully understand. 

Being my first job, I thought that I was the only one in this position and that it would simply be a matter of time until I was fired for not knowing what I should. However, that didn’t happen. Instead, I was approached with the utmost kindness and assurance that even the most senior engineer didn’t fully understand the whole platform due to its inherent complexity and dimensions. And this assurance made me understand that it doesn't matter if you don’t know everything. It matters whether you are willing to learn and understand your surrounding environment, whether it’s the tech stack or the way each section of the platform works. And I think that this truly represents FARFETCH’s way of embracing the human aspect of technology. 

Being a Plug-In, I had a set of different privileges. In my experience, the most important one was to be assigned a mentor. Since my team always likes to go the extra mile, they decided that I would have not one, but two mentors! These two Farfetchers were key to my development both personally and technically. From day one, they always showed availability to help me out with virtually anything. Whether it was a problem with software setup (personally, I tend to be terrible at this) or a question about the inner workings of farfetch.com, they always supported me. Paired up with this, I also had a set of "Plug-In Goals”, which guided and tracked my progress in a more palpable way. 

My first initiative

After the initial weeks, I was already somewhat familiarized with the company, however, in terms of tech stack, I still had a lot to learn: If you would ask me to draw the FARFETCH platform, I would simply draw a (very) large rectangle, write "Farfetch website” inside it and draw a stick figure (to represent a user) and a couple of arrows connecting both objects. My team realized that and did something that to this day I still appreciate: they gave me a full-on initiative to work alone. An initiative is essentially a term to define each step of an engineering project, from the gathering of requirements up until the delivery of a new feature and is composed of a set of tasks (or stories). By working on this initiative alone (Back End and Front End), I was able to go deeper into the tech stack that FARFETCH uses. And although I have always been more inclined to Front End Development, I found that Back End Engineering is as interesting and compelling. 

Looking back, the initiative was quite simple: Brazil signed its version of the GDPR data protection (LGPD) agreement and as such, we were required to show Brazilian users a cookie management banner. But being a newbie, questions like "where do I change the code?”,  "what do I need to add?” and "what is life?” filled my mind on a daily basis. However, my team was always ready to help me out by taking time off their schedules to make a quick video call or draw me a quick doodle. 

Slowly but surely, I finished the initiative and although it took me a long time to do it, I felt that I’d learned very valuable information. With its completion, I gained a new perspective of how the inner workings of the FARFETCH website looked like. At that moment, if you would ask me to draw the FARFETCH platform, maybe my drawing would look significantly more complex, with a rectangle for the Back End and another one for the Front End, with smaller rectangles inside them with some of the micro services and perhaps a couple of rectangles to represent the APIs that we use. This drawing would still be somewhat rudimentary but it would show growth and a deeper understanding of what’s at play. 

My present and future steps

7 months later, I am now able to draw a more complex version of the FARFETCH platform and although it still isn’t the most accurate representation of our massive website, it shows my development as an engineer in this company. And I believe that besides having an infinite desire to learn and an excellent team, what helped me evolve was what the Plug-In programme provided. Whether it was two fantastic mentors or a green pass to fail, without this programme, I wouldn't have been able to reach the point I’m currently at and I wouldn’t feel as comfortable as I feel with asking questions that sound easy or unimportant. 

I still believe that I don’t know enough about the Front End technologies that we work with or our architecture and as such, I will keep doing my best to absorb every drop of knowledge that I possibly can. At the time of writing this article, I’m working by myself on the Front End of a new initiative and I’m still trying to learn as much as I can every day. 
The people that I’ve met so far have told me to "do what’s never been done before”, so maybe I will try to do exactly that. In the meantime, I’ll keep drawing the FARFETCH architecture time and time again and hopefully, with each iteration, I will be able to create an exponentially more complex and detailed version of its architecture. 
Related Articles
MOBCAST: Routing at FARFETCH
Tech Events

MOBCAST: Routing at FARFETCH

By Carlos Corrêa da Silva
Adept of the Software Craftsmanship movement and passionate about Extreme Programming. Loves coding iOS and wearing The North Face.
View All Posts
Francisco Amado
Francisco Amado
Every bit of problem sparks his curiosity. Tries to automate all the things. Keeps it minimalist with a pair of Vans.
View All Posts
View