What is so unique about developers?
Developers are knowledge workers
The term “knowledge worker” was first coined by Peter Drucker in his book, ‘The Landmarks of Tomorrow’ (1959). Drucker defined knowledge workers as high-level workers who apply theoretical and analytical knowledge, acquired through formal training, to develop products and services.
The main goal of talent management is to define the criteria for “good and bad work” and develop tools and measures that help you improve it.
Most jobs in the 20th century were operationalized, like office or manufacturing work. Standards were set and boxes were checked for things done right (or wrong). Then KPIs were set up for the number of times the operation should be done. And that was it.
However, this approach does not work for knowledge workers. Knowledge workers produce knowledge that can’t be standardized like goods. It is important to understand what knowledge work is, as it is always unique and it could be done in 10 different ways that are both unique and right at the same time.
The notorious ways of measuring developer productivity with LOC (lines of code) or other operational KPIs for software development are widely known as ineffective and easily circumvented by developers. You can write 100 lines that are artificially inflated by a developer who simply writes ineffective code.
Work of developers: Knowledge production pipeline
Despite the fact that a developer's job is unique, it still follows a pattern (or process) to produce knowledge in the form of code.
So, how exactly is knowledge production organized?
Knowledge production pattern
- Gain knowledge about specific technology (read articles, docs, specs, watch courses and videos)
- Apply knowledge (start making working tasks with the help of senior developer or mentor, who onboards you to product)
- Formation of skill (by applying knowledge right with mentor, you learn to do it by yourself and develop skills)
- Apply skill to produce knowledge.
So what do engineering managers do and what are an engineering manager’s responsibilities?
The Role of Software Engineering Manager
Knowledge Production Manager
Software Engineering Managers (or technical managers) are responsible for evaluating how developers follow this knowledge production pattern and evaluating the resulting work of developers.
The work of an engineering manager is talent management and talent development: continuous improvement of the speed and quality with which developers get new knowledge and apply that knowledge at work.
How do they do it?
- Map what to learn
- Evaluate what is learned
- Guide developers to apply knowledge at work
- Evaluate completed work to identify formation of skill.
Duality of software engineering manager role
The role of engineering manager is dual – being a developer and being a people manager at the same time. 90% of an engineering manager’s responsibilities include people management skills. And in tech companies and departments, engineering managers are responsible for talent management, not an HR Manager.
Why? To mentor developers, you should be a developer yourself and, first of all, a technical manager, so you can:
- Understand the work developers do
- Understand their skill gaps and how they are connected to tasks.
This is a detailed comparison of how HR managers and engineering managers do their job in companies.
So what is the main point? The key idea is that a software engineering manager can do a better job leading a dev team and managing their professional growth than an HR Manager.
First of all, an engineering manager has the necessary technical skills and background to be able to build skill matrices, set OKRs and build career paths for developers.
Secondly, due to technical knowledge, it’s easier for a software engineering manager to assess the performance and the code of developers, as well as to mentor them with personal advice and manage production.
And thirdly, people processes such as hiring, onboarding, and motivation have specific requirements when it comes to developers. HR managers can only deal with general things, while engineering managers can dig deeper and solve problems that are caused by working experience.
Vectorly: Engineering Operations Tool built for Engineering Managers
Now that we understand the difference between the role of an HR manager and an engineering manager, it’s good to emphasize that existing PeopleOps tools and Developer Analytics tools do not meet the needs of engineering managers.
Since a software engineering manager combines two roles in one (a developer and a people manager), there is a need for a brand-new tool that solves the problems of both roles and covers all the responsibilities of an engineering manager. And this is how Vectorly productivity software differs from PeopleOps and developer tools, which are created either for HR or developers.
To be more specific, let’s explore these three tools - PeopleOps, Developer Analytics, and Engineering Management - and compare what problems they solve, what solutions they offer, and their implementation.
Problem and Target Audience
As you can see from the comparison analysis, the main difference of Vectorly productivity software is that it solves the unique problems of software engineering managers, who combine the responsibilities of both a developer and a people manager.
And the other important advantage is that Vectorly is developer-oriented, as it helps a team lead to analyze the skills gaps of developers, build growth plans for them and organize continuous development with integrated insights and recommendations.
Simplicity of Implementation
So, Vectoly allows software engineering managers to implement and use the tool without the help of HR. This significantly increases the speed of all processes inside the team and helps avoid long approval stages.