In layman's words:
Here I will talk only about web programming.
Its main tasks are:
- validating input
- manipulating UI elements
- applying styles
- some calculations are done when you don't want the page to refresh so often
The person in charge of front end programming must know:
- basic graphic design
- maybe Flash
- UI design
- information design, etc.
Server side programming has to do with generating dynamic content. It runs on servers. Many of these servers are "headless". Most web pages are not static, they search a database in order to show the user updated personalized information. This sides interacts with the back end, like say, the database.
This programming can be done in a lot of languages:
- Java and jsp
- Ruby on Rails, etc.
This code has to do which:
- Querying the database
- Encode the data into html
- Insert and update information onto the database
- Business rules and calculations
The person in charge of server side programing must know:
- some of the languages mentioned above
- linux/unix shell scripting
- business rules, etc.