FRONT END
The fundamentals of HTML,CSS, Javascript, which is all you basically need to develop front-end, you may want to learn some other related technologies. You can do without these technologies but these will make your web development task a lot more easy. They are :
a) javascript libraries : jquery/ExtJS/YUI/etc. These libraries make working with javascript and ajax a lot more easy.
b) Javascript frameworks : angular.js/backbone.js/sproutcore/etc. Advanced MVC frameworks for projects that use a lot of javascript.
c) frontend frameworks : twitter bootstrap/foundation. Learn any one.
d) CSS preprocessors : LESS/SASS. Adds new capabilities to css like variables, mixins, etc.
e) Coffeescript : A language that compiles to javascript.