Technology concepts for aspiring product managers
3 min read

Technology concepts for aspiring product managers

Product 101
Sep 1
/
3 min read

Technical Concepts for Product Managers

Product managers generally are responsible for ‘what’, ‘when’ and ‘why’ of the products or features that are being built and the ‘how’ of building is generally left to the engineering counterparts. Most product companies believe that product managers do not need to be tech specialists. In some companies, Product managers are expected to have enough technical fluency to be able to work closely with the engineers and to be able to talk to engineers in a language that they understand.

In this blogpost, we will look at some 4 major technical concepts that product managers need to understand to work closely with their engineering counterparts.

Database Management System (DBMS)

To put it simply, a database is just an organized collection of data. It is difficult for engineers to work on data that is unstructured. A database management system helps make data accessible, manageable, and updated. A DBMS basically acts as an interface between the database and its end-users or programs, allowing users to work on how the information is organized and optimized.

Historically, there have been multiple types of databases, but today most databases in use can be divided into 2 types:

  1. Relational databases:

This type of database defines database relationships in the form of tables. Data is organized in the form of rows and columns. It is the most popular DBMS type in the market. Database examples of the RDBMS system include MySQL and Oracle.

  1. NoSQL databases:

Unlike relational databases, which can only process structured data in NoSQL, known as Not only SQL database, provides a mechanism for storage and retrieval of data and is the next generation database. Most of the NoSQL databases are open source and have capabilities of horizontal scalability which means that more machines can be added.

There are many other types of databases such as object-oriented databases. However, the above two are most commonly used.

Cloud Computing

In the simplest terms, cloud computing means storing and accessing data and programs over the internet instead of your computer's hard drive. To be considered "cloud computing," we need to access your data or your programs over the internet, or at the very least, have that data synced with other information over the web.

Cloud computing allows users to access programs or applications traditionally stored on a computer or local server in a remote location via the internet. The entire concept rests on the premise that the actual computing tasks can be performed on a remote machine and accessed on a different one. To facilitate a seamless transition between such devices, the data transmitted during the process is stored on remote servers known as cloud servers. This takes the load off the machine being used to access and run operations and cuts the cost of maintaining a vast infrastructure capable of supporting an organization’s computing needs.

The major benefits of hosting a service on the cloud rather than private servers are reduced costs, enhanced security, better disaster recovery and scalability. Let us look at some major models of cloud computing.

  1. Software-as-a-Service (SaaS)

SaaS or software as a service is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network (internet). For e.g. Microsoft 365 and Adobe CC Design

  1. Platform-as-a-Service (PaaS)

In this service model, a server runs on the service provider’s data center’s and is fully managed and hosted by the service provider accessed by the users via the internet. The customer however is managing the applications running on the server and for the data stored on the server. This service is hosted in the cloud and Platform as a service, is referred as PaaS, it provides a platform and environment to allow developers to build applications and services. This service is hosted in the cloud and accessed by the users via the internet.

  1. Infrastructure as a Service (IaaS)

IaaS is one of the fundamental services which provides access to computing resources in a virtualized environment i.e. the server is running in the service provider’s data centres, but is fully managed by the customer. It provides computing infrastructure like virtual server space, network connections, bandwidth, load balancers and IP addresses. This includes the operating system (which can be any operating system), the applications running on this operating system and the data stored on the server.

APIs (Application Programming Interfaces)

To put it simply, APIs are tiny pieces of code that just allow applications to communicate with one another. APIs deliver the request of the user to the back-end system and deliver back the response to the user from the system.

For instance, the uber app uses the google map API to help the drivers and riders use maps on its platform. Why hasn’t it developed its own map features? The answer is simply because it takes a significant cost, time and effort to do that, while using an already existing API wouldn’t require anything more than adding a few lines of code.

There are four principal types of API commonly used in web-based applications: public, partner, private and composite. In this context, the API "type" indicates the intended scope of use.

Public APIs. A public API is open and available for use by any outside developer or business. An enterprise that cultivates a business strategy that involves sharing its applications and data with other businesses will develop and offer a public API.

Partner APIs. A partner API, only available to specifically selected and authorized outside developers or API consumers, is a means to facilitate business-to-business activities. For example, if a business wants to selectively share its customer data with outside CRM firms, a partner API can connect the internal customer data system with those external parties -- no other API use is permitted.

Internal APIs. An internal (or private) API is intended only for use within the enterprise, to connect systems and data within the business. For example, an internal API may connect an organization's payroll and HR systems.

