In the beginning, web servers were just a way to deliver files. With time, people realized that the web could do a lot more if you didn’t have to create all of the files ahead of time. This led to the development of ways to create the files (mostly “web pages”) on-demand. Back-end development includes all the ways this is done. (You may sometimes hear the term “server-side.” That’s basically the same as “back-end.”)

No one starts back-end development from scratch. Instead, they use a web framework which handles the lowest-level parts consistently, so the developer can focus on the parts that are unique to any given project. There are web frameworks available for every popular programming language, and usually more than one! See below for more.

Another term you might hear is CMS or Content Management System. Content Management Systems can often be set up by non-programmers and customized using web-based interfaces. Often they can also be customized with code, as well.

The most popular CMS out there today is WordPress; some estimates say more than 40% of websites in the world run on WordPress. There are lots of jobs in journalism that have to do with customizing WordPress at various levels. WordPress has extensive online documentation for developers. Knight Lab doesn’t do a lot of WordPress development, but we have a little experience.

Python web frameworks

JavaScript web frameworks

While JavaScript originated in the browser, it has developed into a first-class programming language. Knight Lab doesn’t use these tools regularly, so we’re less able to recommend one specifically. Several JS web frameworks are tightly linked to front-end JS libraries.