A growing startup, a well-established ISV, or an engineering department of a large enterprise – they all face the same challenges in managing software engineers. And the most сritical ones include tracking professional growth of employees, developing an effective competency map, and improving employee retention.
Sounds familiar? In today’s article, you will learn how to tackle these and other issues that come along the way and manage software development teams efficiently. So let’s reflect on what makes a successful engineering manager.
Let’s face it: the tech world is the most competitive and vigorous talent market. Having this in mind, N-iX treats its engineers as the company’s greatest asset. Here come our best practices for managing an engineering organization that we’ve been working on for more than 15 years.
Building a culture that fosters professional growth
According to the Deloitte research, 94% of executives and 88% of employees state that corporate culture is important to the company’s growth. It’s true, shaping a positive working environment and distinct values results in better employee loyalty, work performance, and job satisfaction.
For example, N-iX has an entrepreneurial culture which has emerged naturally over time. It lets employees take initiative and develop new areas of expertise they feel passionate about. We encourage our employees to act under their own authority, take ownership, and get things done without waiting for permission.
In contrast to the traditional top-down management, N-iX supports adhocracy. It emphasizes self-organization in order to accomplish tasks and empowers engineers to be creative and take on more risks. And this is exactly what Millennials value at work. They eagerly accept new challenges and appreciate the freedom to innovate. We embrace it and try to deliver on their expectations.
Our company still feels like a small startup with an informal atmosphere, even though it has grown significantly over the last years. At a more casual workplace, engineers are more likely to take on new roles and additional responsibilities.
Creating team success in a matrix organization
Whether or not to introduce the matrix structure depends on the maturity of the organization. It can be useful only when two conditions are met. Firstly, when there is a need for a sufficient number of managers to organize daily workflows and coordinate tasks. Secondly, when you need to increase cross-team collaboration improving access to shared resources, skills and technologies across the company.
Getting the matrix structure right is paramount to the company’s success. If done wrong, it can lead to role ambiguity and dubious reporting structure. This means that as an employee you lack clarity in your responsibilities and don’t know who is your direct manager. To avoid this, leaders need to set up clear expectations, distinct reporting relationships, and collaborative working environments.
By adopting a weak (functional) matrix organizational structure, we have organized the company by centers of excellence – software development office (SDO), project management office (PMO), security group (SG), business analysis office (BAO) and the UI/UX office. This enables cross-team collaboration and knowledge exchange within the company.
The center of excellence at N-iX delivers professional services, provides consulting, gathers best practices, conducts technical interviews and evaluations as well as takes care of professional and personal growth of every engineer.
The matrix organizational structure in concert with adhocracy eliminates bureaucracy and allows sharing talents and skills across departments.
Giving control over career growth
In today’s business world, more and more people embrace the value of the do-it-yourself career path. They want to take control of their career development and have a clear vision of what they want their job to be like in a few years.
To keep software developers engaged and motivated at work, our company offers diverse learning opportunities and career prospects. By designing a professional development plan (PDP) for each IT specialist, the company gives employees the opportunity to manage their career growth. At N-iX this is a bottom driven process initiated by an employee and managed by an HR Business Partner. This is exactly what sets our career planning apart from others. You get full control of your career growth and can advance either vertically or horizontally depending on whether you want to develop in the current role or move to other career directions.
Starting from day one in the company, a new hire receives initial qualification level on the basis of the technical interview. During the onboarding period, each engineer can rely on a personal HR Business Partner who helps adapt to the company culture and map out a successful career path.
To help employees grow professionally, the company provides a range of professional development tools (PDTs). They include technical evaluation, mentoring program, internal training, professional certification, and professional conferences and programs. A software engineer can easily request any of the above based on the preferences and career plans.
Bringing expertise available in the company to the surface
To achieve success in managing an engineering organization, it is important to maximize the advantage of data-driven tools that can give you an insight into existing and required employees’ capabilities. A competency map consists of comprehensive skills grids of each engineer. It shows a complete picture of the knowledge a company can offer and points out where development efforts need to be directed. Thanks to competency mapping, it is easier to gather a team for a client, meet the client’s specific requirements, and deliver projects on time and on budget.
For instance, when a client requires certain expertise, we check out our BI tool that visualizes data gathered to find out which person in a company has that skill. In such a way, setting up and scaling a team turns out to be a smooth process. As a result, the company gets a better understanding of how many people with what competencies to hire, a client receives better service and software engineers are provided with relevant learning opportunities.
Initiating leadership programs
It is essential to put a special emphasis on developing leadership skills across all delivery roles. Often companies invest in technical or formal managerial skills instead of empowering leadership and self-organization at all levels. This leads to career stagnation and people looking for more fulfilling job opportunities elsewhere.
It’s no secret that when software developers and delivery managers walk out of the door they take valuable knowledge with them. Thus, at N-iX, we draw special attention to the professional development of each specialist from our delivery departments. We are launching leadership programs that help them master new skills to get promoted to a tech lead, a project manager, a business analyst or an architect. Effective leadership training ultimately helps retain top talent, improve productivity and increase return on investment. According to a Global Coaching Client Study by ICF, a company can expect on average a return of seven times the initial investment. This is a staggering result.
Providing constant inflow of new talents
A stable influx of fresh blood to the company ensures healthy competition and generation of new ideas. Traineeship programs let nurture trainees to the junior qualification level that suits necessary job requirements. For those with non-commercial experience, it is a great opportunity to get a job at a company that will design a successful career path to help them develop to senior levels.
At our company, we develop programs for both mature engineers and trainees to grow to senior roles. The traineeship program at N-iX lasts 3-6 months and assigns a mentor to a trainee who provides individual learning needs in a flexible and productive environment. As a result, the majority becomes the company’s employees.
Bringing it together
The biggest challenge for the engineering manager is not technical but rather personal. Setting up all the processes related to developing leadership skills is challenging but worth the efforts. Since we launched all the above-mentioned initiatives, we have significantly improved our retention rates and employee satisfaction at work.
Our customers, on the other hand, have outlined the high professional level of our programmers and their loyalty to the projects. They report that scaling a team has become a faster process thanks to the number of talents and the variety of expertise available at N-iX so that they can easily plan further growth.
Summing up, the main idea behind managing software engineers is to establish a healthy working environment where they can develop professional and leadership skills, realize their initiatives and follow their ambitions. Once you apply all of the aforementioned tips, the results won’t make you wait long.