//pragmatic leaders

Front End, Back End, and Tech Stacks Explained

Reading time
6 min
Section
PM Foundations (Legacy)
6 min left0%
front end, back end, and tech stacks explained0%
6 min left
If you are in the decision-making for technology, you have to be very conscious about the load times and scalability of frameworks. Your product's performance depends on these choices.
Talvinder Singh, from a Pragmatic Leaders Technology for Managers session

Front-end and back-end are the two fundamental halves of any software product. Together, they form the complete system your users interact with — even though what they see is only the tip of the iceberg.

Understanding how these two parts fit together, and what tech stacks power them, is essential for any product manager. Your actual job is not to code, but to make informed decisions that affect user experience, development velocity, and maintainability.

Front-end is the user’s window into your product

Front-end is the part of the app or webpage that a user sees and interacts with directly.

If it’s an app, it’s the app interface. If it’s a website, it’s the web interface. This is the final endpoint where users engage with your product.

There are two parts to front-end:

  • Design: How it looks and feels — the fonts, colors, buttons, layouts.
  • Development: How it works — the interactive elements, transitions, and user input handling.

The building blocks of front-end development are three core technologies:

  • HTML (HyperText Markup Language): Provides the structure of your page. Think of it as the rods and concrete in a building.
  • CSS (Cascading Style Sheets): Controls the visual styling, like paint and decorations.
  • JavaScript: Adds behavior and interactivity — dropdowns, sliders, buttons, form validation.

Together, these three shape the entire front-end experience.

When a user loads a site, their browser fetches HTML, CSS, and JavaScript from the server. Client-side scripts run in the browser and can process requests without needing to call back to the server every time. When data is needed, JavaScript and AJAX send requests to the back end.

Responsive front-end design allows your site or app to adapt to different devices — from mobile phones to desktops.

// thread: #general — A product manager asks the front-end engineer about technologies
You (PM)Can you explain what makes up our front-end stack?
Meera (Front-End Engineer)Sure! We mainly use HTML5 for structure, CSS3 for styling, and JavaScript for interactivity. We also leverage ReactJS as our front-end framework.
You (PM)Why ReactJS?
Meera (Front-End Engineer)React helps us build reusable UI components and manage state efficiently, which improves performance and maintainability.

Back-end is the engine room powering your product

Back-end refers to everything happening behind the scenes — the logic, data processing, and storage that users don’t see.

It consists of three parts:

  • Server: The machine or cluster where the application runs.
  • Application: The code that implements business logic, processes requests, and orchestrates data flow.
  • Database: Where all the application data is stored and managed.

Back-end handles security, content management, and the core functionality of your product.

When the front-end needs data — say, a user profile or product list — it sends a request to the back-end server. Server-side scripts process the request, query the database, and send back the response to the front-end.

// scene:

Product team discussion about back-end choice

You (PM): “What languages and frameworks are we using on the back-end?”

Rahul (Backend Engineer): “We use Python with the Django framework. It lets us build APIs and manage the database easily.”

You (PM): “Are there alternatives we considered?”

Rahul (Backend Engineer): “Yes, Ruby on Rails, Node.js with Express, but Python/Django fits our team's expertise and scales well for our needs.”

// tension:

Choosing a back-end stack affects development speed and scalability.

What is a tech stack, and why does it matter?

A tech stack is the collection of technologies used to build and run your product — including programming languages, frameworks, databases, servers, and operating systems.

Think of it as the skeleton of your product. Just as a building’s foundation and pillars determine its strength and shape, your tech stack determines your product’s performance, quality, and sustainability.

For example, a web app built on Ruby on Rails (language + framework), communicating with a MySQL database, hosted on an Apache server, and using HTML/CSS/JavaScript for the front-end forms a complete tech stack.

Your users never see the tech stack directly — it is hidden behind the scenes.

Choosing the right tech stack early on is critical because once your product is built, changing the underlying skeleton is very difficult.

