Why Project Managers should keep their tech skills honed. Part 2
As I mentioned in Part 1 of this article, technical skills are critical for project managers to succeed in today’s complex business environment. There are several important technology concepts that you should understand to effectively manage and deliver complex technical projects. Here are some of, what I consider, the most important concepts:
Application Programming Interfaces (APIs):
APIs are a set of protocols and tools for building software applications. Understanding APIs is crucial for technical project managers, as they are used extensively in modern software development to enable communication between different systems and services.
One of my most interesting customer collaborations was with PostMan, a SaaS company that offers a platform for building and creating APIs. Fortunately, I knew enough about APIs to follow the conversations and occasionally chime in with an opinion.
Be sure you understand concepts such as WebSocket, SOAP, REST, and endpoints to name a few. You can visit HERE for an overview of APIs. You can also check out this GitHub repo for a list of free APIs.
Cloud Computing:
Cloud computing refers to the delivery of computing resources over the internet. As a technical project manager, it is crucial to understand the different cloud computing models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), and how they can support your projects. It is also highly recommended that you become acquainted with at least one of the most commonly used cloud platforms and their services.
The table below provides an idea of the various services offered by different cloud providers. Being familiar with these terms is essential to effectively follow cloud-related conversations. The below table should give you an overview of common services across different cloud platforms.
To learn more about cloud computing and understand the essentials, I recommend going to AWS Skills builder and taking the AWS Technical Essentials and AWS Cloud Practitioner Essentials training. I’m currently using an EC2 instance running Ubuntu for my Online resume.
Microservices Architecture:
Microservices are an architectural style in which complex applications are broken down into smaller, independently deployable services. Understanding microservices architecture is crucial for project managers, as most tech companies, especially SaaS startups, adopt this approach. Those who do not yet utilize them are likely in the process of migrating from a monolithic architecture to microservices.
Such was my first foray into microservices; I participated in a project to break down a monolithic application into microservices using Domain-Driven Design. During the project, I learned why microservices are, in most cases, a better approach to building software. Mainly, they promote agility, and flexibility, and enhance scalability and resilience in large-scale software projects.
It is essential to become familiar with key concepts such as Service-oriented architecture (SOA), Monolithic architecture, Containerization, and Event-Driven architecture, to name a few. There is a wealth of information available on microservices architecture, and I recommend you dive deep by researching online. You can start here and here.
DevOps:
DevOps is a set of cultural philosophies, practices, and tools that prioritize collaboration and communication between software developers and IT operations teams. For technical project managers, understanding DevOps is critical for improving software delivery speed, quality, and reliability.
To become proficient in DevOps, it’s important to familiarize yourself with key concepts such as Site Reliability Engineering (SRE), Continuous Integration (CI), Continuous Delivery (CD), DevOps Pipeline, Monitoring, Git, Containers, and Infrastructure as Code (IaC). Additionally, it’s helpful to have knowledge of some of the primary tools used in DevOps, such as Terraform, Ansible, GitHub, Docker, Kubernetes, Jenkins, and others.
By mastering DevOps, technical project managers can help their teams work more efficiently, reduce errors, and ultimately deliver better software products. You can learn more about DevOps here.
Anything and Everything Data:
As a technical project manager, having a comprehensive understanding of Data Analytics, Data Science, Data Engineering, and Business Intelligence is crucial. You must have a clear understanding of their fundamental concepts, including their primary focus, activities, tools and technologies, and applications.
Data Science primarily focuses on utilizing advanced statistical models and machine learning algorithms to extract insights from complex data sets. Data Engineering, on the other hand, deals with designing and maintaining data storage and processing infrastructure. Data Analytics involves analyzing data to gain insights and make data-driven decisions. Lastly, Business Intelligence focuses on presenting data in a meaningful way to support business decision-making processes.
By having a strong grasp of these key areas, technical project managers can better communicate with their team and stakeholders, make informed decisions, and manage projects that have data at their core more effectively.
The below table will give you a quick overview of each.
It is essential for project managers to have a solid understanding of the key technology concepts that are critical to managing and delivering complex technical projects. APIs, cloud computing, microservices architecture, DevOps, and data are just some of the areas that require familiarity. By mastering these concepts, project managers can effectively communicate with their team and stakeholders, make informed decisions, and manage projects that have technology at their core more efficiently. With a continuously evolving technology landscape, staying up-to-date with the latest trends and tools is essential for project managers to help their organizations stay competitive.