Bạn cứ xem một trang web, một web site như một sân khấu sự kiện hoặc một bộ phim bạn xem đi cho dễ hình dung. Phần mà bạn thấy được gọi là front-end, nếu dùng tiếng Việt nó gần như là giao diện hoặc mặt tiền trang web vậy.
Vậy, phần mà bạn không nhìn thấy, như ở sân khấu, ở phim trường, những công việc vận hành nội bộ đó được xem như back-end.
Nói theo ngôn ngữ CNTT, lập trình back-end chính là lập trình ở phía server (server-side programming). Tức là mã bạn viết ra được đặt trên server, được xử lý bởi web server chứ không phải trên trình duyệt của người duyệt web.
Suy ra từ việc làm một bộ phim, bạn sẽ dễ dàng thấy rằng kết quả của back-end sẽ được chuyển giao cho front-end để phục vụ người xem. Phim thì gọi là khán giả, những người duyệt web thì gọi là người dùng (user) hoặc khách truy cập web (visitor).
Các ngôn ngữ lập trình thường dùng để viết mã cho back-end: Python, PHP, JavaScript, Ruby, Java, C#
Với những dự án web lớn, người ta thường dùng các khung mẫu (framework) và/ hoặc thư viện (library) có sẵn thay vì làm từ đầu.
Vài framework thông dụng: Laravel (PHP), Django (Python), Spring (Java), Ruby on Rails (Ruby), Meteor (JavaScript), Node.js (môi trường phát triển JavaScript), ASP.NET MVC (C Sharp).
Cũng cần phải có cơ sở dữ liệu để lưu trữ thông tin vì bản thân ngôn ngữ lập trình tự nó không thể quản lý dữ liệu hiệu quả. Người lập trình back-end thường dùng một trong các hệ quản trị cơ sử dữ liệu (CSDL): SQLite, MongoDB, MySQL, Oracle, SQL Server, IBM DB2,…
Để kết quả tạo ra trả về được cho client (tức trình duyệt web hoặc phần mềm đóng vai trò client) thì phải có web server. Những web server thông dụng: Apache, Nginx, Lighttpd, Litespeed, Caddy, Microsoft IIS, Tomcat, Jetty.
Một số trong những thứ kể trên đi với nhau theo dạng combo nên người ta sẽ gọi tắt thành các tên bạn thương gặp như: LAMP stack, MEAN stack, MERN stack, JAMStack.
Tất nhiên, không bắt buộc bạn phải đi theo bộ chuẩn như trên nếu bạn là một người viết mã khá. Nếu áp dụng cách kết hợp lạ, bạn sẽ đối mặt vấn đề khó tra cứu, tham khảo tài liệu trên các cộng đồng chia sẻ công cộng về lập trình một khi bạn gặp vướng mắc trong quá trình lập trình, viết mã.