Some attempts have never been successful: a small project, a small project, does not need a full-time project manager. So I decided to have a programmer serve as the project manager. After all, who else knows more about a program than a programmer?
Indeed, many programmers can do a good job as project managers. There is no essential conflict between good programmers and good project managers. Both positions are detail-oriented and result-oriented. However, it is impossible for a person to do the two jobs at the same time.
To understand this incompatibility, you must understand the types of jobs for programmers and project managers.
Software development needs to enter an immersive State. To be more efficient, programmers must completely enter the code world to focus on operational formulas and variables and anticipate changes and random events, test some ideas and follow some complicated ideas. In this mode, you need to focus continuously for a long time. When the programmer is interrupted, it may lose the thinking track. After being interrupted, I was lucky to be able to find my thoughts within 15 minutes, but it is very likely that I could not find my thinking point the next day.
In other words, the task switching cost of software development is quite high.
The project manager needs a completely different mindset benchmark and working model. Compared with the programmer's dream model, the project manager needs to be familiar with and quickly associate facts, feelings, and external environment attributes. A project manager not only creates an abstract project plan and tracks the project progress, but also creates a theoretical project architecture. Their work is mainly to coordinate the activities of multiple members, understand the progress of the project members, what difficulties they encounter, what resources they need, and how the progress of work among members affects the progress of others. It can also be said that the project manager's work is almost intermittent. They need to deal with the crisis at any time to prevent problems and communicate with customer groups.
Obviously, there is no way to integrate these two completely different working modes. If you ask if a person can serve as a project manager and Development Engineer at the same time, he may say that he gives priority to the programmer's role and then serves as a project manager, however, he should have no time to manage projects and communicate with customers. Such projects certainly lack leadership, or the respondent will say that he gives priority to the project manager's responsibilities and then does the programmer's work, development tasks are either extended or not completed properly.
To improve the project output efficiency, you must leave the 'one person and one person as the project manager and Development Engineer 'aside. Selecting a Development Engineer and one person as the manager will damage the project output efficiency, this engineer is cruel because you are asking this person to do impossible tasks.
You can't wear the manager and developer hats at the same time
Can programmers serve as project managers?