Six months with Adevinta
A junior frontend engineer talks about his experience of joining Adevinta
By: Alex Mir, Junior Frontend Engineer
What’s it like to join the Adevinta tech team?
Ever wondered what it’s like to join a big tech company and work in an international environment? In this article, I share my personal experiences of joining Adevinta as a Junior Frontend Engineer. Previously, I’d worked in an agency and at a startup at the Minimum Viable Product (MVP) stage. My original training was as an Architect-construction Engineer, so I’ve had a complete change of career. If you’re thinking about becoming an Adevintan and want to know what to expect, this article is for you.
Hiring and onboarding
Hiring
The first contact I had with Adevinta was at the beginning of November 2021 when the outsource HR manager found me and put me forward for a mid-level Frontend Engineer role. Over the round of four interviews, we figured out that I didn’t fit that specific role.
Despite the fact my level of knowledge wasn’t quite enough for a mid-level role, I didn’t feel disappointed or overly criticised after the interviews. During the process, the mindset of the interviewers was more like “you’re the specialist, tell us how you do the magic.” Not like in my native country where it’s much more “we are specialists, we’re not sure you’re up to the job. Good luck with changing our minds.” So, this positive approach was new to me.
After several months, the HR manager contacted me again with news of a new junior Frontend Engineer role. The second interview process was way faster since the company already knew my background and skill set. So, I just had a product interview and a team interview and was happy to receive a job offer.
Onboarding
The onboarding process involved:
- Receiving the new hardware — MacBook Pro, monitor, magic keyboard, touchpad, dock station, web camera and android device for testing (since I have an iOS one)
- An introduction to company departments
- A tools and technologies briefing
- A “greet the team” meeting
- Setup of the product and third-party tools
The international environment was something new to me and I was quite worried about my English and the cultural fit. I needed a lot of help and additional explanations to get up to speed. However, as part of the process, I had been attached to an onboarding buddy. This was really helpful and after he answered all my questions, I felt fine about everything and he could step back. I found the onboarding scheme great. It enables you to clarify the essentials without ruining the first impression with the rest of the team.
I was also lucky enough to join when several teams handed over their projects to one new team to maintain. So I got to experience creating a completely new team and educating ourselves about the product and tech sides. My teammates created a lot of specific events to support the newbies and made professional presentations for them with recordings.
Communication culture
Since I am from Western Europe, I will compare Adevinta’s working communications with what I’ve experienced in previous companies. I’m pleased to report that there are a number of highlights.
- In particular, I’d say “being nice” is an unspoken job requirement because everyone I have met so far is supportive and non-critical, which is new for me.
- The company is quite diverse and each of us is super careful about other people’s feelings and expressions.
- Feedback is always kind, highlighting strengths and weaknesses and focussing on a plan for improvement. This helps to avoid anxiety after any failures.
- Your free time is also respected so you won’t be messaged outside of working hours. The team is proactive about making this work. For example, before a team member took a long holiday, our manager spent enough time with them to ensure there was a comprehensive handover and that person could have a peaceful holiday.
Our working vertical
So, what’s it like working in a chapter vertical (chapter) of 137 people, within a company of thousands? I’ll share a few points that stand out to me. For starters, the company lives its key behaviours — something I really believe in. They are:
- Act for max impact
- Use your voice
- Grow through different perspectives
- Win and lose together
- Experiment bravely
Within our chapter and the wider company, there are many positives to how we work together. We have cross-functional teams of two Frontend Engineers, two Backend Engineers, two iOS engineers, two Android engineers, an Engineering Manager, a Product Manager and a Designer.
Product decisions are made consciously by teams and with enough discussion for everyone to be comfortable — at Adevinta, your opinion matters more than your role. To share experience across teams, we have non-mandatory sync meetings. There are also retrospectives — not a favourite with everyone, but I like them. I’ve also discovered that even if I don’t personally know a specific person from a vertical, they will still be happy to help me.
On the more social side of things, there are company events to enjoy. I’ve been to dinner in a restaurant, tried some online wine tasting and attended a pride event. Personally, I’d like a few more team events too. We can attend lectures on subjects such as diversity and anti-discrimination. Plus, there’s the option of remote work. Finally, little unspoken rules, such as turning on the camera when there are only a few people on the call, help to keep us in sync.
Development culture
Great:
- Architectural Decision Records
- A lot of attention to web a11y
- Biweekly Frontend Guild sync to share our experience
- Code reviews must be done by two other developers — usually the code owner and feature owner
- UX > DX
- Weekly tech sync to share important updates
- Different documentation for the codebase of the web, iOS and Android
- Documentation for the product
- 87% of the code is covered by tests — unit, integration, and end-to-end
- Keeping a finger on the pulse of metrics for performance
- Keeping a finger on the pulse of metrics for errors
- Open discussions about our current issues and challenges
- A clean code base with no big legacy code is always hard to maintain, but most decisions are made with purpose
- Each developer I contact is super passionate about what they’re working on
- Even though I’m in a junior role, I’m invited to the architectural discussions which I find useful, though I might not understand everything
- Best of all, team leaders are supportive even if you make a mistake and always come to support, not to judge
Team Leader: “This is your first task”
Productions after my deployment:
There are a few areas where I think we could improve:
- No common convention around repositories about their descriptions and title
- Use cases of not-that-important but deprecated methods like <Fragment></Fragment> in React without up-to-date ADR about it
- Unstable CI/CD causes delays in delivering the features
But we’re working on it.
Technologies
I am working on a vehicle retail marketplace, Kijiji Autos. The product is relatively young, so most modern patterns and tools are used like functional components, TypeScript (TS) and fitted frameworks. The product is in the process of TS migration and, although it will take a year to migrate, all the effort will be worth it.
While the product is only a few years old, it’s already huge, so the business is ready to spend resources on this very technical improvement. Since not all Adevintans are familiar with TS, our first configuration for it was not strict. For example, developers were allowed to use the “any” keyword everywhere. But the rules for TS are often changing and the use cases for “any” are decreasing. We plan to get rid of created ones for the next step of the migration.
Also, migration to newer technology is a background process that doesn’t interrupt delivering features as well.
Zero bug policy
I joined when the whole vertical adopted a zero bug policy. In short, it means that the whole backlog was restructured and only critical or blocking bugs were identified, and the rest were recategorised as improvements. Once they reached the zero mark in the product, they announced that each new bug gets the highest priority and should be resolved ASAP. Also, it is important to have a convention about what to evaluate as a bug.
Management as a service
In my previous experience, my manager controlled our work with micro-management and rarely helped us. It took ages to explain what we were doing, how we were doing it and why it was important. It was especially challenging that the managers didn’t have an engineering background engineers before they became managers. 😭
At Adevinta, the situation is completely different. Most of the tasks are created by the engineers themselves because they are improvements or suggestions to rethink decisions; the rest are features or epics from product management or principles. So, all of the work is based on the trust the company has in you and your ability to deliver the features, just like it was during the hiring process.
During my one-to-ones with my manager, we work on my career development and I am encouraged to drive this and set career goals for myself, rather than have goals set for me. I would call it soft leading and facilitating my direction. I’ve found an example that’s similar to our process in this article.
Learning opportunity
Adevinta encourages personal learning, giving you a budget for conferences, courses, books, etc. Also, once per quarter, we have Innovation Days — three whole days of trying something new. For example, you can spend it trying to create an MVP, pitch it to the whole chapter and even get a budget for if it‘s an idea worth exploring further. But just learning and being a spectator during those days is fine too. You don’t have to be a participant.
Conclusions
We all know this exciting feeling of a new job which might disappear in a month or two. After six months I can say that I’m not losing motivation, or curiosity in my work which is super valuable, especially for me. I want to work here, I want to collaborate with other teams and I want to improve the products and the processes we are working on.
When I reach retirement, I may name another company as the best company I’ve ever worked at, but for now, I can confidently say that I’ve never worked with such passionate professionals in such a good working environment, with such a modern tech stack.
I will keep you up to date with my achievements and failures. Stay tuned. 👋