How many team leaders do you think there are at Allegro? Earlier this year, about a hundred of us
had the chance to meet in person for two days. We tackled company-wide technical challenges, exchanged experiences
and discussed the way we and our teams work. We encourage you to read our story since it offers a glimpse
at the inner workings of our company and its culture.
Constant feedback loop
It is easy to get absorbed in day-to-day work which results in concentrating only on current affairs but with little
time for reflecting upon the big picture. A meeting scheduled at regular intervals reserves time for more strategic thinking.
This year we met for the eleventh time. It’s a unique experience each time, because after every meeting, we run
an online poll within participants just to determine what they found useful and what we could do better next year.
As a result, each meeting tends to be better than the previous one. For example, this year, we dropped one kind
of presentation altogether and instead left ourselves more time for workshops and
open space discussions.
Due to the relatively flat hierarchy and informal atmosphere for a company this large, personal contacts are important
for staying up to date on what’s going on. While we broadcast much information through channels such as the docs,
chats and forums, it is often best to just walk up to another person and ask what they are currently doing and what
their plans are. This also helps us to develop our personal engagement with others: it’s always better to know
the people behind a project personally rather than just from email or chat. That’s why our Tech Leaders’ Meetings
enable us to network a lot. We’re mixing up people in hotel rooms or carpool — just to have additional time to chit-chat!
Not just slideshows
Another crucial part of our meetings is a mix of presentations and interactive workshops. It’s a great way to show others
where the most significant projects are going. Each year, our colleagues encourage us to make presentations about the
cool stuff we’ve done during the year. Presentations are always followed up with Q&As and workshops always end
in planning action points. Sometimes it’s a showoff and sometimes we ask important questions out loud — either way
those presentations and workshop sessions always bring a lot of emotions!
Here are some of the topics we discussed this year:
- A sneak peek at how the Technical Exec Team and CEO work together.
- Results of the most recent yearly engagement survey. Obviously, such a survey is not an end in itself,
but a starting point for discussion and improvement.
- New platform for creating administrative tools. Due to many years of development by different teams,
these tools are not always as consistent and user-friendly as they could be. We are planning a new approach
which should make the admin’s experience better while staying as technologically agnostic as possible in order to
not force specific solutions on teams developing those applications. Clearly, such an effort needs cooperation
from many teams across the whole company.
- Our cloud environment. Things change fast in IT, so it’s important to stay up to date. One of the new things
we are experimenting with now is adding service mesh support to our cloud, which should allow us to configure
network behavior (timeouts, retries, circuit breakers, etc.) in a consistent manner across the whole cluster.
- Workshop: improving the development of our mobile apps. This involves both technological measures and organizational
changes so that we can better spread mobile development expertise within the company.
- Workshop: events in the offer domain. We use asynchronous messaging a lot in our applications, and clearly in an
e-commerce site such as ours, events related to changes in offers available for sale are crucial since so many services
depend on them. Structuring these events in the optimal way is an important architectural choice, involving
a number of compromises. We discussed existing events, the needs of individual consumers, and how we could
improve those events in the future.
- Workshop: team performance metrics. In order to be able to say that we are more and more effective at our work,
we need metrics that tell us where we are now and whether we are improving or not. Finding metrics which actually
help the team is not so easy, so this workshop was a place to exchange experiences and ideas.
- Workshop: supporting diversity wisely. A discussion of how we understand the term and how this understanding
could help us become a better company for all employees. Controversy does not preclude having a constructive discussion.
- Workshop: team tourism. By “team tourism”, we mean the practice of developers moving onto a different team
for some time. This has many advantages, such as learning new technologies or new approaches to teamwork, but also
a few disadvantages such as temporarily decreasing team’s productivity. In this workshop, we discussed how we
organize such tours at different teams and how we could make them more popular. One record-setting team hosted
more than 20 developers from other teams over the course of last year, so they had quite a few tips to share.
- Workshop: how can team leaders stay technical? Being a team leader means less time for actual coding,
yet team leaders usually want to stay technical and to not get out of touch with the day-to-day work their teams perform.
We discussed how different leaders see the issue and how they cope with it.
- Workshop: how can we better spread machine learning expertise within the company?
Ask Me Anything!
In the evening, during collective dinner we ran an AMA (Ask Me Anything) session with the Technical Exec Team,
which includes the CTO and managers reporting directly to him. They were participating for the full two days,
so it was possible to also talk to them in a less official setting if you wanted to. They are very approachable anyway,
but having them close by certainly made it easier to engage them in case someone had any reservations prior.
Believe me, we asked some difficult questions — and we got a lot of answers that evening!
As you see, we covered a broad range of topics, both technical and not, so everyone could find a workshop of interest.
A meeting outside of regular work-place and hours is a great opportunity to address a lot of issues before they
become serious. It’s also a good time and place for taking a step back and getting a broader view of what’s going on
at the company. All that aside, spending some time with another team’s leader over coffee helps settle any discussion better than
tons of emails. We hope that we convinced you to try organizing such an event in your company!