Common back-end frameworks and languages

Back-end development uses various languages and frameworks, each with strengths and trade-offs:

FrameworkLanguageNotes
Ruby on RailsRubyOpinionated, great for rapid dev
DjangoPythonBatteries-included, scalable
ExpressNode.jsLightweight, JavaScript-based
LaravelPHPPopular in web apps, easy to learn
.NETC#Enterprise-grade, Windows-centric

Other languages used in back-end include Java, C++, Erlang, and more, depending on system requirements.

Common front-end frameworks and libraries

While you can build front-end with just HTML, CSS, and JavaScript, frameworks help you manage complex UI and improve development speed.

Popular front-end frameworks include:

  • ReactJS: Component-based, widely used, maintained by Facebook.
  • AngularJS: Full-featured framework by Google.
  • Vue.js: Lightweight and progressive.

Presentation frameworks like Bootstrap help create responsive, clean web pages quickly.

How front-end and back-end work together

The front-end acts as a bridge between the user and the back-end.

User actions on the front-end trigger JavaScript events, which may send API calls to the back-end. The back-end processes these calls, interacts with the database, and sends responses back, which the front-end uses to update the UI dynamically.

This client-server model is foundational to modern web and mobile apps.

The importance of being conscious about tech stack choices

As a product manager, you might wonder why the technology stack matters so much.

Here is the uncomfortable reality: the technology you choose determines your product’s performance, scalability, and how fast your team can build and iterate.

For example, some servers handle read operations better than write operations. If your app is read-heavy, choosing the right server can improve speed and reduce costs.

Certain frameworks are heavy and slow your page load times. Others are lightweight but require more engineering effort.

You will hear engineers say, “If you don’t allow me to use this package, it will take me a week longer to develop.” You must take that call based on product priorities — sometimes rejecting a package because it adds 15KB to your page load is the right move.

Example: The LAMP stack

One of the classic back-end stacks is LAMP:

  • L: Linux (Operating System)
  • A: Apache (Web Server)
  • M: MySQL (Database)
  • P: PHP (Programming Language)

Over time, PHP has often been replaced by Ruby or Python in modern stacks, but the LAMP stack laid the foundation for many web applications.

Front-end and back-end stacks summarized

AspectFront-EndBack-End
User visibilityDirectly seen and interacted withHidden from users
Main componentsHTML, CSS, JavaScriptServer, application code, database
FocusDesign, interactivity, responsivenessBusiness logic, data processing, storage
Common frameworksReactJS, AngularJS, Vue.jsDjango, Ruby on Rails, Express, Laravel

Field Exercise: Map your product’s tech stack (10 min)

Pick a product you use or manage — could be Swiggy, Razorpay, Meesho, or any app.

  1. Identify what technologies power the front-end: what frameworks, languages, or libraries are used?
  2. Identify the back-end technologies: what server-side language, framework, database, and server does it use?
  3. Reflect on how these choices might impact the product’s speed, scalability, and user experience.
  4. Think about what trade-offs might have been made when choosing these technologies.

Test yourself: The tech stack decision (JudgmentExercise + PracticeExercise)

// learn the judgment

You are a PM at a Series A fintech startup in Bangalore building a customer dashboard. The engineering lead proposes switching from a lightweight JavaScript framework to a heavy but feature-rich one that will add 20KB to page load and increase development speed by 2 weeks. Your users are mostly on mobile data connections.

The call: Do you approve the framework switch? How do you justify your decision to the engineering team and leadership?

Your reasoning:

// practice

You are a PM at a Series A fintech startup in Bangalore building a customer dashboard. The engineering lead proposes switching from a lightweight JavaScript framework to a heavy but feature-rich one that will add 20KB to page load and increase development speed by 2 weeks. Your users are mostly on mobile data connections.

Your task: Do you approve the framework switch? How do you justify your decision to the engineering team and leadership?

your reasoning:

0 chars (min 80)

Where to go next