"What is an API?", “Explain APIs in one minute“ This is the most popular Product management technical interview question. Software engineers talk about APIs every day. Get a 1 minute explanation of APIs in this post.
The best decision I made in my Product management career so far was to become Technical. It opened me up to 6 figure job opportunities.
For the next 8 weeks, I’ll be sharing free resources to help you become a technical product manager. Subscribe to my newsletter to get trained as a Technical Product manager.
👋 Hey, it’s Valentine. Welcome to my weekly newsletter where I share resources and tips to help you become a product manager. .
If you’re not a subscriber, here’s what you missed previously:
Get Solutions to 7 popular PM interview questions using frameworks from PMs at Google, Microsoft, and Amazon PMs. Use discount code i2s85yu today only to get a 50 % discount. Limited to 5 customers only
Get 4 case studies I submitted to hiring managers got me offers from different companies. Use discount code i2s85yu today only to get a 50 % discount. Limited to 5 customers only
Free resources (worth at least 3500$) that helped me transition from customer success to Product Management (liked by 500+ people
Sample resume used by PMs to land a Microsoft offer. (Liked by 2000+ people)
Becoming Technical will open you up to better opportunities like it did for me!
Here is why you should become technical as a product manager!
Better job opportunities: Learning technical skills opens you up to better opportunities. Some very technical companies like Google only hire Technical product manages
Improved Communication: Being technical allows you to bridge the gap between business and engineering teams, ensuring clarity and alignment on product goals.
Better Decision-Making: Understanding technical constraints helps you make informed, feasible decisions on feature prioritization and timelines.
Problem-Solving: Technical knowledge enables you to foresee potential issues, troubleshoot effectively, and collaborate efficiently to resolve challenges.
Now, Let’s dive into APIs and what they are used for!
What is an API?
API stands for Application Programming Interface. APIs allow two different software systems to communicate and share data. It is the bridge that allows “app A” to use the features and capabilities of “app B” without knowing how app B works.
You can sign into your Twitter or Instagram account using your Gmail account because of APIs.
Popular application of APIs
💡 Google Maps integration into Bolt/ Uber: Uber uses Google Maps infrastructure to show routes and locations.
💡PayPal checkout on Amazon: Using PayPal to check out on Amazon is possible because of APIs! Amazon connects with PayPal’s system to securely process your payment.
Benefits of APIs
1. Simplify Integration: APIs allow seamless data exchange between different software systems.
2. Increased Efficiency: They reduce development time by enabling the reuse of existing features and services.
3. Expand Functionality: They connect apps with third-party tools and services for richer user experiences.
Types of APIs
1. REST APIs:
stands for Representational state transfer. This is one of the popular API types. It is a flexible, web-based API that uses standard HTTP methods and formats such as JSON and XML to communicate.
PROS
Lightweight and Flexible: REST uses lightweight data formats (like JSON), making it faster and easier to handle, especially in web-based applications.
Stateless: Each request in REST is stateless, simplifying the scaling of services and making it well-suited for distributed systems.
Widespread Adoption: REST is widely adopted and supported across web and mobile applications, making it easier to find compatible tools and libraries.
CONS
No Built-in Standards for Security: REST relies on HTTPS for security but lacks the comprehensive security standards found in SOAP.
Overfetching/Underfetching: REST endpoints are often rigid, which can lead to inefficiencies like retrieving unnecessary data (overfetching) or requiring multiple requests for related data (underfetching).
Limited to HTTP: REST is typically tied to HTTP protocols, limiting its flexibility in environments where different protocols may be required.
USE CASES
Web Services: Many web services expose their functionality via REST APIs, allowing third-party developers to integrate and extend their services.
Mobile Applications: Mobile apps often communicate with backend servers using REST APIs to fetch and send data.
Single Page Applications (SPAs): SPAs use REST APIs to dynamically load content without requiring a full page refresh.
Integration Between Systems: Systems within an organization can communicate and share data using REST APIs.
2. SOAP API :
This stands for Simple Object Access Protocol. It is a strict, protocol-based API for secure and structured data exchange, often used in corporate environments
PROS
Strong Standardization: SOAP has a well-defined standard with strict specifications (like WS-Security), making it reliable for complex enterprise applications that need strong security and transaction compliance.
Built-in Error Handling: SOAP's built-in error handling helps ensure consistent communication, as it includes standardized responses for errors.
Extensive Tooling and Support: Many enterprise tools support SOAP, making it easy to integrate with legacy systems and large enterprise applications.
CONS
Complex and Verbose: SOAP's XML format and its extensive specifications make it heavy and harder to implement, leading to increased data overhead.
Less Flexible: SOAP is tightly coupled with its contract, making it harder to adapt to changing requirements without breaking compatibility.
Poor Performance: SOAP’s XML payloads are typically larger and slower to parse than other formats like JSON, which impacts performance.
USE CASES
Enterprise Applications: SOAP is often used in enterprise settings due to its robustness, extensibility, and ability to traverse firewalls and proxies.
Web Services: Many web services, especially older ones, use SOAP. This includes services offered by major companies like Microsoft and IBM.
Financial Transactions: SOAP's built-in security and extensibility make it a good choice for financial transactions, where data integrity and security are paramount.
Telecommunications: Telecom companies might use SOAP for processes like billing, where different systems must communicate reliably.
3. GraphQL:
GraphQL is a syntax that describes how to make a precise data request. Implementing GraphQL is useful for applications with a lot of complex entities referencing each other. It lets you request exactly the data you need, ideal for complex data fetching.
PROS
Flexible Data Retrieval: GraphQL allows clients to request only the data they need, reducing overfetching and underfetching issues common in REST.
Single Endpoint: Instead of multiple REST endpoints, GraphQL uses a single endpoint for all requests, which simplifies client-server interactions.
Good Tooling and Developer Experience: GraphQL has a strong developer ecosystem and introspection feature, making it easy to explore and document the API.
CONS:
Increased Complexity on the Server: GraphQL requires more server-side logic to handle different types of queries, leading to potentially complex and resource-heavy servers.
Caching Challenges: Since all requests go to a single endpoint, caching responses (e.g., with HTTP caching) becomes more challenging, often requiring custom caching solutions.
Overly Flexible for Complex Operations: For complex, large-scale systems, the flexibility of GraphQL can make query management difficult and may result in inefficient queries that degrade performance.
USE CASES
Flexible Frontends: For applications (especially mobile) with crucial bandwidth, you want to minimize the data fetched from the server.
Aggregating Microservices: A GraphQL layer can be introduced to aggregate the data from these services into a unified API if you have multiple microservices.
Real-time Applications: With its subscription system, GraphQL can be an excellent fit for applications that need real-time data, like chat applications, live sports updates, etc.
Version-Free APIs: With REST, you often need to version your APIs once changes are introduced. With GraphQL, clients only request the data required, so adding new fields or types doesn't create breaking changes.
4. gRPC: stands for Google Remote Procedure Call. This is a high-speed API that connects microservices and supports real-time communication between systems. This is a modern, open-source framework built on top of RPC that uses HTTP/2 for transport and Protocol Buffers as the interface description language, providing features like authentication, load balancing, and more to facilitate efficient and robust communication between microservices.
PROS:
High Performance and Efficiency: gRPC uses HTTP/2 and Protocol Buffers (Protobuf) for efficient binary serialization, which results in faster performance and lower data usage compared to JSON or XML.
Supports Bidirectional Streaming: gRPC allows for bidirectional streaming, which can provide real-time data exchange, making it ideal for applications requiring high interactivity.
Strongly Typed Contracts: Protobuf enforces a strict contract, which aids in consistent data structures and better backward compatibility across services.
CONS
Limited Browser Support: gRPC is not natively supported by most browsers, requiring additional client libraries or workarounds to make it compatible with web applications.
Steeper Learning Curve: Protocol Buffers and gRPC’s binary format can be challenging to learn and implement, especially for teams used to REST.
Less Flexible for Simple APIs: gRPC’s strict contracts can be overkill for simpler applications where REST would suffice.
Use Cases
Microservices: gRPC is commonly used in microservices architectures due to its performance characteristics and ability to define service contracts easily.
Real-time Applications: Given its support for streaming, gRPC is suitable for real-time applications where servers push data to clients in real-time.
Mobile Clients: gRPC's performance benefits and streaming capabilities make it a good fit for mobile clients communicating with backend services.
5. WebSocket: provides continuous, two-way communication over a single TCP connection great for live updates and interactive apps. Unlike traditional HTTP, which operates on a request-response model, WebSockets enables real-time data exchange by keeping the connection open, making it ideal for applications that require instant updates without frequent HTTP requests.
PROS
Provides real-time, bidirectional communication.
Efficient data transfer with minimal overhead after initial handshake.
Ideal for interactive applications (e.g., gaming, chat, live updates).
CONS
Not as universally supported as HTTP-based protocols.
Stateless, requiring additional mechanisms for authentication.
Complex error handling and reconnection logic in unreliable networks.
USE CASES
Live Chat Applications: Enables seamless, real-time messaging without delays, creating a smooth, interactive chat experience.
Online Gaming: Supports real-time interactions between players, ensuring low latency and immediate game state updates.
Stock Market or Cryptocurrency Price Tracking: Provides instant updates on fluctuating prices, allowing users to make timely financial decisions.
That’s it for today. See you next week!
When you are ready I can help you in 4 ways!
Get Solutions to 7 popular PM interview questions using frameworks from PMs at Google, Microsoft, and Amazon PMs. Use discount code i2s85yu today only to get at a 50 % discount. Limited to 5 customers only
Get 4 case studies I submitted to hiring managers got me offers from different companies. Use discount code i2s85yu today only to get at a 50 % discount. Limited to 5 customers only
Free resources (worth at least 3500$) that helped me transition from customer success to Product Management (liked by 500+ people
Sample resume used by PMs to land a Microsoft offer. (Liked by 2000+ people)
dback from a PM in the United Kingdom who landed her first role through close mentorship
Free Resources:
Introduction to API product management by Paypal Product leader
Importance of Tech skills by Salesforce PM
What does it mean to be a Technical Prod Manager by Nike PM
What does it mean to be AI Product Manager by Amazon PM