Composite APIs. Composite APIs generally combine two or more APIs to craft a sequence of related or interdependent operations. Composite APIs can be beneficial to address complex or tightly-related API behaviours, and can sometimes improve speed and performance over individual APIs.

Machine Learning

Machine learning is a part of Artificial Intelligence (AI). However, unlike traditional programming, ML applications learn from experience (or to be precise, data) without direct programming. When exposed to new data, these applications learn, grow, change, and develop by themselves.

The Machine Learning process starts with inputting training data into the selected algorithm. Training data being known or unknown data to develop the final Machine Learning algorithm. The type of training data input does impact the algorithm, and that concept will be covered further momentarily.

New input data is fed into the machine learning algorithm to test whether the algorithm works correctly. The prediction and results are then checked against each other.

If the prediction and results don’t match, the algorithm is re-trained multiple times until the data scientist gets the desired outcome. This enables the machine learning algorithm to continually learn on its own and produce the optimal answer, gradually increasing in accuracy over time.

1. Supervised Learning

This algorithm consists of a target / outcome variable (or dependent variable) which is to be predicted from a given set of predictors (independent variables). Using these sets of variables, we generate a function that maps inputs to desired outputs. The training process continues until the model achieves a desired level of accuracy on the training data. So an algorithm that learns to predict housing prices based on multiple variables like GDP etc. would be a supervised learning.

2. Unsupervised Learning

In this algorithm, we do not have any target or outcome variable to predict / estimate. It is used for clustering populations in different groups, which is widely used for segmenting customers in different groups for specific intervention. Examples of Unsupervised Learning are being able to cluster similar data items together.

3. Reinforcement Learning:

Using this algorithm, the machine is trained to make specific decisions. It works this way: the machine is exposed to an environment where it trains itself continually using trial and error. This machine learns from past experience and tries to capture the best possible knowledge to make accurate business decisions.

For diving deeper into Technology concepts for product management, feel free to review our technology module on the course page.

Prabhjeet Singh Arora
PM Intern at Microsoft

Pursuing MBA at IIM Calcutta and passionate about all things technology. Previously worked as a software engineer at Samsung R&D and interned as a PM at Microsoft.

Technology concepts for aspiring product managers
3 min read

Technology concepts for aspiring product managers

Product 101
Sep 1
/
3 min read

Technical Concepts for Product Managers

Product managers generally are responsible for ‘what’, ‘when’ and ‘why’ of the products or features that are being built and the ‘how’ of building is generally left to the engineering counterparts. Most product companies believe that product managers do not need to be tech specialists. In some companies, Product managers are expected to have enough technical fluency to be able to work closely with the engineers and to be able to talk to engineers in a language that they understand.

In this blogpost, we will look at some 4 major technical concepts that product managers need to understand to work closely with their engineering counterparts.

Database Management System (DBMS)

To put it simply, a database is just an organized collection of data. It is difficult for engineers to work on data that is unstructured. A database management system helps make data accessible, manageable, and updated. A DBMS basically acts as an interface between the database and its end-users or programs, allowing users to work on how the information is organized and optimized.

Historically, there have been multiple types of databases, but today most databases in use can be divided into 2 types:

  1. Relational databases:

This type of database defines database relationships in the form of tables. Data is organized in the form of rows and columns. It is the most popular DBMS type in the market. Database examples of the RDBMS system include MySQL and Oracle.

  1. NoSQL databases:

Unlike relational databases, which can only process structured data in NoSQL, known as Not only SQL database, provides a mechanism for storage and retrieval of data and is the next generation database. Most of the NoSQL databases are open source and have capabilities of horizontal scalability which means that more machines can be added.

There are many other types of databases such as object-oriented databases. However, the above two are most commonly used.

Cloud Computing

In the simplest terms, cloud computing means storing and accessing data and programs over the internet instead of your computer's hard drive. To be considered "cloud computing," we need to access your data or your programs over the internet, or at the very least, have that data synced with other information over the web.

Cloud computing allows users to access programs or applications traditionally stored on a computer or local server in a remote location via the internet. The entire concept rests on the premise that the actual computing tasks can be performed on a remote machine and accessed on a different one. To facilitate a seamless transition between such devices, the data transmitted during the process is stored on remote servers known as cloud servers. This takes the load off the machine being used to access and run operations and cuts the cost of maintaining a vast infrastructure capable of supporting an organization’s computing needs.

