Are you considering switching from a technical role such as software engineer to project manager? Here’s everything you need to know.
Throughout my career, I’ve seen it happen several times: software developers are tapped by their manager and asked whether they’d be interested to take on a role as project manager. Some are elated and excited at the prospect of a career change, while others are content with their career path and prefer to remain where they are.
When I was asked this question myself, I was equally unsure because I didn’t have a clear idea of what working as a project manager was like. In this article, I’m going to take the guesswork out of this mystery and explain the key responsibilities of the role. I’ll also lay out the main differences between project managers, program managers, and technical folks like software engineers.
Product management vs. project management: What’s the difference?
Before we delve deeper into what it means to work as a project manager, it is important to distinguish project management from product management, as they’re frequently confused.
While these two roles share a common acronym (PM) and common responsibilities, they do have a very different overall objective.
Product managers are responsible for a specific product a company is producing. They are responsible for ensuring the product is successful. This means they need to identify the customer’s needs and define the features for the product. In short, a product manager must lay out the strategic goals for a product.
Project managers are responsible for bringing a project to successful completion. A project by definition is a set of tasks that need to be completed to achieve a predefined goal. A project always has a defined start and an end point. It is the project manager’s responsibility to ensure that the project gets done on time and according to the specifications defined for it.
The two roles mainly differ in their responsibilities. While a project manager focuses on identifying the milestones and tasks required to successfully finish a project, a program manager’s main priority is to identify customer needs and current trends, and define the features for the product.
Another key difference is the timeline of the activities. While it’s not uncommon that larger and more complex projects take years to complete, by definition, there is a finite end of the project. The same is not true for product management, since the goal is to produce a product that will be updated and refined indefinitely.
The key responsibilities of a project manager
Now that we have made the distinction between product and project manager, let’s dive a bit deeper into the responsibilities of a project manager. Here are the key tasks a project manager performs:
Leading the project team
A successful project is usually accomplished by teamwork rather than the work of a single individual. Therefore, a project manager’s main responsibility is to lead their team. A project team can be put together with employees coming from various parts of an organization and it is the project manager’s responsibility to transform these individuals into a team. This involves understanding the skills individual team members have and assigning tasks accordingly. A further challenge to this task however is that the project manager seldomly has any authority over these employees, because they often report to their individual departments and managers within the organization. The main aspect of leading a team is therefore communication. It is essential that project managers are able to precisely describe the tasks the team members are to do.
Supporting and unblocking the team
It is the project manager’s responsibility to ensure that their team has everything to do their work well. Supporting the team is a very broad term. It involves filtering requests and other interruptions from the team and allowing them to focus on their tasks, but also organizing the required hard-/software. Sometimes the team might need the PM to organize authorization to access restricted resources, other times they might need a new server. The project manager is the person who will handle and coordinate all these requests.
Making project decisions
Working as a project manager requires making a lot of decisions. The overall outline of a project, its schedule, milestones, and scope all fall under the responsibility of a project manager. The ability to make good decisions quickly, despite not having all relevant information at hand, is a key requirement. A strong gut feeling comes in handy in these situations.
Reporting on the state of the project
A project manager is working as a liaison between the project stakeholders and the developer team. One of the core requirements of the role is to regularly report the project’s status to key stakeholders – which is anyone who is involved with the project in any way. This can range from the IT support who provide servers to the managers who authorize the project. Likewise, it is the project manager’s responsibility to report project-related changes, such as change in scope or timeline, to the team. Again, clear and concise communication plays an integral part in this.
Project manager vs. software developer: What’s the difference?
The above outlined key responsibilities of a project manager indicate how the type of work differs from a technical role. Let’s look at the differences in a bit more detail:
One of the greatest differences between project managers and software developers is the need for communication. Because developers are mostly working on their coding tasks, communication doesn’t make up a large part of their role. This stands in stark contrast to project managers, who rely on communication in almost every aspect of their work. Whether they’re discussing features and timelines with the development team or reporting to management about the status of the project, communication is key.
A software developer’s primary interactions are within the development team. A project manager, however, has to act as a buffer between the technical team and stakeholders. Ideally, this will provide developers the space and time needed to focus exclusively on their tasks. Reality might not be quite as rosy, but this is the idea…
While software developers can place their focus on solving technical issues, a project manager’s responsibility is to act as the main contact point for the technical team as well as any external sources. As such, project managers must be able to adapt their communication style depending on their audience. A report to management will likely not require the same level of technical detail as a discussion with the development team.
When working on a feature, a software developer is responsible for staying within the time allotted for the implementation. Similarly, a project manager is responsible for ensuring that the entire project is completed within a set timeframe. The main difference is the level of detail that is being overseen. A project manager must maintain a bird’s eye view on the overall project progress and oversee the time and budget spent on the whole project, while software developers focus on individual aspects/features of the project.
The role of a project manager differs greatly from that of a software developer, and is rewarding in its own unique ways. The focus shifts from technical aspects to more soft skills such as leading a team, communicating effectively, and working with management and stakeholders. It is essential to be organized and to keep an eye on the key parameters of the project (e.g. budget, time and resources).
Having previous technical experience and knowledge as a software developer can be a significant asset as a project manager. With a technical background, it’s possible to better evaluate proposed solutions and communicate ‘eye to eye’ with the developers.
From personal experience, I’ve learned that it’s important to make a clear cut between the two roles. It is not the job of a project manager to take a deep dive into the issues that developers are working on. Being able to put this part of your career behind you and replacing your programming editor with an email client and a phone is not an easy step. But if you’re communicative, organized, and not afraid to lead a team, then project management might very well be right for you.