Fatskills
Practice. Master. Repeat.
Study Guide: Principles of Product Management: Frontend vs Backend (What Engineers Mean by ‘Tech Stack’)
Source: https://www.fatskills.com/ccent/chapter/product-management-frontend-vs-backend-what-engineers-mean-by-tech-stack

Principles of Product Management: Frontend vs Backend (What Engineers Mean by ‘Tech Stack’)

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~7 min read

Frontend vs Backend (What Engineers Mean by ‘Tech Stack’)



Frontend vs Backend (What Engineers Mean by ‘Tech Stack’)


What This Is

The tech stack is the combination of programming languages, frameworks, databases, and tools used to build a product. Frontend (client-side) is what users interact with (e.g., a mobile app screen, a website button), while backend (server-side) handles logic, data storage, and infrastructure (e.g., processing payments, storing user profiles). Understanding this distinction helps PMs: - Scope features accurately (e.g., "Does this UI change require backend work?").
- Prioritize work (e.g., "Is this a frontend-only tweak or a full-stack overhaul?").
- Communicate with engineers (e.g., "This API endpoint needs to return X data for the frontend to render Y").

Real-world example: When Instagram launched "Stories," the frontend team built the UI (swipeable cards, filters), while the backend team handled: - Storing millions of ephemeral videos.
- Optimizing delivery speed (CDNs, compression).
- Syncing stories across devices in real time.


Key Terms & Frameworks

  • Frontend (Client-Side):
    The part of the product users see and interact with. Built with:
  • HTML/CSS/JS (web) or Swift/Kotlin (mobile).
  • Frameworks: React, Angular, Vue.js (web); Flutter, React Native (cross-platform mobile).
  • Key concern: Performance (e.g., "Does the page load in <2s?"), accessibility, and UX.

  • Backend (Server-Side):
    The "invisible" infrastructure that powers the product. Includes:

  • Servers: AWS, Google Cloud, or on-premise hardware.
  • Databases: SQL (PostgreSQL) for structured data; NoSQL (MongoDB) for flexibility.
  • APIs: REST or GraphQL endpoints that fetch/send data to the frontend.
  • Key concern: Scalability (e.g., "Can the system handle 10K concurrent users?"), security, and data integrity.

  • Full-Stack:
    A feature or engineer that works on both frontend and backend. Example: Building a "Save for Later" button requires:

  • Frontend: UI to display saved items.
  • Backend: Database to store the list and API to fetch it.

  • Tech Stack Layers (Top to Bottom):

  • Presentation Layer (Frontend): UI/UX.
  • Application Layer (Backend): Business logic (e.g., "Calculate tax for this order").
  • Data Layer (Backend): Databases, caches (e.g., Redis), and storage.
  • Infrastructure Layer: Servers, networking, security (e.g., AWS, Kubernetes).

  • API (Application Programming Interface):
    A contract between frontend and backend. Example: A frontend requests /api/user/123 and expects a JSON response like: json { "name": "Alice", "email": "[email protected]" }

  • REST API: Standard for web services (uses HTTP methods: GET, POST, PUT, DELETE).
  • GraphQL: Lets frontend request only the data it needs (e.g., "Give me the user’s name and last 3 orders").

  • Latency vs. Throughput:

  • Latency: Time for a single request (e.g., "How long to load a profile page?").
  • Throughput: Number of requests handled per second (e.g., "Can the backend process 1K logins/sec?").

  • Monolith vs. Microservices:

  • Monolith: Single codebase for all features (e.g., early-stage startups). Simpler but harder to scale.
  • Microservices: Features split into independent services (e.g., Uber’s "Payments" service vs. "Ride Matching" service). More scalable but complex.

  • Caching:
    Storing frequently accessed data (e.g., user profiles) in memory (Redis) to reduce backend load. Example: Twitter caches tweets to avoid hitting the database for every request.

  • CDN (Content Delivery Network):
    Distributed servers that cache frontend assets (images, JS) closer to users. Example: Netflix uses CDNs to stream videos without buffering.

  • Tech Debt:
    Shortcuts taken in development that create future work. Example: Hardcoding a list of countries in the frontend instead of fetching them from the backend. PMs must balance speed vs. debt.

  • Feature Flag:
    A toggle to enable/disable features without deploying code. Example: A/B testing a new checkout flow for 10% of users.


Step-by-Step / Process Flow