The major benefits of hosting a service on the cloud rather than private servers are reduced costs, enhanced security, better disaster recovery and scalability. Let us look at some major models of cloud computing.

  1. Software-as-a-Service (SaaS)

SaaS or software as a service is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network (internet). For e.g. Microsoft 365 and Adobe CC Design

  1. Platform-as-a-Service (PaaS)

In this service model, a server runs on the service provider’s data center’s and is fully managed and hosted by the service provider accessed by the users via the internet. The customer however is managing the applications running on the server and for the data stored on the server. This service is hosted in the cloud and Platform as a service, is referred as PaaS, it provides a platform and environment to allow developers to build applications and services. This service is hosted in the cloud and accessed by the users via the internet.

  1. Infrastructure as a Service (IaaS)

IaaS is one of the fundamental services which provides access to computing resources in a virtualized environment i.e. the server is running in the service provider’s data centres, but is fully managed by the customer. It provides computing infrastructure like virtual server space, network connections, bandwidth, load balancers and IP addresses. This includes the operating system (which can be any operating system), the applications running on this operating system and the data stored on the server.

APIs (Application Programming Interfaces)

To put it simply, APIs are tiny pieces of code that just allow applications to communicate with one another. APIs deliver the request of the user to the back-end system and deliver back the response to the user from the system.

For instance, the uber app uses the google map API to help the drivers and riders use maps on its platform. Why hasn’t it developed its own map features? The answer is simply because it takes a significant cost, time and effort to do that, while using an already existing API wouldn’t require anything more than adding a few lines of code.

There are four principal types of API commonly used in web-based applications: public, partner, private and composite. In this context, the API "type" indicates the intended scope of use.

Public APIs. A public API is open and available for use by any outside developer or business. An enterprise that cultivates a business strategy that involves sharing its applications and data with other businesses will develop and offer a public API.

Partner APIs. A partner API, only available to specifically selected and authorized outside developers or API consumers, is a means to facilitate business-to-business activities. For example, if a business wants to selectively share its customer data with outside CRM firms, a partner API can connect the internal customer data system with those external parties -- no other API use is permitted.

Internal APIs. An internal (or private) API is intended only for use within the enterprise, to connect systems and data within the business. For example, an internal API may connect an organization's payroll and HR systems.

Composite APIs. Composite APIs generally combine two or more APIs to craft a sequence of related or interdependent operations. Composite APIs can be beneficial to address complex or tightly-related API behaviours, and can sometimes improve speed and performance over individual APIs.

Machine Learning

Machine learning is a part of Artificial Intelligence (AI). However, unlike traditional programming, ML applications learn from experience (or to be precise, data) without direct programming. When exposed to new data, these applications learn, grow, change, and develop by themselves.

The Machine Learning process starts with inputting training data into the selected algorithm. Training data being known or unknown data to develop the final Machine Learning algorithm. The type of training data input does impact the algorithm, and that concept will be covered further momentarily.

New input data is fed into the machine learning algorithm to test whether the algorithm works correctly. The prediction and results are then checked against each other.

If the prediction and results don’t match, the algorithm is re-trained multiple times until the data scientist gets the desired outcome. This enables the machine learning algorithm to continually learn on its own and produce the optimal answer, gradually increasing in accuracy over time.

1. Supervised Learning

This algorithm consists of a target / outcome variable (or dependent variable) which is to be predicted from a given set of predictors (independent variables). Using these sets of variables, we generate a function that maps inputs to desired outputs. The training process continues until the model achieves a desired level of accuracy on the training data. So an algorithm that learns to predict housing prices based on multiple variables like GDP etc. would be a supervised learning.

2. Unsupervised Learning

In this algorithm, we do not have any target or outcome variable to predict / estimate. It is used for clustering populations in different groups, which is widely used for segmenting customers in different groups for specific intervention. Examples of Unsupervised Learning are being able to cluster similar data items together.

3. Reinforcement Learning:

Using this algorithm, the machine is trained to make specific decisions. It works this way: the machine is exposed to an environment where it trains itself continually using trial and error. This machine learns from past experience and tries to capture the best possible knowledge to make accurate business decisions.

For diving deeper into Technology concepts for product management, feel free to review our technology module on the course page.

Prabhjeet Singh Arora
PM Intern at Microsoft

Pursuing MBA at IIM Calcutta and passionate about all things technology. Previously worked as a software engineer at Samsung R&D and interned as a PM at Microsoft.