

What is a front-end developer? - peterchon

What exactly is a front-end developer? how is it different from a back-end developer? And where does a web designer fit in all this?<p>I ask this because most front-end developer positions require that you know a lot of different server-side languages like Python, Ruby, PERL.<p>And why is Object-oriented scripting so important?
======
saiko-chriskun
In my view, there are three main domains in the tech side of web development.

First is the designer, who's responsible for all the graphic work/creation
(most likely in photoshop). This is the main UI/UX role where they're
responsible for, as you said, creating a visually attractive and highly usable
interface.

Next up is the frontend engineer who takes that and codes up the equivalent
html, css, and javascript to interface with the backend, which would obviously
be built by the backend engineer.

Now of course some of these responsibilities may overlap in some cases, for
example I'm a front and backend engineer, but usually don't handle the actual
design work, and there are some awesome designers out there who can also
actually code up their work.

~~~
peterchon
It's interesting that you consider yourself a front & backend engineer - does
that mean you would apply for both jobs? or Do you concentrate on either?

My conundrum is that employers are actively seeking "Front-End Developers"
without understanding what that really means.

~~~
RollAHardSix
As someone who wears all 3 hats, print/web/graphic designer, front-end
developer, and back-end developer, I generally apply to whichever description
seems the most relevant to my skill-set and what I would LIKE to be doing at
the company(ie. which I would come off strongest in during an interview).

I've seen many job postings where Front-End Developers are just HTML/CSS
luckily this seems to be changing to include scripting languages, which I
favor. Generally the database, server work is handled by the Back-End
Developers and with communication the business logic is handled by both but
more commonly by the back-end developer or general programming guys.
(Depending on company size of course)

Design belongs to designers (but really, more often than not, upper
management). At this stage in the game, good designers can give you HTML/CSS,
great designers can give you scripting work as-well. But their are also great
designers who can't write a line of HTML/CSS, but that's more of a
experience/working as-a-team thing. I would much prefer to work with a
designer who can't code, but understands basic limitations of the web and is a
fantastic mockup/layout-guy, then I would with a semi-decent mockup and semi-
decent coding guy. (Let's face it, if you have time and it doesn't match your
usual style, you generally try to make it conform as best as possible)

Anyways, like all answers...it depends.

Keep in mind too if an ad is looking for just a HTML/CSS guy; knowing how to
script may be a bonus and may come off as such, until you sit-down and the
'coder' already in place, doesn't want you touching anything. Oh, silly
politics.

~~~
peterchon
That's the thing - I currently am the design/web guy. But I would rather
concentrate on a single area then be the guy who can do it all. Sure, it's
nice to know every aspect of development, but I rather be REALLY good at one
thing then be average across the border.

With that said, I think it's really our fault that there's really no clear
distinction between the front-end (client side) vs. the back-end (server-
side.) I've seen senior "front-end developer" who only uses jQuery because he
doesn't know JavaScript. And it's funny that you bring up politics, because
that guys would get mad at me because I would show him a easier way (in
jQuery, mind you) for traversing the DOM.

Sometimes, I wish there's was a certification process to be able to call
yourself a "designer", "developer", or "programmer". I think it would make
finding job/candidates much easier.

