What it's like to be a Software Engineer at Joko
At Joko, Software Engineers have an atypical and central role. We want them to develop the same skill set and entrepreneurial mindset as CTOs who are starting their own company. They all work on a wide range of subjects and technologies, without specialization and with full ownership.
Valentine, our People Operations Manager, interviewed Alex, our CTO and co-founder, to make you discover what it is like to be a Software Engineer at Joko.
What is your team currently working on?
We are currently spending a lot of time on the development of our web browser dedicated to shopping, which is becoming the core component of our mobile app. We have recently shipped a lot of key features for this browser, such as the ability for users to use Google to shop on any website and get automatically rewarded by Joko, or the ability to save products in a wish list for instance. There are still a lot of things to develop in order to have a browser that has world-class capabilities, just like Chrome or Firefox. We also want to add many features that will power the shopping of our users even more, through exciting developments that have not been announced yet. Implementing some of these elements requires long-term R&D efforts. For instance, we must be able to recognize key elements on any website and transform them in real-time to do what browsers usually don’t: adapt to what the user wants, not to what the merchant wants.
What are the different roles in the Engineering team?
We want people in the team to be as versatile as possible and to have enough knowledge to work on any type of subject rather than being focused on a specific domain - for instance, we don’t have team members who are solely dedicated to frontend issues, or DevOps questions. Our team members have a very broad range of skills, and are able to develop new features or new products from A to Z. Our training program is focused on this aspect: we want software engineers to develop the same skill set as CTOs who are starting their company. Today, the organization of the team is very flat and we want to keep it this way as we grow - we want to favor autonomy and ownership over more vertical approaches.
What are the typical steps of a software engineering project at Joko?
We give complete ownership to all software engineers on their projects, and we do it as early on as possible, by giving new team members complex features to release within their first few weeks - for instance, a team member recently shipped the ability to dynamically manage the content of our landing page less than a month after joining. Team members will be responsible for their features from their design to their deployment in production. First, they work in close interaction with the product team to go from a functional spec to a viable architecture. We take this phase very seriously: we prefer thinking twice to losing time later on. At the end of this process, software engineers come up with a technical spec (or design document) that they will implement themselves from A to Z. Of course, you always work in close interaction with your colleagues, who are here to answer your questions or for pair programming sessions - and we don’t hesitate to team up for the most complex projects. Then, after the code reviews and the QA process, that we take very seriously to make sure we always ship best-in-class features, software engineers release their code in production and monitor its impact on the end users together with the product team. Being able to follow the life of our features from beginning to end is very rewarding and gives us a deep sense of impact.
What are you looking for when you are hiring new team members?
We are not looking for people with very specific programming skills, for instance people who master a specific language or a specific framework, but for people with very strong engineering skills, able to solve complex problems and to conceive advanced systems in autonomy. We favor profiles with the ability to learn quickly and with a real curiosity for new technologies over people with more experience but no willingness to go out of their comfort zone. It doesn’t mean that we don’t have experts in the team - we have team members with extensive knowledge of the technologies we are using - but expertise is not a requirement when you start. We think that everybody can become an expert of our subjects with proper training. Learning is one of the core values of the company: we have a strong onboarding process, we organize a lot of internal training sessions, and give every employee a yearly budget so that they can attend external trainings and keep growing in their role. We have seen people who specialized in machine learning during their studies become very versatile software engineers, or people with a background in high performance computing become experts in mobile development in no time.
Creativity is also very important for us since everybody in the team is spending part of their time working on R&D subjects, such as the real-time analysis of web pages that I mentioned earlier. Finally, we are also looking for people who will be able to grow with Joko, people with the potential to become the pillars of the company we are building, and for people who are interested in discovering the diverse challenges of a fast-growing company. Team members often have the opportunity to work on cross-functional topics: for instance, people from different teams recently worked together on a project to evaluate Joko’s carbon footprint.
What makes engineering at Joko special compared to other companies?
We are a relatively small team compared to most companies at the same development stage and it’s a choice. We set the bar very high and strongly believe that an excellent software engineer can replace tens of average profiles. We have always been inspired by stories like the one of WhatsApp that had only 55 people in their team when they were bought by Facebook with 450m monthly users. As we speak, the whole product and tech team has only about half a dozen members - yet, we have built many ambitious products in record time. For instance, first versions of our web app and our in-app browser were both developed in less than a month. Our recipe for success is that we never pressure ourselves to make the team grow at all costs and make sure that the talent density increases at every hire. Today, we have exceptional talents in the team, like Alice who did a PhD between Paris and New York in Computational Quantum Physics and contributed to complex C++ libraries, or Ron who founded a startup backed by Y Combinator in the US before joining the company.
How did the Covid crisis impact the organization of the team?
The Covid crisis represents half of our company’s lifetime (we’re only 3 years old) and had a deep impact on the way we work at Joko. Before the pandemic, we used to work remotely only from time to time. With Covid, we had to close our offices for a long time and learnt that not only could we perfectly work remotely, but that we also could hire new team members successfully without necessarily seeing them in person. We have completely changed our remote policy since then to become a company 100% flexible regarding remote. Today, some team members are working in full remote, in Bordeaux, Aix-en-Provence, or London for instance - and for those who want to come every day to the office, we have nice offices in the heart of Paris. It is still important for us to offer the opportunity for people in the team to see each other: we organize frequent drinks, a yearly offsite, and we also have weeks where team members can work together from rental houses throughout France.
What makes you get up in the morning?
Building a team of incredible talents. And taking part in a very ambitious adventure that aims at radically changing how your web browser handles e-commerce websites to power your shopping experience. I am deeply convinced that with technical innovation we can build an all-in-one shopping app that profoundly transforms the way people shop online and makes their experience smoother and smarter, from discovery to payment.