Every organization encounters a moment when rapid growth becomes a necessity – a pivot towards achieving business objectives that demands the swift onboarding of experienced talents. For us, this meant scaling our engineering team quickly and efficiently.
Last year presented us with a unique and exciting challenge: to rejuvenate and expand our engineering team. Our reasons for this accelerated expansion were diverse:
- Rejuvenating our team
- Transitioning a proof-of-concept or minimum viable product to a production-ready state
- Growing our product naturally and, incorporating new features and integrations
- Expediting cross-functional initiatives
Over the course of six months, we hired 50 inspired talents and integrated them into our team. We did this by creating a new center of excellence, establishing a distributed team management approach and implementing processes to monitor progress and identify opportunities for growth.
Center of excellence
Our aim was clear: to identify new talent and seamlessly integrate them into our existing processes. Coupled with our strategic need for greater diversity and diversification, establishing a new center of excellence in a different location became an attractive solution.
Thus, the first part of this year was an intense period for our engineering team. Our current roadmap and long-term plans triggered the search for talent in a new location: India. Preliminary research indicated promising prospects for fulfilling all our hiring needs in this region.
Building efficient interview pipeline
The first step of this journey was building an efficient interview pipeline. We realized that our standard interview workflow was not sufficient in this new, competitive market. To successfully scale our engineering team, maintain the interest of highly experienced talent, and speed up the hiring process, we implemented changes in our workflow:
- Shorten our interview cycle, combining technical and managerial interviews
- Centralize daily slots for scheduling interviews
- Adapt tasks for a quick overview of technical expertise
- Minimize language miscommunication, by providing written forms of questions and tasks
- Create a special introduction to our team and company, emphasizing why we are the best choice for the candidate
- Rewrite job descriptions for certain positions to meet the local talent pool
- Hire a set of senior talent to help accelerate the next level of hires.
In addition, we found that having engineering leaders visit the new location to be extremely helpful. As a remote-first company, we understand how important (particularly at the very beginning) it is to provide efficient collaboration with the new team, meet each person who joined us, and get valuable feedback from personal communication. All of this lays a solid foundation for long-term cooperation, integrating our corporate values and inspiring joint product development to our growing team.
Once we had clear JDs in place and enlisted the support of a strong recruiting partner, we moved onto the next challenge: determining the best type of team management approach.
Distributed team management
Different approaches can be adopted when building and scaling an engineering team in a new location, each with its unique advantages and challenges. Each is dependent on the type of tasks and the necessary depth of teams’ integration for your product support. One approach is to build a separate team that can operate in an outsource-like way to be responsible for separate components/subprojects only.
Another approach is for when you have highly innovative products with specific areas of experience, like application, cross operating system integration and virtualization levels for our Parallels Desktop for Mac. For this type of experience, that requires deep integration knowledge exchange between team members, inheritance of best practices of research and problem investigation, you can stick to a strongly integrated approach, where newcomers would be integrated into the existing organizational chart, reporting to existing engineering leaders.
Historically (having M&A in our background) our teams were located by projects, with parts of the teams in other locations. We already had several centers of excellence for RnD, mostly in Europe, Mauritius and North America.
From the start of this growth journey, our engineering managers have been supportive and interested in the strongly integrated approach to keeping teams united. Here are some talking points we used to discuss the advantages and challenges of a distributed team, with our engineering leads:
- Diversity – new culture – new vision – new ideas
- New time zone: extended coverage for high quality product support. This brings extra hours in communication with the support team and customers from different time zones for deep problem investigations.
- Duty infrastructure maintenance
- Organizing your workday to manage a team in different time zones (code review process, regular stand ups and design meetings)
- Managing cultural differences
- Training: If you have a corporate learning platform, (in our case) you can assign special trainings (or using external resources) that will help to solve challenges, such as Principles of Distributed team management, Scrum of Scrums, Asynchronous communication skills.
- Cultural differences: To cover the cultural difference challenge and simplify the integration, we revised some of our initial roles and brought in additional local managers from India with distributed team management and international business experience. The goal was for them to help existing managers build an efficient and adaptive environment. This approach brought existing culture to newcomers, while maintaining local culture to the united team without stress.
Onboarding and mentoring
Each of our engineering teams strive to have formal documentation, design documents and onboarding instructions readily available. However, with this new influx in hiring, we needed to review, renew and recreate some of our onboarding materials. Here are the steps we took to do so:
- Communicate with other divisions for help. In our case we have a rich product training base for our support team. This allowed us to adapt some of the materials and include them in the onboarding program. A good understanding of the product and the possibility to try customer roles are essential for further successful product development. We also asked our product team to help with product training. This helped improve cross-functional collaboration within the teams.
- Assign a tech buddy from the existing team for each newcomer. Determine areas of deep expertise/areas for improvement for each newcomer. This will also help with effective mapping of areas of responsibility. It is particularly important when you have several similar positions, such as two to three OS Integration Software Developer positions. Because the depth of experience in Windows, macOS, Linux for newcomers is different, the efficient mapping will allow you to emphasize advantages from previous experience. Organizing a tech buddy program is also a good opportunity to identify team members who are interested in mentoring/management as an intermediate step to further engineering manager roles and to provide them with growth opportunities.
- Setup sync meetings to track team integration progress and gain feedback from internal and external people for the RnD division.
- Apply the CFR (Conversation Feedback Recognition) technique on a regular basis.
Personally, it was my first visit in India, and it’s firmly remained an important milestone in the development of our engineering team! It’s an amazing feeling when you realize that several months ago there were just thoughts to have a new center of excellence, but today you can see many new professionals around who are really interested in making your product better, suggesting new ideas and getting energized.
Scaling your engineering team is a powerful opportunity to revitalize processes and bring fresh perspectives to the table. We look forward to the adventures and success this new chapter will bring.