4 Project Management Skills Every Software Developer Should Possess

Oyeyinka Onaolapo
Quick Code
Published in
3 min readOct 30, 2020

These skills will improve any software developer

1. Time Estimation and Effective Communication

Ask most developers when they will round up on a particular application and in their heads, they will start rolling a dice. To a large extent, a software developer should be able to think in a project manager’s capacity and give a near accurate timeline. Break down the project into tiny bits that are easy to time and track. That way, you can properly estimate the completion time for each. I would advise you add an extra day, or even days, depending on the size of the project. This is to be sure you don’t underestimate. Each project has a deadline and giving a good time estimate will help the business as a whole especially in terms of planning and delivery.

Also, on any project you are working on as a software developer, communicating updates or challenges at every point is an extremely vital skill to possess. Communication with external parties is just as important as communication within the team. Proper communication will foster bonding and collaboration. This also ensures team members are open to each other and critical updates are not missed.

2. Documentation

Software developers naturally hate writing and maintaining documents. On the other hand, project managers love it. It guides them towards a defined goal and also ensures there is a point of reference they can always fall back on. This allows them to track and monitor a project’s progress at given intervals while ensuring all stakeholders agree on the same defined targets.

Photo by Christina Morillo from Pexels

To be a well-rounded developer, documentation is quite important. Firstly, it gives fellow developers, regardless of their level, a valid point of reference. It can also help the present developer remember certain implementation many years after. A fantastic way to document code is to write proper unit tests or use code documentation tools like Swagger.

3. Solution Driven Mindset and Risk Management

“First, solve the problem. Then, write the code.” — John Johnson

Great developers don’t write code just for the fun of it or to show off their skills. They write code to solve problems. The mindset of every developer should be how to generate solutions for problems identified. This is a skill that needs to be strengthened daily and one that isn’t automatically earned.

On the other hand, risk management is basically knowing what can go wrong and why, the effect if it eventually does and how to manage and fix it. A developer should be able the weigh the risk impact of certain decisions and implementation. For example, an implementation that appeared fine when tested with a couple of users can be extremely slow or even fail completely when rolled out to millions of users. This is an apparent risk that should have been checked before deploying to production. This also ensures that the developer is always thinking in a risk manager’s capacity as regards possible scenarios that can happen with any project.

4. Negotiation

Last but not the least, is the ability to properly negotiate. Good negotiation skill is important for any software developer and no, this isn’t about money. This is something project managers are great at. Throughout the life of a project, a software developer will negotiate through stakeholders’ demands that can greatly impact the project’s outcome. Strong negotiation skills will ensure all parties align, stakeholders’ requests honored while retaining yours. It can also be a vital skill in resolving issues with external parties and also within the team, absence of which would have otherwise jeopardized the success of the project.

I hope you find these tips valuable and more importantly, apply them accordingly. Thanks for reading!

--

--

Oyeyinka Onaolapo
Quick Code

Software Engineer with relevant experience in banking and financial technology sector.