Day-to-day, a day in the life of a Technical Project Manager can vary. If they are not creating scopes, checking up on developers, keeping clients informed (and happy), they are doing many other things to keep a project running smoothly.
A project manager is very much the middle man in a digital environment, making sure that all stakeholders are happy and have everything they need.
The developers write the software. But, should a project manager know to code as well?
If so, what purpose would that hold?
If a project manager is already busy, what good is having coding knowledge?
First off, I am not saying that technical project managers, product managers or account managers should ‘dig into’ the company’s Git repo and start writing classes and functions to lend a helping hand. Although, that might be useful in some instances. Having a manager that knows how to code can have it’s advantages.
Understanding the complexities
When a project manager knows how to code, or has some understanding of the concept of programming this can help the team in various ways:
Firstly, scoping projects and bug and ticket estimating can become stricter. As a project manager that knows how long a task should typically take to complete, it is easier to add an argument that a ticket should not take ‘x’ amount of time.
Jargon
Typically, when a manager does not not have technical experience and does not understand coding concepts, a confused look appears over their face whenever tech jargon is spoken by a developer. However, such words are not lost with a manager that has an understanding of programming languages and technical jargon.
This can make meetings easier to understand, tickets can be created without too much ‘dumbing’ down and clients can be contacted to with at ease and without worry.
Of course, there will be times when a new language is being used that a manager has not used, however, that is to be expected. But having the basic understandings can go a long way.
Knowing the importance of patience
As a former developer, I can understand the annoyance a developer has towards an account/project/product manager when they are being asked for an update. Knowing that the answer, ‘it will be ready, when it’s ready’, is not suitable. But, on the flip-side an account/project manager needs to something to report the client and their managers.
It is trying to find that balance between knowing that someone is busy, but asking for an update, whilst giving them respect at the same time. Also, not lingering over their shoulder when they are coding. Not a good thing.
Praising
This is something that I suggest doing in your stand-up meetings – praising your developers for a good job can go a long way. I have been in positions as a developer when I have not received feedback, despite working tirelessly on a task. The fact is, users do not care how cool your LINQ statements are. Or that you refactored your code and are now using abstract classes and polymorphism. Apologies if that went over your heads.
The point is that developers do work tirelessly on projects and coming up with solutions to big problems for only to be told that it doesn’t work or is wrong can be soul destroying. Don’t get me started if a bug has been found and has broken a major feature on a website.
Give praise when you can can, and even celebrate the wins. A project manager that has experience as a developer should understand this.
Fixing issues yourself
Should a Project Manager know how to code, and if so, should they be fixing issues?
Yes and no. Probably no. It’s not their job. Just like it isn’t a developers job to create a statement of work or create GANNT charts.
However, knowing how to fix small issues in a CMS can both make a client smile, and also save time asking a developer to do it. There have been a few times where I have changed a line in the CSS/styling, made a title linkable, created new template files in Shopify and also added HTML to a content page.
Sometimes there are small things can be done that would only waste a developers time, so if you know to code, it can go a long way.
Having the understand of different languages such as PHP, C#, Python is also useful. For me, the most useful thing for managers to know is the difference between backend and front end developers.
What are your thoughts?
For more ideas, check out this article on LinkedIn, https://www.linkedin.com/pulse/should-your-product-manager-learn-code-kushaan-shah/