Considering the nature of its business demanding a wide range of expertises and a good flexibility, Emakina has specifically set up several strategies of skills management. Those strategies have a clear impact on the organization of the developers and their works and allows to improve the knowledge transfer, the collaboration, and the improvement of each other.
As you probably know, we will release Sybil, a skill profile search engine dedicated to software companies and department. But a product is nothing if it is not what people really want. That's why we have started to meet key people at software companies in order to observe how they actually manage the skills of their developers and learn. A few weeks ago, Martin an I have met Brice Le Blévennec at Emakina. This post presents you how Emakina deals with different use cases related to the management of developers' skills.
Emakina, an European network of digital agencies, deals with about 1600 projects per year, most of them lasting about two weeks. Those projects are realized by more than 100 developers in very different technologies from .NET, Java, PHP to Unity, Sharepoint, Facebook Apps.
What are the developers' skills?
This question is usually addressed by project and HR managers:
- planning managers to decide who to assign to a given project, and
- recruitment managers have to evaluate the developers' skills for recruitment or performance assessment.
Without close following of the developers, it is hard to keep up to date a directory of developers' skills. Sometimes the only available sources are the developers' resumes, that are updated occasionally and difficult to be understood by people who don't really understand what's behind technological keywords.
By Emakina, the developers are organized in core teams defined around a main technology such as PHP/Drupal, .NET/Sharepoint or Java. Each core team is then composed from 10 to 20 developers, project managers and designers.
The very short development cycle benefits to the managers that get immediate feedback on their developers' works. If something goes wrong or well, they quickly know it. This information is not lost and allows managers maintaining the developers' profiles especially in terms of skills.
As for development of new skills, Emakina has implemented its own e-learning platform: you can learn something new and validate it by passing some quizzes. Each developer can decide how to develop and build his own expertise and manager can know how he's doing well.
The profile of a developer is at the end the sum of those different inputs (evaluation by it's manager and team, evaluation by customers of projects on which they contributed, achievements, and new skills) and is used of the annual evaluations. This really creates a reward loop based on real and quite objective assessments allowing the developers to be engaged in a culture of learning, developing and transferring skills.
Who can help?
One common use case in a development team is to find someone that have the required skills to help you to go through an obstacle and teach you something new. But a developer doesn't necessary think to find someone to help him because of a lack of skills directory or of collaboration and communication culture.
Emakina has setup a combination of different strategies to address this use case: a knowledge management platform, several human hubs, an open space yelling and mailing lists, and some competency centers.
As said previously, developers are organized in core teams around one technology. Those project teams double as competency centers. The managers are then responsible of both the project development and the skills management of their developers.
Each competency center has a space on Emakina's knowledge management platform, running on Confluence, a rich wiki tool by Atlassian. The technology experts have a mission of contributing and updating best practices, tools, codes snippets, documentation, and learnings on this platform.
Emakina has improved on the "yelling part" by setting up mailing lists dedicated to each important technology, allowing developer to exploit the company knowledge on this subject and provide his own expertise in a controlled and non invasive way.
For the strategy of human hubs, several have been put in place:
- coach of newcomer, a senior developer selected to coach a freshly arrived developer;
- expert, selected as the reference of a technology and responsible to manage and keep up to date the know-how about this technology; and
- the managers of core teams, mentioned in the previous section.
When a developer is stuck, he has then a very precise order of contact person to get help:
- he asks to his coach (if he is a newcomer),
- he asks to his neighbors,
- he checks the documentation on the knowledge management platform,
- he sends an email on the adequate mailing list,
- he asks to the expert, or
- he finally asks to his manager (who will communicate with other manager to find the good expert).
Skills management is not an option
Two years ago, the developers by Emakina were still organized in heterogeneous pools, one per business unit. That organization couldn't really scale and came with several issues such as bad durability of knowledge or missed synergies. Emakina has then decided to invest in solutions allowing a better management of those skills: building a specific organization and culture to implicitly know the current state of available skills in house, to improve the skills and to capitalize them.
This massive investment in skills management in the form of functions (expert), missions for project managers and even dedicated team (e-learning) seems to be successful, but it is also due to some inherent factors:
- short cycle development allowing a short feedback loop, and
- enough developers to put in place technological leadership.
According Brice, the evaluation of the actual level of a skill will be the next challenge to shorten the learning loop and improve the empowerment.
We would like to warmly thank Brice for the meeting, the feedbacks, and the review of this post.