Let’s break stereotypes that programmers are machines that do not pay attention to anything else besides coding. In our company, Freemake.com, all the developers are the experts who help bring business onto a new level.
Freemake is a developer of multimedia applications for Windows and iOS operating on the market since 2009. The company’s products (such as video converter) are known all over the world. Currently, the company has millions of loyal users and many prestigious awards from authritative IT blogs & magazines. Freemake team consists of top-class professionals who are motivated for professional growth.
Our company adapts various modern approaches to work with personnel and we are ready to share our secrets how to develop IT specialists, stimulate their constant self-improvement, integrate the developers’ skills with the business goals, as well as teach employees with a technical mindset to think creatively!
We collected a number of our best practices which helped us grow as a team and will be definitely useful for any IT team starting its way on the market.
Tip 1. Practice pair programming
Pair programming is an approach in which code is created by two developers. There is a “leading” programmer who writes the code and a “navigator” who continuously monitors the code.
As part of this approach, there is a continuous transfer of knowledge and experience between the developers in pairs. The number of bugs in the code is also reduced. Often pairs are formed according to the following principle: one person is more experienced, the second with less skilled. As a result, there appears mentoring where the experienced partner monitors the work of the newcomer, helps him solve emerging issues, and gives feedback. If questions that they can not solved in the pair arise, they are brought to the discussion with the entire IT team. To achieve the high quality of work, there is also a regular synchronization between team members.
Tip 2. Assess the progress of employees
A regular evaluation of the progress of each employee works very well. For newcomers, it looks like this: experienced employees record the most important points which the newbies need to know and be able to do while fulfilling the tasks. Then they formulate questions for the beginners to check how much they are savvy in these questions. The newbies assess their current knowledge and determine the areas they need to develop. Once in two weeks there are meetings “1 to 2” where two experienced employees ask questions to a newcomer, check the code written by him and assess his progress. One of the aims of such meetings is also to learn how to speak the same language as other programmers in the team.
As to the experienced employees, the assessment of progress is done in the following way. Each developer has a file in which he fixes the topics he is studying at the moment, as well as the topics he plans to study. The team evaluates each proposed topic in terms of relevance and usefulness for the workflow. Then the developer studies the topic and tells about it on a developer forum.
Tip 3. Hold developer forums
Twice a week our company holds the so called “developer forum” aimed at introducing new knowledge to the team. It looks like an internal mini-conference for which the speaker prepares a presentation and a report. Anyone from the team may become a speaker. The themes can be completely different: from mastering a new technology to increasing the team effectiveness.
In addition to the knowledge sharing within the team, the forum helps to develop the speaker’s public speech skills. Thus, in the future, he can speak at external conferences and represent the company in the IT community.
Tip 4. Open developer school for newcomers
The developer school is an add-on to the progress evaluation process for beginners. Only experienced developers maintain this format. The format of the event includes lectures and workshops to consolidate the knowledge gained over the years and transfer it to the new employees. In the course of training, the case studies that beginners have in the process of work are also considered. The cases in which several beginners have the same problems appear to be a priority.
Tip 5. Try hakatons
In the classical mode, the IT specialist career comes through the following stages: “Junior – Middle – Senior – Architect – CTO”. Under the agile approach, the development chain is a bit different: ”Technologies – Management – Product Development – Analytics”.
The second is not a consistent chain, but it means that the team is assigned the full range of tasks alongside with the product development: market analysis, technology selection, development, promotion. Thus, the team becomes cross-functional and has different competencies to achieve the goal.
At Freemake, all the developers are integrated into the business processes so that they understand why they need to accomplish certain tasks and how they will affect business performance. To develop skills that are not related to writing the code, our developers lead hackathons.
In the process of the work, our developers have their own ideas about the product improvement and the growth of business indicators. They offer their ideas and evaluate them according to the following criteria: the relevance of the idea, the complexity of its implementation, potential income, and risks. Then all the ideas are presented to the team who votes for the best one. Those who find the idea interesting join its implementation.
Tip 6. Take part in IT meetups, conferences, trainings
To keep abreast of the latest trends and to understand where the whole industry is heading, it is important and necessary to attend various conferences and meetings. This is not only an excellent opportunity to gain new knowledge, but also a good motivation for developers, because they have the opportunity to listen to “gurus” and get to know them personally. It inspires the IT specialist to professional growth and gives an understanding that he is doing important things! At the conference venues, there are a lot of people from the IT sphere with whom we can discuss questions and exchange experience.
Tip 7. Involve developers into job interviews
In our company employees take an active part in hunting new developers. A novice and an experienced employee in a pair interview new candidates. There are two aims of this practice: the development of competencies and the enhancement of their sense of importance for the company. Sometimes we invite our friends from other IT companies to take part in the interview in order to monitor changes in the industry and check how the requirements to candidates have changed.
We hope that our practices will help other IT teams increase the involvement of their employees into the process, increase their loyalty, contribute to the continuous process of knowledge sharing, quickly adapt newcomers at work, and generate new business ideas. Together, all these techniques have a positive effect on the growth of the company and significantly accelerate business processes.