------
dawson
None of our front-end developer positions require knowledge of any server-side
languages. I suppose it would be an advantage, but it's certainly not
something we look or advertise for (example of a recent front-end role we
recruited for <http://goo.gl/ZP6ZL> [howareyou.com])

Interesting question though and I look forward to seeing some of the
responses.

[Edit] I just asked one of our front-end contractors and she said it's not
usually a requirement but most job advertisements she has replied to have said
it would be desirable to at least know one (depending on their stack). So, I
stand corrected.

~~~
peterchon
Thank you for replying. I see that the advertised position require a lot of
programing knowledge (not language specific)

So this raises the question again. Are your UI/UX designer considered web
designers? or is your front-end developer a web-designer?

How does this: Events, Remote Data, DOM, Object Prototypes, Data Types and
Scope, understanding of application side security models, client side app
hardening, XSRF, etc.

Apply to the daily function? What is it that the developer is building that
he/she is required to know all of this? Aside from DOM, the other skills are
more related to dynamic languages like JS or Rails/Python. How is this
different then what a back-end developer does?

Also: Help the UI/UX team to create visually attractive and highly usable web
interfaces

Shouldn't that be the sole purpose of a UI/UX team?

~~~
dawson
My turn! What is a web-designer?

~~~
peterchon
I don't know, I feel like that's a antiquated, almost a derogatory term used
by people who do not know any languages beyond HTML/CSS.

~~~
dsawler
But is a web designer a visual/graphic designer as well?

~~~
peterchon
I think it used to. Now I really don't know too many people who uses that
term.

------
elclanrs
I think the distinction between all these terms is becoming annoying and
unnecessary. A Web Developer or Web Engineer if you will, is the correct term
for either Fron-End or Back-end. What used to be the "web designer" is a
"UI/UX designer" nowadays which is fine I guess, but IMO a "web designer" that
doesn't know at least HTML and CSS is no longer useful in the industry today.
PSD2HTML is not the standard anymore.

Don't worry about the job description, if you think you're skilled for the job
just apply anyway and lie about the stuff you don't know but you think you can
learn. The problem with these job descriptions is that they're written by HR
people that just copy/paste keywords and call it a day. Just make sure to put
as many keywords as you can (in a smart fashion), because most of the entries
will be processed by a computer first before reaching an actual human, at
least on big companies.

~~~
peterchon
I disagree - I think as websites & web applications become more and more
complex, we NEED to distinguish the 3 separate discipline: design/client-
side/server-side.

------
mnicole
As a designer that writes HTML/CSS and a tiny bit of jQuery, I don't consider
myself a front-end developer because none of the job listings I see consider
me a front-end developer.

They ask for knowledge of JavaScript/Ruby/PHP/Drupal, etc. I've stopped
looking for jobs under the title "developer" because of how often it varies in
what skillsets they're actually looking for.

That being said, all of the designer jobs I find expect you to mock something
up in Photoshop and hand it over to someone to code. I personally hate having
other people code up my stuff because that means I have to do additional
interaction write-ups I can just code myself, so I don't really know where I
fit in.

------
debacle
Someone who specializes in HTML and CSS, with a bit of JavaScript (mostly
jQuery) and ActionScript thrown in, for the most part.

A senior-ish front-end developer will know at least a few templating languages
and possibly a bit more programming in addition to that.

------
codeonfire
I really don't understand how someone can be only a front end developer or a
back-end developer. Why would anyone want to learn just one thing when the
thing that is valuable is delivering actual applications. Who wants to have to
depend on someone else to accomplish anything and make a living?

To answer your question, a front-end or back-end developer is someone who
(erroneously) sees development as sort of blue collar labor like a plumber or
a electrician. A web designer is someone who decided they could just do all
the easy, fun stuff while getting to decide everything and prefers to work
with trade-type developers for the un-fun bits.

Object oriented scripting is important because without some sort of
organization of code, you end up with a huge mess of code and variables.
Without encapsulation you never know when and how it's safe to modify data or
what side effects it might have or what code is allowed to modify what data.

~~~
peterchon
Because we can't all be an architect AND a forman/plumber/electrician/roofer.
How can you be really good at something if you don't practice and learn it
constantly? I'm guessing you've mastered or actively learning
HTML/CSS/JS/PERL/PHP/Python/RUBY/Rails/.NET/JAVA/C/C++/MySQL/Casandra/Go/ActionScript/etc?
I mean, where do you stop?

Heck, even CSS has SASS/LESS/bootstrap/CSS3/browser-specific declaration and
don't even get me started on JS libraries.

And I don't understand your condescending tone of what a "web designer" does.
What makes that job any less important than a programmer?

~~~
codeonfire
Because web design is quite easy when put next to other jobs such as
programming.

~~~
hazz
I believe a cursory look at the majority of websites on the internet would
provide ample evidence to the contrary.

I certainly find web design very difficult, whilst programming is something I
am comfortable with. This may be more down to experience than anything else
though.

