The Engineering Academy at TheFork
How did our up-skilling initiative take off?
One year ago, when I just joined TheFork, I brought in a new idea and made a proposal to the managing team in order to promote knowledge sharing across the organization. The initial plan was about to make our working environment a better place for technical experts: software engineers! In my humble opinion, they are often neglected in terms of up-skilling.
One of the reasons is that HR are often not technical enough to support career path of Software Engineers. The second reason is that the software engineering field is very demanding, such to steadily keep learning new stuffs. Another reason is that teams are bumping into situations where they do not have the appropriate skills, either because of technology evolving, or because they do not have the right knowledge or experience.
I believed launching an up-skilling initiative would bring positive change to the organization: making people feel we care about them, leverage people’s skills so that others can benefit from them. But also helping teams to improve their efficiently and enforce quality. And at last to get engineers up to speed when we adopt new technology.
How did it start?
After discussing with my manager and some colleagues, I was more and more convinced that we should move forward. As the direction and people at TheFork are quite open-minded to listen, care about people’s well-being, and had quality enforcement in mind, things went smoothly.
The first thing we needed was a success story. Luckily, a Principal Engineer and I had the opportunity to do a business trip to our team in Buenos Aires. With my colleague Laurent, we took the opportunity to deliver some training sessions there on Clean Coding, testing practices and DDD. And we used it as proof of concept for our proposal.
I then presented a formal proposal to the CTO and Engineering Directors,. They were happily very positive about the initiative and urged us to move forward. We then had to figure out our next steps, as thing needed to be tailored to our management style and to how people organize their day-to-day work.
The first step was a success, with a GO to move forward.
The movement had been kickstarted, and we now had to get more people involved and gain traction.
Who to involve?
From the very beginning, I thought it would great to build a core team and identify a few ambassadors to ensure we interact properly with local teams.
Note that TheFork is a multi-national company with most teams located in Western Europe, namely Spain, Italy, Portugal and France.
I then spread the words to engineering managers and engineers through management and guild meetings, and invited people to reach out to us if they are open to contribute.
We then built a core team with 4 people including myself, and have identified about 9 others willing to act as ambassadors.
However, the real challenge was not facilitating but the content.
The Challenge
The biggest challenge of all on the long run lies in delivering sessions for the living community of the Engineering Academy. We first needed to identify relevant topics. And then the speakers willing to produce and present the presenting material.
Besides that, we also need to communicate well to every engineer, to make sure they understand the mission of the Academy, what value we can provide to them and what they can do to help. So we built a Notion page for people to get access to the content: a summary of previous and upcoming sessions, recordings, prerequisites, etc.
The Mission
I know I repeat a bit myself, still I believe it’s important to have clear purpose and objectives:
To enable engineers to acquire the skills required to get the job well done
There are multiple occasions when this in necessary:
- When we adopt a new language, framework, tool or practice
- When a new joiner doesn’t master 100% of our tech stack
- When someone changes role in the organisation
- When the organisation takes the decision to change
- When our ecosystem evolves
And lately, we have set a second mission.
To foster our culture on technical innovation & excellence
What defines a topic we organise an Academy session about?
- Architecture, Technology and Design exploration tied to our field, e.g. a tool that we don’t use currently but might be important in the future
- Engineering practices we want all engineers to master, such as TDD
- Enabling change, following decisions we took e.g. Datadog training or presenting our new Design System
With clear missions, we can roll out our plan. But we need to structure our work and define severals concepts for better communication, as communication is key to make the Academy a success.
Concepts and Definitions
Each topic proposed to the Engineering Academy belongs to one of the following categories:
- Masterclass : is a presentation format to talk about fundamentals, the theoretical part of a technical topic.
- Banana : is a short sharing session. Within a banana, many things could be done, such as a simple sharing around an article like a tech watch or a ‘mate have you seen this?’. It can also be a kata or a presentation of one topic
- Workshop : an interactive session where participants are actors and contribute to make the session a workshop. A facilitator is still required to make sure things are moving on smoothly.
We also defined or leveraged the following concepts:
- SHU-HA-RI : describes the stage of learning to mastery:
SHU — Discovering — I want to learn more ;
HA — Up-skilling — I want to improve ;
RI — Mentoring — I can and want to teach or mentor others - Content : materialized content that provides knowledge for one to up-skilling on a specific topic. The materialized content could be just slides, article, guideline, video/recording, workshop, snippet or link to a repository.
- Session : is the event at a point of time, with a duration (typically 1h), animated by a speaker, using some material.
And recently, we started leveraging the 360learning platform to host learning paths and courses, where the content can take different shapes (slides, Notion pages, Github repositories, etc.).
How do we run it?
As a core team member, the recurring work that we have is quite simple:
- Inquire for topics to deliver session, via surveys and manager’s meeting, needs is are them filled in the SHU-HA-RI database.
- Coach public speakers, helping them to be more confortable and efficient in presenting the content.
We have defined a guide to help each speaker in preparing the presentation, and during the presentation. That guide includes :
- A timeline guide, from 2 weeks before the presentation date until the day following the presentation : review content, rehearsal, reminder, feedback, debrief…
- A checklist (before, during and after) : slides, sound check, communication, feedbacks, recording…
- Tips to improve slides: how to start, agenda, quiz…
Now that it’s been about six months return on experience, we have delivered 16 sessions with various topics:
- Investigating memory leaks
- Prometheus
- Node Platform 101 (our shared node.js libraries for backend microservices)
- Next.Js 101
- Docker 101
- React Native 101
- Feature flipping engine
- LaunchDarkly
- Kubernetes 101
- Temporal introduction
- Datadog introduction
- Enterprise Architecture @ TheFork
- Figma working with variables
- Working with Figma and dev mode
- Write code without if statements
- How about Serverless?
The onboarding for new joiners
As a bonus, we have re-structured, upgraded and simplified our onboarding process. We now have a 1 week initial onboarding session, followed by quarterly onboarding sessions.
The goal of this split was to find the right balance between managing the effort for speakers and more importantly setting the right pace for new joiners. They need to acquire the right information without being overwhelmed by information they’ll forget instantly.
We shortened some sessions, filtering out the less important content, and simplified the process. Our current onboarding experience is improved with a better focus on the most impactful content. That way, new joiners are up and running quicker with a toolbox of necessary information.
What are the benefits for TheFork?
This initiative provides quite a few benefits for the organization and to the people from the within.
As mentioned earlier, one of the positive impact for the organization is that it support technology shifts. There are multiple examples such as the adoption of NextJs, the migration to DataDog and the introduction to Temporal. When we onboard new team members, the onboarding experience is very much enhanced, more efficient and the up-skilling is more accurate.
Besides that, the people individually benefits from the Academy in terms of up-skilling. Participants increase their knowledge. For each session being planned, prepared and delivered, the facilitator helps and coaches each speaker on multiple aspects: content, flow of presentation, gestures and focus. We have even defined a guide with a checklist for the facilitator support the speaker from start to the end. As a result, speakers improve their public speaking skills.
What can we do next?
We have until now delivered several masterclass sessions with exclusively presentations and live demos. This year, we would like to move forward with a new proposition, which is to propose more hands-on workshops on top of what we are already delivering. That means people would learn more concrete technical skills. This next step would require some support from directors and managers as each session will require more than just a ‘one hour’ session.
Wrap up
I think the efforts put into making this initiative a success are worth it. After all, I like sharing knowledge, and I like helping others to capture things and benefits from other’s return on experience. And I’m not the only one! Seniors engineers are likely to have a lot to share with juniors, and show them the way.
The intent of writing this article is not to tell you that you should build an Academy within your company. But maybe it could be useful! Remember it all depends on the size and momentum of your organization.
I hope you enjoyed reading this article.
To read more stuff from passionate Forkies, you may pick one the articles below :
- The questions I did NOT ask myself, by Sylvain Bannier
- Embracing decision making, by Jhonny El Helou
- Which low-code platform choose to build your internal tools, by Olivier Laurendeau
- Experimenting with a new way to shape up at TheFork, by Emile Legendre
- Creating a unified feature flip engine, by Lisa Ogren