We all know that technologies evolve very quickly. This situation creates challenges for both employees and companies: employees need to keep up in order to keep their value in the job market, while companies need employees who are able to work on the latest technologies. We believe that every company needs to incentivize workplace learning, as the only other option is to continuously hire new employees trained in the new technologies (but trained by whom, if companies do not do their part?).
In SpazioDati, employees are encouraged to learn in many ways. The most common is peer learning, where you learn by collaborating with expert colleagues. Besides, when a new project starts we always consider the benefits and risks of adopting a new technology, to avoid getting stuck on the same approaches and tools. We also have the opportunity to go to conventions and conferences, which are helpful for talking to other professionals and understanding what they use and for discovering new technologies. Another learning opportunity is our YouLunch program.
In this article we'll talk about yet another option: a bottom-up process we developed to allow employees to learn and experiment on topics that they are passionate about. We called it Continuous Learning. This initiative has been in place for a few years and we saw how it can help in growing the company in the long term and increasing the employees' satisfaction. During each "term" - usually three or four months - we create study groups that spend four hours per week on learning topics that they themselves proposed.
The first stage of each term is collecting ideas: all the employees are encouraged to propose topics they would like to study. They can choose technical subjects, like studying new programming languages or exciting techniques. They can choose less technical topics, like public speaking or customer management. We also encourage project-focused learning, in which the participants start from a project that they would like to tackle and study what is needed to complete it as they explore it. There are only two rules: it must be fun for the participants, and it should be free of external deadlines and constraints.
Once the ideas are collected, an internal committee investigates if there are opportunities for pairs and groups to arise. In our experience you need a lot of focus and discipline to be able to complete one of these projects by yourself: since workplace learning should be completed during working hours, it could happen that other deadlines, meetings and interruptions make it difficult to keep a constant pace. Having a study group makes the participants more accountable and forces everyone involved to plan for the next sessions. For most people, studying in groups is also more fun because it keeps them more engaged, and allows sharing of ideas across different subjects.
As the learning committee, we try to create study groups as much as possible by talking to people and comparing proposals to find common points. When the study group is heterogenous, with people of different teams and backgrounds, it also helps to create and improve relations between employees in the company.
Once the groups are decided and approved, the learning begins. There is a kickoff meeting with the study group to define together the goals and the resources needed, and then monthly meetings to check if there are blocking issues.
Many study groups start by following online classes on platforms like Coursera, Udemy or LinkedIn Learning, and then move on to the practical stage. This approach provides more structure, but has the drawback of depending on the quality of the online classes. Since many of them go at a pace much slower than most practicing developers would like, we recommend everyone to skip whenever they feel they should. We don't care about certification but on learning what is important. Other study groups prefer to start working immediately on the problem they want to solve, and look up documentation and articles when the need arises. The job of the learning committee is to understand the students requirements and help them find the best process for them.
We have around 4-5 learning projects for each term. Given that we already completed 11 terms, that means we had a lot already! Here are a few examples of recent learning projects:
among the (in-depth) study of tools, we had topics like Elasticsearch, Kafka, Kubeflow and Flutter;
among the project-focused learnings, we had moving some services to ARM-based machines, improving the developer experience on our main codebase via new tools, and devising a new approach for a semantic text annotation task;
among the less technical topics there were product design and customer analytics and engagement.
At the end of each term, the study groups present their experience and results to the whole company, and a new call for topics is opened. Some of the most promising projects are then added to specific teams' backlogs, so that they can be properly developed and deployed to production. In the last 11 cycles we had our fair share of successes and "failures"; some projects have been released in production, some technologies are now widely adopted. For example, we first tested Kubernetes because some colleagues were interested in the topic, and now most of our infrastructure runs on our Kubernetes cluster. Still, most projects are not adopted in production, but that is fine: having a practical application is not the reason we have Continuous Learning; the main purpose is to allow our employees to grow, enjoy their work and introduce new ideas in the company.
Disclaimer: the two images of this article were created using slidesgo.
Would you like to work in SpazioDati? Take a look at our job positions and send us your CV!