What Does a Front-End Developer Do?

I was recently asked by a coworker what my job title was. Since my job title and role have been on my mind a lot lately, I thought it would make for an interesting post. For any of you who have wondered what exactly I do (mom and dad included), I hope this helps.

Defining “Front-End”

When thinking about websites, I usually divide them into two parts: Front-End and Back-End. The Back-End pieces are things we don’t see when visiting websites – where our credit card information is stored at Amazon.com, for example. I consider Back-End technologies to be servers, server-side programming languages such as PHP and ASP, and databases. Very simple websites may not even need to use a programming language or database. Server-side languages do their work before a visitor even knows what happened.

The Front-End, however, is more closely tied to how we experience a website. Images, colors, arrangement of text on a page–that’s what I do. I take a website design and use XHTML and CSS to tell a web browser (Firefox, Internet Explorer, etc) how to make that design into a live site. It takes immense attention to detail to ensure a designer’s vision is accurately portrayed on the web.

Another aspect of the front-end is behavior. Special effects, form submissions, and even some browser limitations (I’m looking at you, IE6) require more than what XHTML and CSS can offer. This is where JavaScript comes in. A very basic definition of JavaScript is a client-side programming language used to make web pages interactive. There is a bit of crossover possible with JavaScript — using AJAX, JavaScript can actually communicate with servers, effectively blurring the line between the front-end and back-end. I am still somewhat new to JavaScript, but have learned a lot over the past year and a half.

The Gray Area

While XHTML, CSS, and JavaScript seem to easily fit the description of front-end technologies, the role of a Front-End Developer isn’t always so clear. While searching for job postings, I have found that a Front-End Developer’s duties can include everything from website design to server-side programming languages. I can understand how design would fit in because it is directly related to the front-end. However, including server-side languages doesn’t make much sense to me. If you’re looking for someone to do front-end and back-end work, Front-End Developer just doesn’t seem to be an appropriate job title (and is probably not an appropriate salary level for that matter).

compatibility and accessibility

XHTML and CSS are really just the beginning when it comes to Front-End development. Though there are web standards, certain web browsers (read: Internet Explorer) don’t adhere to them all the time. I spend a lot of time troubleshooting browser inconsistencies—it is easily the most frustrating part of the job. Testing web sites in Internet Explorer is not for the faint of heart!

A front-end developer must also be aware that some website visitors have special needs. Not everyone has the ability to use a mouse or see a computer screen, so websites need to be made in a way that accommodates the most people possible.

Though it has plenty of challenges, front-end development is an exciting and rewarding career. Because the industry is always changing, you have the opportunity to be continuously learning new things. And when you need help, there’s an awesome community to help you find answers.

share this post

  • Twitter
  • Facebook
  • StumbleUpon
  • del.icio.us

8 Comments on “What Does a Front-End Developer Do?”

  1. Lar Van Der Jagt said on 21 January, 2010 at 7:34pm:

    I consider myself a ‘full-stack’ developer, comfortable on both sides of the line. The more aware you are of the capabilities on each side the easier it is to integrate them.

    For a concrete example, I use Ruby (a server side scripting language) to be more effective in the front-end. It lets me build up reusable design patterns/modules that get filled in with content from server side data. When I need to make a change in how one of those modules is displayed, I change it in one place & the change appears everywhere else in the site.

    Additionally there are many frameworks available now which take a bunch of chunks of HTML and some dynamic data and mash them together to generate a static site. They let you do things like site-wide layouts or navigation without a heavyweight application framework.

  2. Larry A. said on 21 January, 2010 at 8:28pm:

    My experience has led me to play both sides of the line, front and back-end (client vs. server side coding). I’ve found that understanding what each can do has given me wisdom to know that doing something on either end won’t break the other end.

    I’ve seen that Website Designers or Graphic Designers can do a lot of the Front-End work: producing creative designs for a website and turning it into CSS goodness; reworking an existing site to look a lot better than it currently is. When you begin to talk JavaScript then you’re more likely to be doing the back-end coding too I would think (coding vs. design).

  3. amuhlou said on 21 January, 2010 at 8:36pm:

    Crossing over is definitely something I’d like to eventually be able to do well. I’m still at the “worried I’ll break something” stage for the most part.

  4. dad said on 22 January, 2010 at 6:02am:

    thanks for the shout out. now i can say more than “she works with websites”!

    love
    dad

  5. amuhlou said on 22 January, 2010 at 7:05am:

    well, “she works with websites” works too hehe

  6. Larry A. said on 22 January, 2010 at 8:01pm:

    I’d say you have roughly equal chance at ‘breaking something’ on both sides. Take it slow and you’ll get it.

  7. Naga - Graphic / Web designer said on 14 April, 2010 at 12:14pm:

    Now I can call myself a Front-end developer too :)

have your say