How to scope a feature with frontend/backend considerations:


  1. Map the User Flow
  2. Draw the steps a user takes (e.g., "Add to Cart → Checkout → Payment → Confirmation").
  3. Identify where frontend/backend interact (e.g., "Checkout button triggers a POST to /api/checkout").

  4. Define Data Requirements

  5. List all data needed (e.g., "Product ID, user address, payment token").
  6. Decide where data lives:


    • Frontend: Temporary (e.g., form inputs before submission).
    • Backend: Persistent (e.g., user’s saved addresses).
  7. Design the API Contract

  8. Specify endpoints (e.g., GET /api/products/{id}).
  9. Define request/response formats (e.g., "Return price as a float, in_stock as a boolean").
  10. Use tools like Swagger or Postman to document this.

  11. Estimate Effort

  12. Ask engineers: "Is this frontend-only, backend-only, or full-stack?"
  13. Example estimates:


    • Frontend-only: "Update button color" → 1 day.
    • Full-stack: "Add a new payment method" → 2 weeks (frontend UI + backend logic + database changes).
  14. Prioritize with Engineering

  15. Use ICE Score (Impact, Confidence, Ease) or RICE (adds Reach).
  16. Example: "This frontend tweak (ICE=10) is faster than the backend overhaul (ICE=5)."

  17. Plan for Dependencies

  18. If backend work is blocked (e.g., "API isn’t ready"), can frontend mock data for testing?
  19. Use feature flags to decouple releases.

Common Mistakes

  • Mistake: Assuming a "simple" UI change is frontend-only.
    Correction: Always ask, "Does this require new data or logic?" Example: A "Share" button might need backend work to generate a unique link.

  • Mistake: Ignoring latency in user flows.
    Correction: Measure Time to First Byte (TTFB) and Total Load Time. Example: A slow API call can make a "fast" frontend feel sluggish.

  • Mistake: Treating the tech stack as "engineering’s problem." Correction: PMs must understand trade-offs (e.g., "Microservices add complexity but let us scale payments independently").

  • Mistake: Not accounting for mobile vs. web differences.
    Correction: Mobile apps often need offline support (e.g., caching data locally) and battery efficiency (e.g., reducing API calls).

  • Mistake: Overlooking security in API design.
    Correction: Ensure endpoints use authentication (e.g., JWT tokens) and rate limiting (e.g., "No more than 10 requests/minute per user").


PM Interview / Practical Insights

  1. Tricky Question: "How would you decide whether to build a feature as a monolith or microservice?"
  2. Answer: Use modularity and scalability as criteria:
    • Monolith: Good for early-stage products (faster to build, simpler to debug).
    • Microservices: Good for large-scale products (e.g., "Payments" and "Recommendations" teams can work independently).
  3. Follow-up: "What’s the trade-off?" → Microservices add complexity (e.g., network latency, debugging across services).

  4. Stakeholder Trap: "Why can’t we just ‘make it faster’?"

  5. Answer: Speed depends on frontend optimizations (e.g., lazy-loading images) and backend optimizations (e.g., database indexing). Ask:


    • "Is the bottleneck in the API response time or the frontend rendering?"
    • "Can we cache this data?"
  6. Interview Probe: "How would you handle a situation where the frontend team is blocked waiting for the backend API?"

  7. Answer: Use mock data (e.g., hardcoded JSON responses) or feature flags to unblock frontend work. Example: Airbnb’s frontend team built UI prototypes with fake data while the backend caught up.

  8. Distinction: "What’s the difference between a user story and a technical task?"

  9. User Story: Focuses on user value (e.g., "As a shopper, I want to save my payment details so I can checkout faster").
  10. Technical Task: Focuses on implementation (e.g., "Build a POST /api/payments endpoint to store credit cards").

Quick Check Questions

  1. Scenario: Your team wants to add a "Dark Mode" toggle to your app. The frontend engineer says it’s a 1-day task, but the backend engineer says it’s 2 weeks. What’s likely happening?
  2. Answer: The backend engineer might be assuming the toggle requires persisting user preferences (e.g., storing "dark_mode: true" in the database). Correction: Clarify if the setting can be stored locally (frontend-only) or needs to sync across devices (backend work).

  3. Scenario: Users complain that your e-commerce site’s search is slow. The frontend loads in 1s, but the search results take 5s. Where’s the bottleneck?

  4. Answer: The backend API (e.g., database query or unoptimized search algorithm). Correction: Work with engineers to add caching (e.g., Redis) or indexing to the database.

  5. Scenario: You’re launching a new feature that requires real-time updates (e.g., a live chat). What tech stack considerations do you need?

  6. Answer: You’ll need:
    • Frontend: WebSockets (for real-time communication) or a framework like Firebase.
    • Backend: A scalable service (e.g., Kafka for message queues) to handle high concurrency.
    • Infrastructure: Load balancers to distribute traffic.

Last-Minute Cram Sheet

  1. Frontend = User-facing (UI, UX, performance). Backend = Behind-the-scenes (logic, data, scalability).
  2. APIs are the bridge between frontend and backend (REST/GraphQL).
  3. Latency = Single request speed. Throughput = Requests per second.
  4. Monolith = One codebase. Microservices = Split by feature.
  5. Caching (Redis) reduces backend load. CDNs reduce frontend load.
  6. Feature flags let you toggle features without deploying.
  7. Tech debt = Shortcuts that create future work. ⚠️ Always ask, "What’s the cost of this shortcut?"
  8. Mobile vs. web: Mobile needs offline support and battery efficiency.
  9. Mock data unblocks frontend work when backend is delayed.
  10. ⚠️ "Simple UI change" ≠ "frontend-only." Always ask, "Does this need new data?"


ADVERTISEMENT